Come modificare un valore di campo con un'azione Regole?


20

Sto cercando di impostare un'azione Regole che può modificare il valore di un campo. Ho creato un set di azioni con un tipo di dati di nodo. Quando vado a creare un'azione Regole, ho accesso a tutti i campi predefiniti del nodo Drupal, ma nessun campo.

Semplicemente non è possibile? Ho bisogno di qualche altro modulo per farlo funzionare?

Risposte:


15

Devi prima aggiungere una condizione per verificare se il campo esiste su quel nodo, solo allora è disponibile per le azioni. C'è una condizione specifica per farlo.


1
Inoltre deve essere un insieme di regole per avere accesso alle condizioni apparentemente.
Joren,

6

L'uso della condizione "Entity has field" (o "content is of type") renderà i campi disponibili con la selezione dei dati nell'azione "Imposta un valore dati".


2

Per non contraddire entrambe le risposte precedenti, ma all'IMO mancano entrambe (ignorando?) Una parte cruciale della domanda, che è " ... ho creato un set di azioni ... ". È vero, parte della soluzione è " Entity has field" (come nella risposta di jcarballo ). Tuttavia, in base alla progettazione di un set di azioni delle regole , non è possibile includere alcuna condizione delle regole in esso. Pertanto, una delle seguenti è necessaria per completare la risposta a questa domanda:

Tenendo presente quanto sopra, dovresti essere in grado di creare un'azione Regole come (ad esempio) "Imposta un valore dati" per il tuo campo, se aggiungi anche una condizione Regole Entity has field(correlata al campo per il quale desideri impostare un valore) . E assicurati di aggiungere quella Entity has fieldcondizione PRIMA di altre Condizioni delle Regole in cui potresti voler fare riferimento a questo campo (se ci sono tali condizioni nella tua regola).

Questo è anche ciò che viene menzionato nell'interfaccia utente delle regole, ad esempio quando si aggiunge una condizione di "confronto dei dati": da qualche parte si dice " Il selettore di dati consente di eseguire il drill-down dei dati disponibili per le regole. Per far apparire i campi entità nel selettore di dati , potrebbe essere necessario utilizzare la condizione "entità ha campo" (o "il contenuto è di tipo") ".

Per un'esercitazione video che illustra l'importanza di questa Entity has fieldcondizione, consultare Tipi di dati e selezione dei dati , in particolare ciò che viene mostrato tra le 13:30 e le 17:30.


Ri: quella seconda opzione, a quanto ho capito, è possibile utilizzare solo set di azioni , non set di regole , come azioni disponibili in Views Bulk Operations (VBO). Apparentemente ciò è dovuto al fatto che la vista dovrebbe assumersi l'onere di verificare che le entità da elaborare siano quelle legittime che l'utente desidera (sia utilizzando i filtri visualizzazioni [regolari e / o contestuali] sia selezionando le caselle di controllo solo delle entità desiderate da elaborare), quindi non dovrebbero essere necessarie condizioni. Ma questo mette effettivamente la chiave del salvadanaio all'interno del salvadanaio. Quindi le regole condizionali possono essere esattamente ciò che il medico ha ordinato.
Joel MMCC,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.