SugarCRM字段可见性取决于下拉字段值

时间:2015-04-03 10:31:28

标签: php sugarcrm

我需要根据自定义模块的编辑视图中下拉字段的选定值显示/隐藏某些字段。 SugarCRM CE版本是6.1.4。

我正在尝试:

$dictionary['<module name>']['fields']['<hidden field>']['dependency'] = 'equal($<trigger field>, "<trigger field value>")';

但它对我不起作用。欢迎提出任何建议。

提前致谢

2 个答案:

答案 0 :(得分:1)

我用javascript代码解决了它。 在modules / module /metadata/editviewdefs.php

    'templateMeta' => 
    array (
    ....
'includes'=> 
        array(
            array('file'=>'modules/<module>/ShowHidePanel.js'),
    ),
    'javascript' => '<script type="text/javascript" language="Javascript">showHidePanel();</script>',
...


    array (
            'name' => 'geometria',
            'studio' => 'visible',
            'label' => 'LBL_GEOMETRIA',
            'displayParams' =>
           array (
             'javascript' => 'onchange=showHidePanel();',
           ),
          ),

并创建了文件模块/ 模块 /ShowHidePanel.js

function showHidePanel() {
    if(document.getElementById('geometria').value == 'pletina') {
        document.getElementById('LBL_EDITVIEW_PANEL1').style.display = 'initial';
        document.getElementById('LBL_EDITVIEW_PANEL2').style.display = 'none';
        document.getElementById('LBL_EDITVIEW_PANEL3').style.display = 'none';
        document.getElementById('LBL_EDITVIEW_PANEL4').style.display = 'none';
        document.getElementById('LBL_EDITVIEW_PANEL5').style.display = 'none';
    }else if(document.getElementById('geometria').value == 'redondo') {
        document.getElementById('LBL_EDITVIEW_PANEL1').style.display = 'none';
        document.getElementById('LBL_EDITVIEW_PANEL2').style.display = 'initial';
        document.getElementById('LBL_EDITVIEW_PANEL3').style.display = 'none';
        document.getElementById('LBL_EDITVIEW_PANEL4').style.display = 'none';
        document.getElementById('LBL_EDITVIEW_PANEL5').style.display = 'none';
    }

}

答案 1 :(得分:0)

我不太确定CE版本支持使用SugarLogic - 只有Pro&amp;据我所知,企业做了。 除此之外,您的原始代码看起来很好!

对于将来的参考,以下是如何正确使用依赖项的示例: http://support.sugarcrm.com/02_Documentation/04_Sugar_Developer/Sugar_Developer_Guide_6.7/03_Module_Framework/Sugar_Logic/02_Using_Sugar_Logic_Directly/Creating_a_custom_dependency_using_metadata/

可用行动清单: https://support.sugarcrm.com/02_Documentation/04_Sugar_Developer/Sugar_Developer_Guide_6.7/03_Module_Framework/Sugar_Logic/01_Dependencies/