【发布时间】:2017-03-29 13:22:48
【问题描述】:
我正在尝试使用 Smarty 在编辑视图中自定义标签。
如果some_fieds 的值为1,则名为decription 的字段应具有带有货币符号的标签LBL_LABEL_ONE,否则为LBL_LABEL_TWO。
使用detailviewdefs.php 中的以下代码,我可以在视图详细信息中完成此操作:
array (
'name' => 'description',
'label' => '
{if $bean->some_field==1}
{$MOD.LBL_LABEL_ONE} {$CURRENCY}
{else}
{$MOD.LBL_LABEL_TWO}
{/if}',
),
注意some_field是当前模块的一个字段,$CURRENCY在view.detail.php中赋值,代码如下:
function preDisplay() {
parent::preDisplay();
$currency = new Currency();
$this->ss->assign('CURRENCY', $currency->getDefaultCurrencySymbol());
}
在editviewdefs.php 中使用相同的代码我有几个问题:
首先:获取 bean 的字段时出现以下致命错误:
致命错误:Smarty 错误:[in 缓存/模块/omn_fornitura_gas/EditView.tpl 第 506 行]:语法错误: 无效的属性名称:'$bean->some_field' (Smarty_Compiler.class.php,第 1536 行)在 C:\xampp\htdocs\sugar\include\Smarty\Smarty.class.php 在第 1095 行
第二:变量 $CURRENCY 似乎不正确:
{€' 模块='omn_fornitura_gas'}
而不是
€
【问题讨论】: