问题
说我有
{php}
function hello(){
{/php}
<div class="hello">{$smarty.foreach.panellist.iteration}</div>
{php}
}
{/php}
然后在下面我打电话:
{foreach from=$channelObj->get_panellist_primary('','','pan_ptyid,pan_label1,pan_label2') item=panelObj name=panellist}
{php}hello(){/php}
{/foreach}
我收到此错误:
PHP Fatal error: Using $this when not in object context in /var/www.app1/theURL/otherthings/channel.tpl.php on line 197
为什么这不起作用?如何从函数内部访问此 foreach 的迭代,最好不传递参数?
更多细节
因为我知道你会告诉我{php}
它已被弃用......我使用它的原因是因为我被要求制作一个非常复杂的模板,所以我需要复杂的函数来构建它而不会变得一团糟,而且我'以前从未使用过smarty。我在最后期限,我已经迟到了,所以我无法学习 smarty 的正确方法。我知道如何管理此代码的唯一方法是使用常规 PHP,但我的老板坚持我用 smarty 完成整个事情......不允许使用 PHP 或 Javascript。
谢谢!