Как изменить значение поля с помощью правила действия?

20

Я пытаюсь настроить действие правила, которое может изменить значение поля. Я создал набор действий с типом данных Node. Когда я иду, чтобы создать действие правил, у меня есть доступ ко всем полям узла Drupal по умолчанию, но нет полей.

Это просто невозможно? Нужен ли какой-то другой модуль для этой работы?

Joren
источник

Ответы:

15

Сначала необходимо добавить условие, чтобы проверить, существует ли поле на этом узле, только затем оно доступно для действий. Для этого есть особое условие.

Berdir
источник
1
Также это должен быть набор правил, чтобы иметь доступ к условиям.
Джорен
6

Использование условия «Entity has field» (или «content is type») сделает поля доступными с выбором данных в действии «Установить значение данных».

jcarballo
источник
2

Не для того, чтобы противоречить обоим предыдущим ответам, но в IMO они оба упускают (игнорируя?) Важную часть вопроса, а именно: « ... Я создал набор действий ... ». Правда, часть решения, вполне уверен, " Entity has field" (как в ответе от jcarballo ). Но, разработав Набор правил , вы не можете включить в него никакое условие правил. Поэтому для ответа на этот вопрос необходимо одно из следующих:

Имея это в виду, вы должны иметь возможность создать действие правил, например (например) «Установить значение данных» для вашего поля, если вы также добавите условие правил Entity has field(связанное с полем, для которого вы хотите установить значение) , И обязательно добавьте это Entity has fieldусловие ДО других условий правил, в которых вы можете ссылаться на это поле (если у вас есть такие условия в вашем правиле).

Это также то, что упоминается в пользовательском интерфейсе правил, например, когда вы добавляете условие «сравнения данных»: где-то написано « Селектор данных помогает вам детализировать данные, доступные для правил. Чтобы поля сущностей появлялись в селекторе данных» вам, возможно, придется использовать условие «сущность имеет поле» (или «контент имеет тип») ».

Видеоруководство, иллюстрирующее важность этого Entity has fieldусловия, см. В разделе « Типы данных» и «Выбор данных» , особенно в том, что показано между 13:30 и 17:30.

Pierre.Vriens
источник
В отношении этого второго варианта, насколько я понимаю, вы можете использовать только наборы действий , а не наборы правил , в качестве доступных действий в представлении групповых операций (VBO). По-видимому, это связано с тем, что представление должно взять на себя бремя проверки того, что обрабатываемые объекты являются законными, которые хочет пользователь (как с помощью фильтров представлений [обычный и / или контекстный], так и путем установки флажков только нужных объектов). обрабатывать), поэтому условия не должны быть необходимы. Но это эффективно помещает ключ в копилку внутри копилки. Так что условные правила могут быть именно тем, что доктор прописал.
Джоэл MMCC