【发布时间】:2013-12-05 15:14:42
【问题描述】:
我正在 SugarCRM 社区版(6.5.16 版)上创建发票模块。
我想采用的技巧是根据名为“已发送”的复选框的值将字段设为只读。所以:如果发票已发送,用户将无法再编辑发票。
我知道可以通过将 type 设置为 readonly 来使 editviewdefs 中的字段只读:
0 =>
array (
'name' => 'invoicenumber',
'label' => 'LBL_INVOICENUMBER',
'type' => 'readonly',
),
但是,无论是否选中了“已发送”复选框,此字段现在都是只读的。
我尝试在 editviewdefs.php 中使用 PHP 编辑数组,但这导致总是关闭字段。如果 editviewdefs.php 为所有记录构建一次,这是有道理的。
有没有办法用 PHP 或 SugarCode(当然是 PHP)来做到这一点? 我想求助的最后手段是使用 javascript,但有点想避免它,因为这是非常重要的功能。一位用户不小心关闭了 javascript,最终可能会变得一团糟。
所以,如果您有任何问题,请提出。为了这个 OP,我包含了尽可能少的代码,但是如果您对代码有任何疑问,请随时提问!
非常感谢!
【问题讨论】:
-
我做到了。当 Stackoverflow 允许我(现在没有足够的声誉这样做)时会回答这个问题
标签: conditional readonly sugarcrm editview