1

ルール2の開発に関するドキュメントは、(少なくとも私には)バージョン1よりもはるかに混乱しているようです。新しいルールアクションのユーザー提供モジュールをdrupal 7 /rules2に変換しようとしています。元の投稿はここにあります。 :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',
);

}

私の質問は、これはdrupal 7用に完全に書き直す必要があるのでしょうか、それともコードの迅速な変換を示すことができるのでしょうか?

4

1 に答える 1

0

あなたはかなりの数のことを変える必要があるでしょう...

これから始めましょう:

  • 'module'の名前を'group'に変更し、'Node'を変換された値(おそらくt('Content'))に変更します-ルールがノード関連のアクションに使用するものを確認します。

  • 'arguments'を'parameter'に変更します

  • eval入力を削除します。これはなくなりました。代わりに、これらのキーをタイプ'text'のパラメーターとして定義することをお勧めします。次に、ルールが自動的にフォームを作成し、フォームのコールバックを削除するだけです。

  • 必須ではありませんが、「名前付きパラメーター」をTRUEに設定することもできます。これにより、アクションコールバック関数へのキーとしてパラメーターを含む単一の配列が渡され、多くのパラメーターがある場合に簡単になります。

アクションコールバックも少し調整する必要があるかもしれません。action_info()フックを更新してから、どのルールがコールバックに渡されているかを確認してください。

于 2011-02-25T18:22:20.097 に答える