1

私は、ターゲットと多対多の関係にある、調査という名前のカスタム モジュールを作成しました。ターゲットにキャンペーン メールを送信する際に、アンケート名を挿入する必要があります。

現在、メールテンプレートの挿入変数ドロップダウンリストにカスタムモジュールを追加することからのガイドに従って、挿入変数に調査モジュールエンティティを入力することができましたが、問題は、調査名を決して解析せず、配信される電子メールに $survey_name を表示することです。

これを整理するためのヘルプ/ガイダンス。

4

1 に答える 1

0

そのフォーラムに回答を追加しました。sugarCrm EmailTemplate モジュールは基本的に、少数の Bean (Accounts、Contacts、Leads、Users、Prospects) を機能させるための大量のコードです。この手順で他の Bean と連携するいくつかのテンプレートを取得します。このコードは SugarCrm 6.0.2 に基づいています。フォーラムの class modules/Email.php の詳細:

1) Email.php に独自の Bean を作成させます。例:LOC510

if (... $_REQUEST['parent_type'] == 'Prospects' || TRUE)

2) 置換フィールドの配列を作成します。例: LOC521

  foreach($bean->field_defs as $key => $field_def) {
    $replace_fields ['$'.strtolower(get_class($bean).'_'.$field_def['name'])] 
    = $bean->$field_def['name'];
    //example of fieldnames: $bug_name, $bug_type, $case_date_created, $case_name, etc...
  }

3) HTML テンプレートのフィールドを置き換えます。例: LOC545

$this->description_html = str_replace(array_keys($replace_fields), $replace_fields, $this->description_html);

3) txt テンプレートのフィールドを置き換えます。例: LOC549

$this->description = str_replace(array_keys($replace_fields), $replace_fields, $this->description);
于 2013-04-28T23:37:42.160 に答える