删除SugarCRM中带有条件的detailview中的按钮

删除SugarCRM中带有条件的detailview中的按钮,sugarcrm,Sugarcrm,我的代码: $GLOBALS['listbutton'] = $this->dv->defs['templateMeta']['form']['buttons']; if ($this->bean->status == 'Converted') { unset($this->dv->defs['templateMeta']['form']['buttons'][0]); } parent::display

我的代码:

$GLOBALS['listbutton'] = $this->dv->defs['templateMeta']['form']['buttons'];        
    if ($this->bean->status == 'Converted') {
        unset($this->dv->defs['templateMeta']['form']['buttons'][0]);
    }
    parent::display();

    $GLOBALS['log']->debug("INFOdation log Display");        
    $this->dv->defs['templateMeta']['form']['buttons'] = $GLOBALS['listbutton'];

但是当status=='New'时,编辑按钮仍然隐藏。你能帮我吗。我只想在状态为“已转换”时隐藏编辑按钮,其他状态必须显示。

您可以使用Javascript隐藏按钮

在detailviewdefs.php中包含您的脚本

'includes' => 
 array (
  0 => 
  array (
    'file' => 'custom/modules/Leads/button_hide.js',
  ),
 ),
比如:

SUGAR.util.doWhen("typeof $ != 'undefined'", function(){
    if($(#status).val() == "Converted")$('#delete_button').parent().hide(); 
});
(如果启用了ajax,则SUGAR.util.doWhen是SugarCrm onload)

如果字段状态不在视图中,则需要在detailviewdefs.php中添加一个隐藏字段,并使用smarty代码设置值,如:

<input type="hidden" id="status" value="{$fields.status.value}">

如果删除
unset
零件,是否可以看到编辑按钮?