Smarty 2变量尝试在同一个字符串中运行2时出错

时间:2013-06-29 13:03:00

标签: php smarty

我目前在我的数据库中有以下内容

tn_pic1

tn_pic2

它们为每个文件夹保留一个文件名,例如tn_X_wm.jpg

X =数字和jpg可能是gif,png,bmp

所以例如在tn_pic1中我可以有tn_1_wm.jpg但是在tn_pic2中我可以有tn_2_wm.png

在我的.tpl文件中,我目前有:

{if $item.pic_count > 0}
   {rand(1,$item.pic_count) assign="yourVar"}

   <img src="users/images/{$item.id}/{$item.tn_pic1}" width="100" height="100" class="smallpic" alt="" />
{/if}

我想在$ item.tn_pic1

中使用rand编号

我试过了 {$ item.tn_pic {$ yourVar}}但因为我有2 {}

而收到错误

所以我想要的是{$ item.tn_picX}

X是兰特数。

我是聪明的新人,并不确定如何对其进行排序。

$项。通过.php文件从数据库中提取

1 个答案:

答案 0 :(得分:1)

你必须创建你想要阅读的整个密钥,将其分配给变量,然后在没有额外的花括号的情况下访问它,例如:

{capture assign=pictureKey}tn_pic{rand(1,$item.pic_count)}{/capture}
<img src="users/images/{$item.id}/{$item[$pictureKey]}" width="100" height="100" class="smallpic" alt="" />