如何在smarty中获取foreach循环的最后一个索引值,我是smarty的新手,我已经使用了这段代码,但它不起作用{foreachfrom=$cityListkey=myIditem=iname=foo}{$i.location_name}{if$main_smarty.foreach.foo.last}{else}-{/if}{/foreach}我希望当他们是最后一个城市名称时,它是水平线,否则它就像印度-美国-日本-但最后它是日本-中国在.php中我使用assign('cityList',$cityList);?> 最佳答案
我正在使用Smarty,其中一个部分显示了文件名,包括日期、文件大小、上次访问等...如果小于1024,我想以K为单位显示文件的大小,如果小于1048576等,则以Mb为单位显示...数据(文件信息)来自数据库(名称、文件大小、日期等...)例如:FileMimeSizeDateFilename1.jpgmime/jpg14.1Kb2011/12/12Smarty中是否有任何修饰符可以做到这一点?谢谢 最佳答案 在插件目录中创建一个名为:modifier.filesize.php的文件然后添加这段代码:*Name:filesize*
我有一个名为$preview_data的数组分配给smarty模板,如下所示:Array([applicable_states]=>Array([0]=>1[1]=>3[2]=>4[3]=>10[4]=>11))现在我想在smarty模板的div元素中将上述数组元素显示为逗号分隔值。简而言之,它应该表现得像php中的implode()。有人可以帮助我在smarty模板中实现这一目标吗?提前致谢。 最佳答案 试试这个:{','|implode:$preview_data.applicable_states}它会给你你所期待的。干杯!!
在Smarty中,是否有一个标准的函数或一种简单的方法来从数组生成json,就像json_encode()在php中所做的那样?我在Smarty文档中看不到它,想在这里问问。 最佳答案 这应该有效。@使smarty对整个数组运行修饰符,否则它对每个元素都这样做。{$myarray|@json_encode}如果$escape_html已启用,您将需要使用nofilter:{$myarray|@json_encodenofilter} 关于php-如何用smarty生成json?,我们在S
我们有一个带有Smarty模板引擎的PHP脚本插件,它可以在带有{plugin_name}的模板文件中使用,但这需要确保它在每个模板文件中,问题是:isthereawaytoauto-loadthispluginwheneverthescriptsloads?脚本不是开源的,但是Smarty和它的文件(比如Smarty.class.php等)没有加密。编辑我需要做的就是在加载模板文件之前自动加载一个Smarty插件(它与数据库的交互很少),这是否可能/只能通过Smarty文件实现?(脚本本身是加密的,但Smarty_Compiler.class.php、Smarty.class.php
是否可以使用SmartyPHP将数字格式化为2位小数?谢谢。 最佳答案 string_format接受sprintf格式化选项:{$number|string_format:"%.2f"} 关于php-是否可以使用SmartyPHP将数字格式化为小数点后两位,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2409110/
如何为本地模板变量分配一个串联的字符串,如下所示:{$yes_src=const1.'yes'.const2}以{$yes_src}的方式在下面的代码中使用。顺便说一句,我正在寻找PHP开发人员的工作:) 最佳答案 你这样做的方式是调用assign的“短格式”,你只需要使用correctquotingmechanism:{$yes_src="`$const1`yes`$const2`"}使用赋值:{assignvar="yes_src"val="`$const1`yes`$const2`"}使用cat:{$const1|cat:"y
所以我在smarty中有一个赋值变量:{assignvar=numbervalue=0}现在我可以使用它来增加它{$number++}或{++$number}这正是我需要的,唯一的问题是,它会在页面上显示$number的值。有没有办法可以增加值但不显示它?这不在循环内使用,否则我会使用迭代或索引之类的东西。 最佳答案 你可以这样做:{assignvar=valvalue=1}{assignvar=valvalue=$val+1}{$val}//displays2以上将被编译为:$this->assign('val',1);$this