我有3个模块,假设模块A,B是两个父模块,C是A和B中的子模块(结点)。 当从A的Deatil视图快速创建C时,在选择关联模块B时,需要将B模块数据填充到C的某个其他字段并且需要将A的一些数据传递给C的某个字段。 (在A的详细视图中,C是子面板,在C中是与B的关联字段)。希望我很清楚
我正在使用suagrcrm 6.5.x
任何人都可以帮助我..
答案 0 :(得分:1)
如果我找对你,也许这会有所帮助:
在" 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。