web-dev-qa-db-ja.com

コアhistory_cronをオーバーライドする方法

ビューを使用してノードの閲覧履歴を表示したい。
このため、コアには履歴モジュールがありますが、 history_cron フックは1か月より古い履歴を削除します。
履歴が削除されないように、このフックをオーバーライドします。
私は何をすべきか?

3
pimstak

モジュールはDrupalを使用して、別のモジュールから定義されたフックを呼び出し、 hook_module_implements_alter() を実装できます。たとえば、history_ovverridesをマシン名として使用するモジュールは、そのフックの以下の実装。

_function history_overrides_module_implements_alter(&$implementations, $hook) {
  if ($hook == 'cron') {
    // Remove history_cron() from the list of the hook_cron() implementations.
    unset($implementations['history']);
  }
}
_

同じモジュールがhook_cron()を実装して、さまざまな基準に基づいて履歴モジュールデータを削除できます(たとえば、6か月後)。

3
kiamlaluno

ltimate Cron を使用すると、構成フォームを使用して実行しないようにすることができます。

[〜#〜] api [〜#〜] を見ると、コードで実行する場合に実装できるhook_cron_alterが追加されます。

3
No Sssweat