如何为弹出视图进行自定义查询,我如上所述在ViewList中进行了更改,但它不会影响弹出视图列表中的列表。
我的要求是从发票模块打开时传递产品类型。
在发票中,我们有一个产品线和服务线,从产品模块,我按类型区分产品,同时添加新产品作为“商品”或“服务”。
现在我创建了2个自定义文件view.list.php和view.popup.php。
但是不明白如何将view.popup.php中的type标志传递给view.list.php
如果有人建议我在关联从服务线调用的弹出窗口和从产品线调用的弹出窗口时如何过滤产品数据,那将会很棒。
谢谢
您需要更改列表查询并相应地添加条件。
以下是为了扩展LlistView查询而需要遵循的步骤:
第1步:创建或编辑custom/modules/Opportunities/views/view.list.php
并添加以下代码,
processSearchForm();
if(!$current_user->is_admin) // remove this condition if you dont want admin user to view the “Closed Lost” Opportunities.
$this->params[‘custom_where’] = ‘ AND opportunities.sales_stage <> “Closed Lost” ‘;
if (empty($_REQUEST[‘search_form_only’]) || $_REQUEST[‘search_form_only’] == false) {
$this->lv->setup($this->seed, ‘include/ListView/ListViewGeneric.tpl’, $this->where, $this->params);
$savedSearchName = empty($_REQUEST[‘saved_search_select_name’]) ? ” : (‘ – ‘ . $_REQUEST[‘saved_search_select_name’]);
echo $this->lv->display();
}
}
}
第2步:刷新列表视图!
您将在查询中看到的可能自定义项是:
这是我们为使其升级安全而必须做的事情:
$html .= '<script src="modules/AOS_Products_Quotes/line_items.js"></script>';
要调用自定义Line_Items.php,您必须在AOS_Quotes / Ext / Vardefs / vardefs.ext.php上执行此更改:
$dictionary['AOS_Quotes']['fields']['line_items']=array(
'required' => false,
'name' => 'line_items',
'vname' => 'LBL_LINE_ITEMS',
'type' => 'function',
'source' => 'non-db',
'massupdate' => 0,
'importable' => 'false',
'duplicate_merge' => 'disabled',
'duplicate_merge_dom_value' => 0,
'audited' => false,
'reportable' => false,
'inline_edit' => false,
'function' =>
array(
'name' => 'lx_display_lines',
'returns' => 'html',
'include' => 'custom/modules/AOS_Products_Quotes/Line_Items.php'
),
);
确保根据您的需要编辑自定义line_items.js以进行过滤。寻找具有sqs_objects
属性的condition
,你可以在其中过滤掉东西,留下硬编码/默认值或(我们做什么)从另一个JS调用中获取它,如window.getCurrenUserSettings
sqs_objects["product_name[" + prodln + "]"] = {