[英]dynamic variable array name in smarty
我想知道如何實現動態增量變量,這是我的php
<?php
$sections =5;
for($g=1; $g<=$sections; $g++){
$smarty->assign(array(
'products-'.$g => $dbvariable,
'add_display-'.$g => $othervar ));
}
$smarty->assign('number', $sections);
?>
這是我的聰明模板
{assign var=cnt value=1}
{while $cnt <= $number}
{foreach from=$products-`.$cnt` item=prod name=mysection}
<div class="section-{$cnt}">
// my output here
<h3>{$products-`$cnt`.name}</h3>
<img src="{$add_display-`$cnt`.src}">
</div>
{/foreach}
{assign var=cnt value=$cnt+1}
{/while}
誰能指導我如何在smarty上實現增量動態變量?
好像我迷路了
我不確定您開始使用此方法是否有原因,但這比起評論更容易理解為答案。
為什么不使用動態數組而不是動態變量名? 我認為這應該等於您想要的:
<?php
$sections =5;
$products = array();
$add_display = array();
for($g=1; $g<=$sections; $g++){
$products[$g] = $dbvariable;
$add_display[$g] = $othervar;
}
$smarty->assign('products', $products);
$smarty->assign('add_display', $add_display);
$smarty->assign('number', $sections);
然后(可能會進一步簡化,但是我將其保留為與您盡可能相似,以便您可以看到我的更改):
{assign var=cnt value=1}
{while $cnt <= $number}
{foreach from=$products[$cnt] item=prod name=mysection}
<div class="section-{$cnt}">
// my output here
<h3>{$prod.name}</h3>
<img src="{$add_display[$cnt].src}">
</div>
{/foreach}
{assign var=cnt value=$cnt+1}
{/while}
順便說一句, <h3>
看起來不太正確,所以我猜應該應該是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.