Как обновлять повторяющиеся правила даты?

Я бы хотел, чтобы пользователи могли обновлять повторяющиеся правила даты, используя VBO и Rule.

Например: пользователь хотел бы добавить правило повторяющейся даты «исключить дату = 01/01/2012» для всех выбранных узлов, где дата - это новое поле, добавленное к типу содержимого.

Как это сделать?

--- = --- = РЕДАКТИРОВАТЬ

Я уже создал базовое правило со следующим кодом:

{ "rules_change_end_date_for_selected_content" : {
    "LABEL" : "Change end date for selected content(s) (Test rule)",
    "PLUGIN" : "rule",
    "REQUIRES" : [ "rules" ],
    "USES VARIABLES" : {
      "node" : { "label" : "Content", "type" : "node" },
      "event_end_date" : { "label" : "Event End Date", "type" : "date" }
    },
    "IF" : [
      { "entity_has_field" : { "entity" : [ "node" ], "field" : "field_event_date" } },
      { "node_is_of_type" : { "node" : [ "node" ], "type" : { "value" : { "event" : "event" } } } }
    ],
    "DO" : [
      { "data_set" : {
          "data" : [ "node:field-event-date:0:value2" ],
          "value" : [ "event-end-date" ]
        }
      },
      { "entity_save" : { "data" : [ "node" ] } }
    ]
  }
}

Что я должен поставить вместо node:field-event-date:0:value2, чтобы изменить дату окончания правила даты (а не дату окончания даты). Я хотел бы изменить дату, пока этот узел не повторится, но я не могу видеть токены для правила повторения даты.

6 голосов | спросил Refineo 27 Maypm12 2012, 19:09:25

3 ответа


1

Это звучит так, как будто ему нужен специальный модуль. Однако вы пробовали модуль массового обновления ?, вы можете расширить его и адаптировать для дат, у меня нет примеров кода, так как это звучит довольно сложно.

ответил Andre 2 J0000006Europe/Moscow 2012, 06:05:17
1

Взгляните на модуль Date Repeat Entity . Функции модуля, см. Пункт 2 специально для ваших нужд:

  
  • Прикреплять уникальный контент к каждой дате в повторяющейся серии
  •   
  • Обновить текущий, будущий или все повторяющиеся даты
  •   
  • Удалить текущие, будущие или все повторяющиеся даты
  •   
  • Конфигурация на пучок (тип содержимого)
  •   
  • Предоставляет предупреждения, когда обновления могут влиять на ссылочный контент.
  •   
  • Включает крючки для дополнительного контроля над тем, что повторяется, и когда
  •   

Я лично только начал использовать этот модуль, это фантастика.

ответил cdmo 11 52016vEurope/Moscow11bEurope/MoscowFri, 11 Nov 2016 18:40:48 +0300 2016, 18:40:48
0

В вашем случае ключевой частью рабочего правила является Правила Действие для выполнения a Loop (чтобы заменить ваши первые действия для правил «Установить значение данных»). Если вы не знакомы с такими циклами, я настоятельно рекомендую посмотреть учебник под названием « Списки и циклы ".

В вашем случае вы должны использовать (по крайней мере) действие Правила для создания цикла, связанного с вашим полем node:field-event-date (as указанным в правиле, включенном в ваш вопрос). После этого вы должны перебрать каждый элемент в этом списке. И для каждой итерации вам необходимо выполнить действие «Действие» для «Установить значение данных для элемента списка, обрабатываемого в цикле», и установить это значение в параметр «Компонент правил» event_end_date.

Готово

PS: см. мой ответ на « Как установить несколько значений в неограниченное поле Term Refence с Правилами " для некоторых типовых правил, которые здесь похожи на вариант вашего вопроса.

ответил Pierre.Vriens 31 Jam1000000amWed, 31 Jan 2018 11:57:39 +030018 2018, 11:57:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132