問題タブ [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 に答える
254 参照

php - 配列からラベルを取得する Smarty モディファイア/プラグイン

これは、CMS から Smarty に送信される配列の例です。

だから私は通常書く{$field.value}か、{html_options values=$field.options.values output=$field.options.labels selected=$field.value}

私の質問は、値からラベルを簡単に取得する方法です。私はこれを試しまし{$field.options.labels[$field.value]}たが、これは値ではなく配列のインデックスを取得するだけであることに気付きました。

{foreach/if} でこれを行うことができることはわかっていますが、テンプレートでは面倒です。このためのプラグインを作成する方法はありますか?

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

php - Smarty テンプレート エンジンのトラブル

Smarty に問題があります。ファイル内でいくつかの計算、割り当て、および削除を行う必要があり.tplます。つまり、スマートです。しかし、私が直面している問題は、いつでも{$idlist[$iSum+1]}エラーが発生することです。ここで $idlist は配列で$iSumあり、整数です。{$idlist[$iSum]}orで問題なく動作 しますが、このようなステートメントを実行するための構文は何でなければなりませんか?{$idlist[3]}でエラーが発生します。{$idlist[$iSum+1]}
{$idlist[$iSum+1]}

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

php - smartyでアレイの内容を変更しますか?

私たちはsmartyを使用しています、

私たちの見解の1つには、次のようなものがあります。

{if $header.showNav}...{/if}

そして、それを使用するように設定したい場合:

これはうまくいきますが、それはかなり長い間巻き込まれているようです。

smartyはこれを簡単に管理する方法を提供しますか?

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

smarty - 私のsmartyループの何が問題になっていますか

ソースが空である{section name=ii loop=i start=(i+2)}ため、問題はどこか近くにあります。<div data-role="controlgroup" data-type="horizontal">

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

smarty - phalcon 0.5 の Smarty などの外部テンプレート エンジンで Phalcon\Tag を使用するにはどうすればよいですか?

このドキュメントに従って、Smarty 用のアダプターを作成しました。また、Smarty をプロジェクトのデフォルトのテンプレート エンジンとして使用したいと考えています。この場合、.tpl ファイル内で Phalcon\Tag または $this->partial() を使用できますか? そしてどうやって?

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

php - 特定のカテゴリの商品を一覧表示する

私が所属している製品のカテゴリに基づいて 4 つの製品をリストしようとしているので、「素晴らしいカテゴリ」カテゴリを持つ「クールな製品」を表示していた場合、最新の「素晴らしいカテゴリ」の製品の 4 つを表示したいと思います。その製品内。

これは、各製品の製品を特定のブロックに手動で追加することで実現できることを知っていますが、残念ながら、このアプローチを実行するには製品が多すぎます。

現在の製品カテゴリに基づいて最新の 4 つの製品の ID を取得できるようになりましたが、親指の画像や製品の URL を取得できません。これまでのところ、

ご覧のとおり、構成でPHPを有効にしています。結論として、現在表示している製品の中に、現在の製品カテゴリに基づいて 4 つの製品を表示したいと思います。

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

php - テンプレートが {include} によって含まれていた場合の smarty3 検出

smarty3 で、{include} タグに smarty テンプレートが含まれているかどうかを確認する方法はありますか? たとえば、そのようにできることはわかっています。

そして内 blahblah.tpl

もっと簡単な方法があれば知りたいです。

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

codeigniter - Smarty - 変数の割り当てが多すぎますか?

私は Smarty を使用しており、CodeIgniter サイトに多言語サポートを実装しようとしています。言語変数が使用されているかどうかに関係なく、すべてのページで使用できるように、可能なすべての言語変数を 1 か所に割り当てても問題ありませんか? このアプローチは簡単ですが、Smarty で割り当てられた変数が多すぎるとパフォーマンスに影響することが心配です。

それとも、ページごとに必要な言語変数のみを割り当てるという問題を解決する必要がありますか? これを実装して維持するのは面倒ですが、Smarty にとってはそれほど費用がかからないかもしれません。

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

php - Jqueryの並べ替え可能な復元ポートレットを保存された設定に

jqueryの並べ替え可能なリストの状態を保存する方法については、ここやWebにたくさんの投稿がありますが、復元するのはどうですか?

私の場合、リストではなくページレイアウトを整理しているので、左右の列(またはそれ以上)があります。

これが私が過去に行ったことです(php + smartyを使用):

各ポートレットには、含まれている独自のテンプレートファイルがあります。並べ替え可能なリストの状態を保存するときは、復元しやすいように、左右の列を別々に保存します。

並べ替え可能なリストをどのように復元しますか?

私はそれを行う純粋なjqueryの方法を好みます。たとえば、ページ上でポートレットを非表示にし、ソート可能なリストにjson配列を渡し、「作成」時にポルトをソートして表示します

私にとって、特定のコードは必ずしも必要ではないので、概念やアイデアは大歓迎です。

ありがとうございました!

-次のように考えます:http://jsfiddle.net/8gYsy/

0 投票する
0 に答える
623 参照

php - Smarty テンプレート: 基本 {block} を拡張してカスタム機能を追加することは可能ですか?

テンプレートに関する非常に具体的なタスクがあります。標準の Smarty 3 ( 3.1-DEV ) テンプレート システムを拡張してカスタム {block} 関数を取得する必要がありますが、基本的な機能 (追加/書き換え、合計など) は維持します。一般に、次の機能を取得するために各 {block} 競合を処理する必要があります。 :

  • {block} の外にある各単一テンプレートのコンテンツを無視します (テンプレートのソースは関係ありません)
  • 処理された {block} コンテンツへの「参照」を保持します (smarty デストラクタで「表示」されたブロックのキャッシュされたコンテンツを取得したいが、メモリに保持したくない)
  • 同じ継承機能を取得しました(ネストされたブロックの親を取得できるなど)
  • ネイティブの smarty キャッシング システムを保持する
  • smarty エンジンを直接変更せず、プラグインとクラス拡張を介して実装します

カスタム ブロック関数を作成しようとしましたが、ネイティブ {block} の継承機能が失われ、表示/処理されたコンテンツを制御できず、デストラクタでコンテンツを取得できません。

主なアイデアは、すべて$smarty->display()$smarty->fetch()呼び出しを処理し、すべてのブロックのコンテンツを収集し、それらのコンテンツへの参照を保持しますが、すぐには表示しないことです。

メインの smarty インスタンス デストラクタにコンテンツを表示する必要があります。表示するコンテンツは、加工されたブロックを使用して組み立てる必要があります。

おそらく、このタスクには他のテンプレート ソリューションがあるか、すぐに使える機能が smarty にありますが、見つかりません。また、スマートなテンプレート システムを変更したくなく、php-template<? if( $a < $b ): ?> <b>Output</b> <? endif; ?>の使用を拒否します。

upd : Smarty で「2 ステップ ビュー」を実装したいのですが、簡単かつシンプルにします。

ありがとう。