在quickCRate SugarCRM 6.5.x上预填充父模块数据并将模块数据与子模块相关联

时间:2015-05-08 18:14:21

标签: sugarcrm

我有3个模块,假设模块A,B是两个父模块,C是A和B中的子模块(结点)。 当从A的Deatil视图快速创建C时,在选择关联模块B时,需要将B模块数据填充到C的某个其他字段并且需要将A的一些数据传递给C的某个字段。 (在A的详细视图中,C是子面板,在C中是与B的关联字段)。希望我很清楚

我正在使用suagrcrm 6.5.x

任何人都可以帮助我..

1 个答案:

答案 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。