そのフォーラムに回答を追加しました。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);