問題タブ [templating]

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 投票する
11 に答える
9780 参照

php - PHP で Smarty をうまく使うには?

PHP で Smarty を使用すると、場合によっては余分な時間が必要になることがわかりました。

1) PHP 自体とはまったく異なる構文を使用している
2) ドキュメントには「エスケープ」などの詳細が記載されていないため、小さなケースを確認する必要がある

http://www.smarty.net/manual/en/language.modifier.escape.php

escape:"quotes" は二重引用符のみ、または単一引用符にも使用されるため、テストするコードを記述する必要があります。また、エスケープの場合:「javascript」 -- 何がどのようにエスケープされているのか正確にはわかりません。

3) 複雑な場合、ヘルパー関数または修飾子を記述する必要があるため、新しいファイルを作成して、最終的に PHP で再度実行する必要があります。

ところで、Smarty を使用すると、PHP を単独で使用するよりも速度が向上しますか? ありがとう。

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

wpf - WPFDataGridはテンプレートを表示モードと編集モードの間で切り替えます

DataGridウィンドウの左側にWPFがあり、右側に選択したレコードを表示するための領域がある場合。選択したレコードは、編集ボタンがクリックされるまで無効になっているTextboxesとesで構成されています。ComboBoxすべてが期待どおりに機能します。

ただし、変更時にComboBoxesを入力するのは少し不器用なようです。[編集]ボタンをクリックするまでは、などのはるかに軽いコントロールを使用できます。その後、sをesに切り替えることができます。SelectedItemDataGridTextBlockTextBlockComboBox

これはある種のテンプレートで実行できると確信していますが、これを試してみると、ComboBoxesに関連付けられているすべてのイベントは、でTextBlocksに置き換えられているため、存在しなくなったため、エラーが報告されます。 "ビューモード"。

私はおそらくこれについて間違っているので、いくつかのガイダンスをいただければ幸いです。

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

wpf - GridView の ColumnHeader のフォント サイズを変更する

ColumnHeaderTemplate を完全に複製して上書きせずにヘッダーのフォント サイズを変更する簡単な方法はありますか?

注: 関連性があるかどうかはわかりませんが、ColumnHeaderTemplate を提供するアプリケーション テーマ (PresentationFramework.Royale) を使用しています。

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

php - PHP テンプレート ループの結果

そのため、ここでは自社開発のテンプレート システムを使用しています。これは軽量で、これまでのところうまく機能しています。

私たちが直面している壁は、テンプレートをループできるようにしたいということです。ユースケースは、検索結果のようなものです。私たちはこれを行う方法を考えようとしています。現在3つの方法を考えています。まず、ループ内にhtmlを保存し、それをループしてconcatを使用して変数をhtmlに入れるという古き良き方法です。私たちが思いついた 2 番目の方法は、ファイルを繰り返しインクルードすることでした。そして 3 番目の方法は、ファイルを一度インクルードし、出力バッファリングを使用してその出力をキャプチャし、それにテキスト echo " を追加してから、eval を使用することでした (私の上司は、それを行うための創造的な方法を考え出すことを望んでいました)。

そうですね、html をロジックから完全に分離できるので、繰り返しインクルードする方法を好みます。eval メソッドもこれを行いますが、もう少しハックなようです。これについていくつかの時間テストを行ったところ、html をループ内に配置する方法 (方法 1) が最も速く、その後に eval メソッドが続き、複数回を含むことが最後であることがわかりました。インクルードは、実際には eval メソッドよりも約 5 ~ 6 倍遅くなりました。(ファイルを含めたり、ファイルを 1000 回評価したり、それを 100 回実行したりして、それらを平均して結果を取得しました)。

複数のインクルードを高速化する方法はありますか? (include php を実行するたびに、ファイル システムに再度アクセスしているように見えます。)

または、この種のことを達成する方法を誰かが持っていますか?

0 投票する
4 に答える
2114 参照

java - Google App Engine (Java) 用の HTML テンプレート エンジンはありますか?

単純なもの (PHP の Smarty や Rails の erb など) を探していますが、テンプレートを互いに入れ子にすることができます。App Engine には何かが組み込まれていますか、それとも別のもの (Velocity など) を検討する必要がありますか?

ありがとう。

0 投票する
5 に答える
525 参照

xslt - 他の言語の XSLT からの 2 つの概念: apply-templates と xpath

背景:プログラミング ツールキットの一部としての XSLT の実用的な日常使用をあきらめたので、XSLT について欠けている (唯一の) 2 つの点を他の言語で実装できるかどうか疑問に思っていました。

  • xpath を介して「パス」スタイルのステートメントを使用してデータ構造をトラバースする機能
  • 反復または「ループ」アプローチを介する代わりに、apply-templates を使用してテンプレート変換をトラバースする機能。

Google によると、Javascript に「xpath スタイル」のサポートを追加する取り組みがいくつか行われていますが、あまり普及していないようです。これまでのところ、誰かが別の言語で「apply-templates」アプローチを使用しているものは見つかりませんでした

質問: XSLT からこれら 2 つの優れたアイデアを盗んだり、別の方法を使用して同じまたは類似の概念を適用したりするプログラミング言語 (できれば主流の言語) を知っている人はいますか?

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

silverlight - Silverlight ControlTemplate の StaticResource?

カスタム オブジェクトの ControlTemplate で StaticResource を使用しようとしていますが、そのオブジェクトがレンダリングされるたびに、アプリケーションがクラッシュします。以下のコードでわかるように、App.XAML でテンプレートとリソースの両方を定義します。これが許可されていないかどうか、またはその理由を確認するために少し検索を行ってきましたが、これまでのところ運がありません。

これが許可されていない理由、または私が間違っていること (または、Silverlight でカスタム テーマを実行するためのより良い方法) を説明できる人がいれば、大いに感謝します。

編集:配色を1か所で設定できることに主に興味があることを明記する必要があるように感じます。テーマの残りの部分はそれほど変更する必要はありません。

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

php - テンプレートでループを使用する

私は自分自身の小規模なフレームワークの作成を開始し、そのテンプレート部分に到達しました。これまでのところ、次のコードで単純な変数置換を行うことができました。

これは問題なく動作しますが、現在探しているのは、データベースから不明な数のレコードを表示するためにループしたい場合であり、いくつかのアイデアを試しましたが、これまでのところ機能していないようです

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

php - 正規表現: preg_replace_callback で使用される不完全な構文?

このリンク PHP regex templating からコードを借用しました- {{var}} のすべての出現箇所を見つけて、テンプレート ファイルに値を適用する手段を実装します。これは preg_replace_callback() 関数を使用します

私の好みの命名方法は、name1_name2_name3=value ではなく、name1.name2.name3=value ですが、使用している正規表現には問題があるようです。

これは機能しません。

テンプレートファイル

.ini 値

使用される正規表現

print_r($matches) の出力

$matches[1] が間違ったキーキーであるため、置換が間違っています。

この機能を既に提供しているライブラリがあり、それらについて知りたいと思っていますが、それでも正規表現の欠点を知りたいです。

不完全な正規表現を含むフルコードを以下に示します。

照合するテンプレート

.ini ファイルの内容