カスタムロジックの呼出

出典: SugarForum.jp

既存のモジュールに、追加のロジックを組み込みたい場合、ロジックフックを使うことができます。ロジックフックは、「before_save(データベースに保存する直前)」といった所定のタイミングで、既存ロジックに割り込みをかけます。

たとえば、日本語では入力文字の半角全角が問題になることがありますが、これはロジックフックを利用するとデータベースに保存される前に調整しておくことが可能です。


目次

フックを使うメリット

既存モジュールの挙動を変更するにあたって、直接モジュール内のファイルを書き換えても、バージョンアップすれば折角の変更が上書きされてしまいます。それに対して、フックはcustomフォルダ内に置くことになっているので、バージョンアップ後もそのまま使い続けることができます。


定義の場所

SugarRoot/custom/modules/@モジュール名/logic_hooks.php

フック可能なイベント

  • before_delete (after_delete) : 削除の前(後)
  • before_restore (after_restore) : レストアの前(後) ※レストアとはdeletedにマークされたレコードを復活することです。
  • after_retrieve : データベースから値を取得した後
  • before_save : 保存の前
  • after_ui_frame : SugarViewでサブパネルを表示する直前
  • after_ui_footer : SugarViewwでフッターが表示された直後 (show_footerオプションがfalseでも実行される)
  • server_round_trip :
  • before_logout (after_logout) : ログアウトの前(後)
  • after_login : ログインの後
  • login_failed : ログインが失敗した時
  • process_record :


関連するSugarのコード

  • data/SugarBean.php - SugarBeanクラス - call_custom_logicメソッド
  • include/utils/LogicHook.php - LogicHookクラス


ロジックフックの例


最終更新 03:03, 2008年5月13日 (火)。   このページは 4,479 回アクセスされました。