ルール2に新しい条件を追加するにはどうすればよいですか?

私は新しいルールの条件を働かせることができません。

私はincludes/MYMODULE.rules.incに以下の(シンプルな)コードを書いて、何も条件リストに現れません。

/**
 * Implementation of hook_rules_condition_info().
 */
function MYMODULE_rules_condition_info() {
    return array(
        'MYMODULE_rules_condition_MYCONDITION' => array(
            'label' => t('My label'),
            'group' => 'My very own group',
        )
    );
}

/**
 * Condition
 */
function MYMODULE_rules_condition_MYCONDITION() {
   //logic
    return TRUE;
}

私はすでにDrupalキャッシュをフラッシュしようとしています(ルールはキャッシュシステムを使用しているようです)。

ベストアンサー

Custom Rules condition:

/**
 * Implements of hook_rules_condition_info().
 */
function your_module_rules_condition_info() {
  return array(
    'your_module_condition_package_type' => array(
      'label' => t('Type of the package'),
      'arguments' => array(
        'package_id' => array('type' => 'value', 'label' => t('The type of the purchased package.')),
        'package_type' => array('type' => 'string', 'label' => t('The type of the purchased package is')),
      ),
      'module' => 'your_module',
      'group' => 'My very own group',
    ),
  );
}
/**
 * Condition packages_condition_packagetype
 */
function your_module_condition_package_type($pid, $type) {
  $package = package_load($pid);
  return ($package->type == $type) ? true : false;
}

See more in Rules
examples

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です