0

私は Sugarcrm にまったく慣れていないので、ばかげた質問をしていたら申し訳ありません。

私は2つのモジュールを構築しました:

  • モジュールの注文
  • ストーンモジュール

http://postimg.org/image/6qabtru3t/

両者の関係は、One To Many (One Order to Many Stones) です。したがって、オーダーの各レコードには、石のサブパネルがあります (添付の写真で確認できます)。A field from order をサブパネルのフィールドのすべての変更と同期させたい (赤丸で囲まれているのがわかります) - 親の価格フィールドは、サブパネルのすべての同じフィールドの合計である必要があります。

そこで、次のようなロジック フックを使用しようとしました。

$hook_array['after_relationship_add'] = Array();
$hook_array['after_relationship_add'][] = Array(1, 'after_relationship_add_hook', 'custom/modules/abc_Module_Order/HookHandler.php','class_after_relationship_add_hook', 'func_after_relationship_add_hook');

しかし、どこにも行かないようです。私は何をすべきか?Ajax を使用しますか? その他の方法 ロジックフックを行うには?

助けていただければ幸いです、ありがとう..

4

1 に答える 1

1

あなたは正しい道を進んでいます。また、石が注文から削除されたときに after_relationship_delete を処理するようにしてください。

簡単にするために、ロジックフックを次のように再定義します: custom/modules/abc_Module_Order/logic_hooks.php

$hook_array['after_relationship_add'] = Array();
$hook_array['after_relationship_add'][] = Array(1, 'update_order_addition', 'custom/modules/abc_Module_Order/HookHandler.php','HookHandler', 'update_order_additional');
$hook_array['after_relationship_delete'] = Array();
$hook_array['after_relationship_delete'][] = Array(1, 'update_order_removal', 'custom/modules/abc_Module_Order/HookHandler.php','HookHandler', 'update_order_removal');

次に、custom/modules/abc_Module_Order/HookHandler.php ファイルで、石の価格を取得して注文を適切に更新する update_order_addition および update_order_removal 関数を定義します。

于 2013-04-30T14:30:13.607 に答える