让 initial_filter 与子面板的 Select 按钮一起工作
Getting initial_filter to work with subpanel's Select button
在 Suitecrm 中有一个子面板,当单击 'Select' 我希望它只显示一组特定的记录。
我有一个看起来像这样的子面板定义文件,并在 "initial_filter" 部分尝试了所有可能的变化,但是当弹出窗口出现时,它显示了所有记录
$layout_defs["un_inventory"]["subpanel_setup"]['un_inventory_leads_1'] = array (
'order' => 0,
'module' => 'Leads',
'subpanel_name' => 'default',
'sort_order' => 'asc',
'sort_by' => 'id',
'title_key' => 'LBL_UN_INVENTORY_LEADS_1_FROM_LEADS_TITLE',
//'get_subpanel_data' => 'un_inventory_leads_1',
'get_subpanel_data' => 'function:get_parent_leads',
'function_parameters' =>
array('import_function_file' => 'custom/modules/Leads/func/get_parent_leads_file.php',),
'top_buttons' =>
array (
0 =>
array (
'widget_class' => 'SubPanelTopButtonQuickCreate',
),
1 =>
array (
//'widget_class' => 'SubPanelTopSelectButton',
'widget_class' => 'SubPanelTopSelectButtonParentProjectLeads',
'mode' => 'MultiSelect',
// 'initial_filter_fields' => "&first_name_advanced=hello",
// 'initial_filter' => array('parent_project_id_c_advanced' => array('83b30b20-83a6-8099-b3b9-5d4a491888e6')),
// 'initial_filter' => array('parent_project_id_c_advanced' => '83b30b20-83a6-8099-b3b9-5d4a491888e6'),
// 'initial_filter' => array('account_type_advanced' => array('Student')),
// 'initial_filter' => '&parent_project_id_c=83b30b20-83a6-8099-b3b9-5d4a491888e6',
),
),
);
有很多例子说明如何在 editview 中为 'relate' 字段完成此操作,但对于上面的子面板则没有那么多,我很确定很多人会发现这很有价值。
解决方案可能也适用于 sugarcrm CE
解决方案是覆盖默认的 TopButtonSelect class 并硬编码 $initial_filter 变量。
所以如果我们像这样硬编码值
$initial_filter.='&parent_project_id_c_advanced='.urlencode("83b30b20-83a6-8099-b3b9-5d4a491888e6");
它只会显示 parent_project_id_c 字段值为 83b30b20-83a6-8099-b3b9-5d4a491888e6
的记录
希望对您有所帮助
来源:http://qc-digital.com/filter-values-shown-when-we-click-on-select-button-inside-a-subpanel/
在 Suitecrm 中有一个子面板,当单击 'Select' 我希望它只显示一组特定的记录。
我有一个看起来像这样的子面板定义文件,并在 "initial_filter" 部分尝试了所有可能的变化,但是当弹出窗口出现时,它显示了所有记录
$layout_defs["un_inventory"]["subpanel_setup"]['un_inventory_leads_1'] = array (
'order' => 0,
'module' => 'Leads',
'subpanel_name' => 'default',
'sort_order' => 'asc',
'sort_by' => 'id',
'title_key' => 'LBL_UN_INVENTORY_LEADS_1_FROM_LEADS_TITLE',
//'get_subpanel_data' => 'un_inventory_leads_1',
'get_subpanel_data' => 'function:get_parent_leads',
'function_parameters' =>
array('import_function_file' => 'custom/modules/Leads/func/get_parent_leads_file.php',),
'top_buttons' =>
array (
0 =>
array (
'widget_class' => 'SubPanelTopButtonQuickCreate',
),
1 =>
array (
//'widget_class' => 'SubPanelTopSelectButton',
'widget_class' => 'SubPanelTopSelectButtonParentProjectLeads',
'mode' => 'MultiSelect',
// 'initial_filter_fields' => "&first_name_advanced=hello",
// 'initial_filter' => array('parent_project_id_c_advanced' => array('83b30b20-83a6-8099-b3b9-5d4a491888e6')),
// 'initial_filter' => array('parent_project_id_c_advanced' => '83b30b20-83a6-8099-b3b9-5d4a491888e6'),
// 'initial_filter' => array('account_type_advanced' => array('Student')),
// 'initial_filter' => '&parent_project_id_c=83b30b20-83a6-8099-b3b9-5d4a491888e6',
),
),
);
有很多例子说明如何在 editview 中为 'relate' 字段完成此操作,但对于上面的子面板则没有那么多,我很确定很多人会发现这很有价值。
解决方案可能也适用于 sugarcrm CE
解决方案是覆盖默认的 TopButtonSelect class 并硬编码 $initial_filter 变量。
所以如果我们像这样硬编码值
$initial_filter.='&parent_project_id_c_advanced='.urlencode("83b30b20-83a6-8099-b3b9-5d4a491888e6");
它只会显示 parent_project_id_c 字段值为 83b30b20-83a6-8099-b3b9-5d4a491888e6
的记录希望对您有所帮助
来源:http://qc-digital.com/filter-values-shown-when-we-click-on-select-button-inside-a-subpanel/