预填充父模块数据并将模块数据关联到 quickcreate SugarCRM 6 上的子模块。5.x
prepopulate parent module data and relate module data to the child module on quickcreate SugarCRM 6.5.x
我有3个模块,假设模块A,B是两个父模块,C是A和B中的子模块(连接)。
当从 A 的 Deatil 视图快速创建 C 时,在相关模块 B 的 select 上,需要将 B 模块数据填充到 C 的某个其他字段。并且需要将 A 的一些数据传递到 C 的某个字段
(在 A 的详细视图中,C 是子面板,在 C 中是与 B 相关的字段)。希望我清楚
我正在使用 suagrcrm 6。5.x
谁能帮我解决这个问题..
如果我没猜错,也许这会有所帮助:
在 "modules/YOURMODULE/views.view.subpanelquickcreate.php" 中编写视图并执行如下操作:
require_once('include/EditView/SubpanelQuickCreate.php');
class YOURMODULESubpanelQuickCreate extends SubpanelQuickCreate
{
function process($module)
{
if ($_REQUEST['target_action'] == 'QuickCreate') {
$this->ev->view = 'QuickCreate';
}
$form_name = 'form_Subpanel' . $this->ev->view . '_' . $module;
$this->ev->formName = $form_name;
if ($_REQUEST['return_module'] === 'MODULE_A' && isset($_REQUEST['MODULE_A_id'])) {
$this->prefill($_REQUEST['MODULE_A_id']);
}
$this->ev->process(true, $form_name);
echo $this->ev->display(false, true);
}
function prefill($id)
{
$modA = new ModA();
$modA->retrieve($id);
$this->ev->focus->modA_id = $modA->id;
$this->ev->focus->modA_name = $modA->name;
$this->ev->focus->company_name = ...
}
}
就像这样,当您在子面板中单击创建时,您会使用当前模块详细信息视图中的值预填充 YOURMODULE。
我有3个模块,假设模块A,B是两个父模块,C是A和B中的子模块(连接)。 当从 A 的 Deatil 视图快速创建 C 时,在相关模块 B 的 select 上,需要将 B 模块数据填充到 C 的某个其他字段。并且需要将 A 的一些数据传递到 C 的某个字段 (在 A 的详细视图中,C 是子面板,在 C 中是与 B 相关的字段)。希望我清楚
我正在使用 suagrcrm 6。5.x
谁能帮我解决这个问题..
如果我没猜错,也许这会有所帮助:
在 "modules/YOURMODULE/views.view.subpanelquickcreate.php" 中编写视图并执行如下操作:
require_once('include/EditView/SubpanelQuickCreate.php');
class YOURMODULESubpanelQuickCreate extends SubpanelQuickCreate
{
function process($module)
{
if ($_REQUEST['target_action'] == 'QuickCreate') {
$this->ev->view = 'QuickCreate';
}
$form_name = 'form_Subpanel' . $this->ev->view . '_' . $module;
$this->ev->formName = $form_name;
if ($_REQUEST['return_module'] === 'MODULE_A' && isset($_REQUEST['MODULE_A_id'])) {
$this->prefill($_REQUEST['MODULE_A_id']);
}
$this->ev->process(true, $form_name);
echo $this->ev->display(false, true);
}
function prefill($id)
{
$modA = new ModA();
$modA->retrieve($id);
$this->ev->focus->modA_id = $modA->id;
$this->ev->focus->modA_name = $modA->name;
$this->ev->focus->company_name = ...
}
}
就像这样,当您在子面板中单击创建时,您会使用当前模块详细信息视图中的值预填充 YOURMODULE。