Robert Lausegger ( iscon group ) による記述があり、他のモジュールのサブパネルにプロスペクト リストを表示できるようにしました。しかし、SugarCRM 6.3 以降、これは機能しなくなりました。
これを修正する方法は?
Robert Lausegger ( iscon group ) による記述があり、他のモジュールのサブパネルにプロスペクト リストを表示できるようにしました。しかし、SugarCRM 6.3 以降、これは機能しなくなりました。
これを修正する方法は?
上記のリンクで参照されているサイトはドイツ語であったため、そのサイトの作成者であるドイツの iscon グループ (www.iscongroup.net) の Robert Laussegger の厚意により、この方法の英語版を以下に示します。これを CentOS 6.4 ベースの LAMP スタックで実行されている SugarCRM CE v 6.5 で使用したところ、問題なく動作しました。必要に応じてインストールに合わせて調整してください。
この例では、ターゲット リスト (SugarCRM では内部的に見込み客リストと呼ばれます) を Contact DetailView に追加する方法を示しています。リードの設定を調整する...
表示されているディレクトリが存在しない場合は、スペルだけでなく大文字と小文字も一致するように注意して作成してください。3 つの別個のディレクトリに 3 つのファイルを追加します。
サーバーが作成されたファイルにアクセスできるように、ファイルのアクセス許可と所有者/グループを設定することを忘れないでください。
ファイルの追加とアクセス許可の設定が完了したら、CRM 管理者として次のコマンドを実行します: 管理者 -> 修復 -> リレーションシップの再構築 (キャッシュをフラッシュするため) 管理者 -> 修復 -> クイック修復と再構築
示されているディレクトリに次のファイルを作成します。
/var/www/html//custom/Extension/modules/Contacts/Ext/Language - ファイル en_us.prospectlist_in_contacts_language.php を作成し、そのファイルに入れます (ファイル名の「prospectlist_in_contacts_language」の部分は、接頭辞「en_us.」(米国英語)と接尾辞「.php」を使用しているため)
<?php
$mod_strings['LBL_PROSPECTLISTS_CONTACTS_FROM_PROSPECTLISTS_TITLE'] = 'Target Lists';
?>
/var/www/html//custom/Extension/modules/Contacts/Ext/Layoutdefs で、prospectlist_in_contacts_layoutdef.php ファイルを作成し、そのファイルに put (ファイル名の「prospectlist_in_contacts_layoutdef」の部分は、サフィックス「.php」)
<?php
$layout_defs["Contacts"]["subpanel_setup"]["prospect_list_contacts"] = array (
'order' => 100,
'module' => 'ProspectLists',
'subpanel_name' => 'default',
'sort_order' => 'asc',
'sort_by' => 'id',
'title_key' => 'LBL_PROSPECTLISTS_CONTACTS_FROM_PROSPECTLISTS_TITLE',
'get_subpanel_data' => 'prospect_list_contacts',
'top_buttons' =>
array (
0 =>
array (
'widget_class' => 'SubPanelTopButtonQuickCreate',
),
1 =>
array (
'widget_class' => 'SubPanelTopSelectButton',
'mode' => 'MultiSelect',
),
),
);
?>
/var/www/html//custom/Extension/modules/Contacts/Ext/Vardefs で、prospectlist_in_contacts_vardef.php ファイルを作成し、そのファイルに put (ファイル名の「prospectlist_in_contacts_vardef」の部分は、サフィックス「.php」)
<?php
$dictionary["Contact"]["fields"]["prospect_list_contacts"] = array (
'name' => 'prospect_list_contacts',
'type' => 'link',
'relationship' => 'prospect_list_contacts',
'source' => 'non-db',
'vname' => 'LBL_PROSPECTLISTS_CONTACTS_FROM_PROSPECTLISTS_TITLE',
);
$dictionary["Contact"]["fields"]["prospect_list_name"] = array (
'name' => 'prospect_list_name',
'rname' => 'name',
'id_name' => 'prospect_list_id',
'vname' => 'LBL_PROSPECTLISTS_CONTACTS_FROM_PROSPECTLISTS_TITLE',
'type' => 'relate',
'link' => 'prospect_lists',
'table' => 'prospect_lists',
'isnull' => 'true',
'module' => 'ProspectLists',
'dbType' => 'char',
'len' => '255',
'source' => 'non-db',
);
?>
所有者/権限をリセット
CRM 管理者として実行します。管理者 -> 修復 -> リレーションシップの再構築 (キャッシュをフラッシュするため) 管理者 -> 修復 -> クイック修復と再構築
次のvardefs
ように変更する必要があります。
$dictionary["Lead"]["fields"]["prospect_lists"] = array(
'name' => 'prospect_lists',
そしてそのlayoutdefs
'get_subpanel_data' => 'prospect_lists',
これで問題は解決します。