Преобразование модуля правил drupal 6 в drupal 7

Документация по разработке правил 2 кажется (по крайней мере мне) намного более запутанной, чем версия 1. Я пытаюсь получить пользовательский модуль для нового действия правил, преобразованного в drupal 7/rules 2. Исходный пост можно найти здесь. : http://drupal.org/node/675010#comment-4135238

Вот фактическая часть информации о действии, так как похоже, что drupal.org сейчас недоступен.

function paction_rules_action_info() {
return array(
  'paction_mail_node' => array(
    'label' => t('Send node as HTML formated email'),
    'arguments' => array(
      'node' => array('type' => 'node', 'label' => t('Content')),
    ),
    'eval input' => array('to', 'from', 'subject', 'message'),
  ),
  'module' => 'Node',
);

}

У меня такой вопрос, это нужно полностью переписывать для друпала 7 или может кто-нибудь показать быструю конвертацию кода?


person websiteguru    schedule 24.02.2011    source источник


Ответы (1)


Вам нужно будет изменить довольно много вещей ...

Начните с этого:

  • Переименуйте «модуль» в «группу» и измените «Узел» на переведенное значение, возможно, t («Содержимое») — посмотрите, что Правила используют для действий, связанных с узлом.

  • Изменить «аргументы» на «параметр»

  • Отбросьте ввод eval, этого больше нет. Вместо этого вы, вероятно, захотите определить эти ключи как параметры типа «текст». Затем правила автоматически создадут форму для вас, и вы сможете просто удалить обратный вызов формы.

  • Не обязательно, но вы можете также установить для «именованного параметра» значение TRUE. Это передает один массив с параметрами в качестве ключей к вашей функции обратного вызова действия, что упрощает работу, когда у вас много параметров.

Возможно, вам также придется немного адаптировать обратный вызов действия. Просто обновите хук action_info(), а затем посмотрите, какие правила передаются вашему обратному вызову.

person Berdir    schedule 25.02.2011