問題タブ [smarty3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Smarty 変数、値としての JavaScript 関数の割り当てが機能しない (v2 から v3 へのアップグレード)
smarty 2.xで動作する次のコードがあります
しかし、smarty v3 はエラーをスローします:
どうすればこれを修正できますか?
ありがとう!
php - smarty の動的配列キー
smarty を介してインデックスを生成した SMARTY の配列にアクセスする方法を知りたいだけです。後でアクセスしたい。
このようなものを手に入れました:
そして私はアクセスするのが好きです$smarty.get.(dynamic generated index)
いくつかのバリエーションを試しましたが、うまくいきませんでした。
php - Smarty 3、Code Igniter 2、およびHMVCをsmartyの継承と一緒に使用しますか?
私はCodeIgniter、HMVCライブラリ、Smartyをこのライブラリで使用しています。
Smartyはデフォルトで正常に動作していますが、smartyの継承機能({extends file="master.tpl"}
)を使用しようとすると、問題が発生します。
拡張機能は、モジュールビューフォルダで拡張ファイルを検索しません(上記の場合master.tpl
)。代わりに、application/views/
フォルダを検索し、見つからない場合はエラーをスローします。
smarty構成ファイルAPPPATH."modules/smartytest/views"
のアレイに追加できます。$config['template_directory']
ただし、最初にファイルをチェックする配列内の各項目に対してエラーがスローされます。filemtime(): stat failed for application/views/master.tpl
これには、3つのモジュールがあり、すべての配列があり、モジュールがすべてmaster.tplである場合、どのモジュールから拡張を呼び出しても、最初に見つかったモジュールが読み込まれるという追加の問題があります。
では、smartyのextend関数をHMVCモジュールでうまく動作させる方法はありますか?
smarty - 賢く if ステートメントを短くする
次のようなスマートな if ステートメントがあります。
テンプレートで同じステートメントを何度か比較する必要があります。そして、このステートメントを数回繰り返すのは本当に面倒です。ステートメントをキャッシュして何度も再利用できることはわかっていますが、次のようなことができるかどうかを調べていました。
PHP のように、次のことができます。
テンプレートのphpコードにアクセスできないため、smartyしか使用できないことに注意してください。どんな提案でも大歓迎です。
乾杯。
smarty - ファイル属性なしでSmarty{include}に安全ですか?
たとえば、{include 'path/to/template.tpl'}
?
上記のフォーマットのドキュメントには言及されていませんが、次のように機能するようです。
これは癖ですか、それとも設計によるものですか?追加の変数を渡さない場合は、よりきちんとした構文を使用しますが、受け入れられる形式(バージョン3.0.7)であることを確認したいと思います。
php - Smartyポストフィルター/プレフィルター出力前にテンプレートに適用する方法
ポスト/プレフィルターをsmartyで使用する方法についてはかなり混乱しています。
私がする必要があるのは、ページが表示される前に、ページ内の特定の要素を検索して置き換えることです。$smarty->displayが呼び出される直前にこれを実行したいと思います。つまり、ディスクに保存される前ですが、コンパイルされた後(つまり、postfilter)です。
ポストフィルター関数の例:
スマート出力の直前にこれを適用するにはどうすればよいですか。Smartyのドキュメント(http://www.smarty.net/docsv2/de/advanced.features.postfilters.tpl)と他のいくつかの例を確認した後、試しましたが、どれも機能していないようです。
誰かがこれを行う方法と、パラメーターをフィルター($ search、$ replace)に渡す方法に関するサンプルコードを教えてもらえますか?
ありがとう
smarty - Smarty がすべてのテンプレート変数を自動的にエスケープし、キャプチャを無視する方法
すべてのテンプレート変数を自動的にエスケープしたい、つまり、|escape
常に記述しなくてもエスケープできるようにしたい。$escape_html
したがって、オプションを有効にしました。
ただし、Smarty は、{capture}
信頼できる入力と見なすことができるにもかかわらず、同じ方法で作成された変数を扱うようです。私たちのコードベースにはそれらがたくさんあり、nofilter
どこにでも書かなければならないことは、書く必要があるのと同じくらい面倒|escape
です。
確かにこれには解決策があるはずですか?または、$escape_html
とは{capture}
互換性がありませんか?
smarty - if の中に常に isset が必要ですか?
設定されていなくても、以下は許容$my_flag
されますか?
通知がスローされないようにする必要がありisset
ますか、それとも Smarty3 が処理しますか?
php - Smarty if ステートメント
初めて smarty を使用するので、悪気をつけないでください。誰かがこの問題で私を助けてくれることを願っています。page.tpl に次のコードがあります。
ページが読み込まれると、
上記は正しい変数属性を示していますが、私が書いたとおりのコードを正確に示しています。誰かが私が間違っていることを知っていますか?
ありがとうございました
php - 配列はsmartyで割り当てます
配列があり、を介してsmartyに割り当てて$smarty->assign('array', $array);
いますが、テンプレートで取得できません。それを正しく参照する方法は?私は試した:
ありとなし$
。