2

次の通知を受け取りました。明確にしたいと思います。

Notice: Undefined offset: 0 in /homepages/40/d35550088/htdocs/smarty/templates_c/
ef666588706a0451c86287e631024054e2f40226.file.list.tpl.php on line 434 

Notice: Undefined offset: 1 in /homepages/40/d35550088/htdocs/smarty/templates_c/
ef666588706a0451c86287e631024054e2f40226.file.list.tpl.php on line 434 

Notice: Undefined offset: 2 in /homepages/40/d35550088/htdocs/smarty/templates_c/
ef666588706a0451c86287e631024054e2f40226.file.list.tpl.php on line 434  

Notice: Undefined offset: 9 in /homepages/40/d35550088/htdocs/smarty/templates_c/
ef666588706a0451c86287e631024054e2f40226.file.list.tpl.php on line 434 

コンパイルされた tpl のコード行は次のとおりです。

<?php if ($_smarty_tpl->tpl_vars['TablesLinked']->value[$_smarty_tpl->getVariable('smarty')->value['section']['i']['index']]){?>

これはコンパイルされていない行です。

{if $TablesLinked[i]}

上の 1 行でセクションが開始されます。

{section name=i loop=$NumberFields}

オフセットは間違ったインデックスを意味するため、開始インデックスを変更する必要がありますか? フィールドはリンクされたテーブルと通常のフィールドで構成されているため、TablesLinked はすべてのフィールドに表示されるわけではありません。そのため、if 句を使用します。

お役に立てれば幸いです。

4

1 に答える 1

1

開発段階で error_reporting を E_ALL に設定し、すべての通知を排除しようとすることは非常に良い方法ですが、個人的にはこれらのメッセージについて心配する必要はありません。ループ中に指定されたインデックスの要素が見つからないだけです。いずれにせよ、通知をなくすことを主張する場合は、変更できます

{if $TablesLinked[i]}

{if isset($TablesLinked[i]) && $TablesLinked[i]}
于 2012-12-27T21:34:24.120 に答える