【发布时间】:2011-01-17 09:28:44
【问题描述】:
谁能告诉我如何在 smarty foreach 循环中使用动态变量。我正在尝试在 prestashop 中创建一个模块,并且非常接近完成它。 这是我的代码:
//file name index.php
foreach( $subCategories as $s )
{
$foo = intval($s['id_category']);
$k = new Category($foo);
$var1 = "subSubCategories.$foo";
$var1 = $k->getSubCategories(1);
$smarty->assign(array('foo'.$foo => $var1));
}
//file name:index.tpl
{assign var=foo value=$foo$cat}
//where $cat is a variable that counts the number of categories
{if isset($foo) AND $foo}
{foreach from=$foo item=subCategories name=homesubCategories}
<p>{$subCategories.name}</p>
{/foreach}
{else}
<p>{l s='test failed'}</p>
{/if}
我已经用尽了我所有的资源和知识,此刻感到很无助。所以请帮帮我。
我正在尝试根据子类别的数量创建动态变量('foo'.$foo 即foo1、foo2 等)。到目前为止,我认为我是成功的。现在转到 tpl 文件,这里我想使用 foreach 访问动态创建的变量(foo2、foo3 等)。现在,如果我这样做:{assign var=foo value=$foo3} 我成功地使用相同的 foreach 循环从该子类别中获取值。但是当我这样做时:{assign var=foo value=$foo$catx}($catx 存储类别 id 的值)它失败了。请帮忙。
【问题讨论】: