質問
私が持っていると言う
{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 は許可されていません。
ありがとう!