HTML CODE:
<html><body> {section name=a loop=$items} {$items[a].title} {include file="/directory/showstuff.html" video=$items[a]} {/section} </body> </html>
PHP代码:
$ pid = '12';
$ items = $ cbvid-&gt; get_channel_items($ pid);
分配( '项目',$项目);
这完全正常,整数 12 是我的PHP代码。但是,我想添加整数 12 并从html代码中调用它,但它不起作用。
我试过了:
<html><body> {section name=a loop=$cbvid->get_channel_items(12)} {$items[a].title} {include file="/directory/showstuff.html" video=$items[a]} {/section} </body> </html>
但它没有用。我该怎么办?
答案 0 :(得分:2)
不要这样做。看起来如果您想将业务逻辑移动到表示层 - 这不是Smarty所使用的。事先准备好数据,然后将其交给模板。
但如果您真的想要它可以使用,请使用foreach
<html><body>
{foreach from=$cbvid->get_channel_items(12) item=video}
{$video.title}
{include file="/directory/showstuff.html" video=$video}
{/foreach}
</body> </html>
它不适用于部分的原因是因为您没有定义$items
变量,但是,您仍然试图获得它的价值。这是您需要使用assign
。
<html><body>
{assign var="items" value=$cbvid->get_channel_items(12)}
{section name=a loop=$items}
{$items[a].title}
{include file="/directory/showstuff.html" video=$items[a]}
{/section}
</body> </html>
不过,我更喜欢foreach
。