問題タブ [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.

0 投票する
1 に答える
419 参照

php - Smarty 変数、値としての JavaScript 関数の割り当てが機能しない (v2 から v3 へのアップグレード)

smarty 2.xで動作する次のコードがあります

しかし、smarty v3 はエラーをスローします:

どうすればこれを修正できますか?

ありがとう!

0 投票する
3 に答える
4847 参照

php - smarty の動的配列キー

smarty を介してインデックスを生成した SMARTY の配列にアクセスする方法を知りたいだけです。後でアクセスしたい。

このようなものを手に入れました:

そして私はアクセスするのが好きです$smarty.get.(dynamic generated index)

いくつかのバリエーションを試しましたが、うまくいきませんでした。

0 投票する
2 に答える
2271 参照

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モジュールでうまく動作させる方法はありますか?

0 投票する
2 に答える
1616 参照

smarty - 賢く if ステートメントを短くする

次のようなスマートな if ステートメントがあります。

テンプレートで同じステートメントを何度か比較する必要があります。そして、このステートメントを数回繰り返すのは本当に面倒です。ステートメントをキャッシュして何度も再利用できることはわかっていますが、次のようなことができるかどうかを調べていました。

PHP のように、次のことができます。

テンプレートのphpコードにアクセスできないため、smartyしか使用できないことに注意してください。どんな提案でも大歓迎です。

乾杯。

0 投票する
1 に答える
118 参照

smarty - ファイル属性なしでSmarty{include}に安全ですか?

たとえば、{include 'path/to/template.tpl'}

上記のフォーマットのドキュメントには言及されていませんが、次のように機能するようです。

これは癖ですか、それとも設計によるものですか?追加の変数を渡さない場合は、よりきちんとした構文を使用しますが、受け入れられる形式(バージョン3.0.7)であることを確認したいと思います。

0 投票する
1 に答える
1123 参照

php - Smartyポストフィルター/プレフィルター出力前にテンプレートに適用する方法

ポスト/プレフィルターをsmartyで使用する方法についてはかなり混乱しています。

私がする必要があるのは、ページが表示される前に、ページ内の特定の要素を検索して置き換えることです。$smarty->displayが呼び出される直前にこれを実行したいと思います。つまり、ディスクに保存される前ですが、コンパイルされた後(つまり、postfilter)です。

ポストフィルター関数の例:

スマート出力の直前にこれを適用するにはどうすればよいですか。Smartyのドキュメント(http://www.smarty.net/docsv2/de/advanced.features.postfilters.tpl)と他のいくつかの例を確認した後、試しましたが、どれも機能していないようです。

誰かがこれを行う方法と、パラメーターをフィルター($ search、$ replace)に渡す方法に関するサンプルコードを教えてもらえますか?

ありがとう

0 投票する
1 に答える
1276 参照

smarty - Smarty がすべてのテンプレート変数を自動的にエスケープし、キャプチャを無視する方法

すべてのテンプレート変数を自動的にエスケープしたい、つまり、|escape常に記述しなくてもエスケープできるようにしたい。$escape_htmlしたがって、オプションを有効にしました。

ただし、Smarty は、{capture}信頼できる入力と見なすことができるにもかかわらず、同じ方法で作成された変数を扱うようです。私たちのコードベースにはそれらがたくさんあり、nofilterどこにでも書かなければならないことは、書く必要があるのと同じくらい面倒|escapeです。

確かにこれには解決策があるはずですか?または、$escape_htmlとは{capture}互換性がありませんか?

0 投票する
1 に答える
124 参照

smarty - if の中に常に isset が必要ですか?

設定されていなくても、以下は許容$my_flagされますか?

通知がスローされないようにする必要がありissetますか、それとも Smarty3 が処理しますか?

0 投票する
1 に答える
616 参照

php - Smarty if ステートメント

初めて smarty を使用するので、悪気をつけないでください。誰かがこの問題で私を助けてくれることを願っています。page.tpl に次のコードがあります。

ページが読み込まれると、

上記は正しい変数属性を示していますが、私が書いたとおりのコードを正確に示しています。誰かが私が間違っていることを知っていますか?

ありがとうございました

0 投票する
1 に答える
714 参照

php - 配列はsmartyで割り当てます

配列があり、を介してsmartyに割り当てて$smarty->assign('array', $array);いますが、テンプレートで取得できません。それを正しく参照する方法は?私は試した:

ありとなし$