我现在正在学习聪明。我发现它真的很棒。但我遇到了一个错误,我不知道如何解决这个问题。因为我有一个用PHP编写的代码,我将其转换为智能模板。
我有一个if语句,但在验证数据时出现错误
Fatal error: Smarty error: [in addons/maptool/views/maps/update.tpl line 59]: syntax error: unrecognized tag: if(!$locations.updated_lat ? $locations.updated_lat : $locations.geo_alt) (Smarty_Compiler.class.php, line 445)
我的目标是简单地验证变量是否为空或不等于0.我做的是:
<div class="map_canvas" align="center" id="map_canvas_{$locations.company_id}" style="width: 800px; height: 300px; margin: 10px; border-style: solid; border-color: #0a9ccc" data-company-city="" data-company_id="{$locations.company_id}" data-label="{$locations.company}" data-lat="{if(!$locations.updated_lat ? $locations.updated_lat : $locations.geo_alt)}" data-long=" {if(!$locations.updated_long ? $locations.updated_long : $locations.geo_long)}"></div>
这是smarty if声明的一部分:
{if(!$locations.updated_lat ? $locations.updated_lat : $locations.geo_alt)}
我的数据没有问题但是if语句是错误的。好的,谢谢。
答案 0 :(得分:1)
您可以使用|default
修饰符来测试变量是否已定义,您可能需要编写自己的变量来测试是否为空。
{if $locations.updated_lat|default:$locations.geo_alt}
答案 1 :(得分:0)
您可以使用以下代码进行检查
{if "" != $var)
对变量的检查不是空或空