私は Smarty の経験がありません。作成されていないソフトウェアからファイルを変更しようとしています。コードがまったく含まれていないファイルにタグを.tpl
追加しただけで、その出力は空白ページのようです。最初にいくつかのコードがありましたが、空白のページを出力していたので、行を削除し始めましたが、タグ内に行がまったくありませんが、その動作をしています。ここで何が間違っていますか?{php} {/php}
.tpl
{php} {/php}
2 に答える
Smarty のどのバージョンを使用していますか? PHP タグは、3.1 の時点で廃止されました。下位互換性ラッパーでのみ使用できます。
http://www.smarty.net/docs/en/language.function.php.tpl
可能であれば、php を別のクラスまたはコントローラーに保持するのが最善です (そうすれば、他のテンプレートにもアクセスできます)。ただし、本当にページに含める必要がある場合は、次のように smartybc クラスを含めるだけです: http ://www.smarty.net/docs/en/bc.tpl
<?php
// instead of
require_once('path/to/smarty/libs/Smarty.class.php');
$smarty = new Smarty();
// use
require_once('path/to/smarty/libs/SmartyBC.class.php');
$smarty = new SmartyBC();
?>
また、PHP エラーを確認したい場合 (何か問題が発生したときに空白のページが表示されてデバッグが困難になるのは非常に面倒です)、config/config.inc.php に移動してデバッグ モードを有効にすることができます。次の行で、最初の行で 'off' を 'on' に変更し、2 番目の行で true に設定します
/* Debug only */
@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);
PHP と SQL のエラーが表示されます。
{php} タグはSmarty docsで非推奨として説明されているため、使用しないでください。コードを実行したい場合は、ここで説明されているように smarty 用のプラグインを準備してみてください。