問題タブ [template-toolkit]

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

perl - WebサイトでMIMEマルチパート電子メールを解析して表示します

生の電子メール(MIMEマルチパート)があり、これをWebサイトに表示したいと思います(たとえば、iframeで、HTML部分とプレーンテキスト部分のタブを使用するなど)。これを達成するために使用できるCPANモジュールまたはTemplate::Toolkitプラグインはありますか?

現時点では、Email :: MIMEを使用してメッセージを解析し、すべての部分を反復処理して、すべての異なるMIMEタイプのハンドラーを作成する必要があるようです。

ロングショットですが、誰かがすでにこれをすべて行っているのだろうか?自分で試してみると、長くてエラーが発生しやすいプロセス書き込みハンドラーになります。

助けてくれてありがとう。

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

perl - Template::Plugin::Filter for Haml を作成しようとしています

Text::Haml を Template Toolkit に統合する cpan モジュールを作成しようとしています。Haml は興味深いテンプレート言語だと思いますが、かなり制限されており、より高度なものはもちろん、ループや条件分岐もサポートしていません。しかし、私は前夜に非常に単純なバージョンを動作させることができないようです. 以下は、私のロジックが機能することを確認するために機能するいくつかのテスト スクリプトです。

Template::Plugin::Filterドキュメントを使用したフィルター モジュールでの私の試みは次のとおりです。

そしてそれを使用するためのいくつかのコード

しかし、私はこの警告を受け取りますUse of uninitialized value in print at test0.pl line 15, <DATA> line 1.

このエラーの意味はわかりますが、なぜフィルターが原因なのかわかりません。どんな助けでもいただければ幸いです

以下は、問題を修正するために間違ったコードを見ないように、私のロジックの他の部分が機能するいくつかのテスト スクリプトです。それ以外の場合、それらは問題に実際には必要ありません

これは Template::Toolkit の使い方を示しています

これは Text::Haml の使い方を示しています

更新 1

私はこれを試しました(これはmarkdownプラグインとほぼ同じで、Textileプラグインとほぼ同じです)

DEBUG => 'all',TT 初期化時 の有効化からのUPDATE 2出力

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

perl - テンプレート内でテンプレートの継承を設定できますか? (テンプレート ツールキット)

ユーザーがどの州にいるかに応じて、さまざまな医療フォームを表示する必要があります。また、多くの州で共有されるデフォルトのフォームもあります。これらの医療フォームはすべてテンプレート ツールキットで作成され、より大きなテンプレートに含まれています。状態は、正規化された形式の変数として使用できます。

州固有のテンプレートが存在する場合はそれを選択する必要があり、存在しない場合はデフォルトに戻ります。これを行うにはどうすればよいですか?

INCLUDE_PATHは、サイト スタイルの切り替えを制御するために既に使用されています。

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

html - テンプレートツールキットのFORおよびIFの動作

テンプレートツールキットで奇妙な動作が発生しています。たとえば、データ構造(perlで定義され、パラメーターとして渡されたもの)があるとします。

テンプレートには次のようなループがあります

テンプレートがelseを入力することはないようです。テンプレートをelseに入力させる唯一の方法は、データを変更することです。

falseと評価されるようにします。ただし、データ構造を次のように変更すると、

常にelseに入ります(undefがfalseと評価されるため)。

上書きされない限り、次の反復のスコープに残っている変数の「ブリードオーバー」があるように見えますが、これは予想される動作ですか?もしそうなら、それはどこかに文書化されていますか?

編集:後で、上記の動作を引き起こす別の問題であることがわかりました。これは、テンプレートの他の場所で正しい「ELSIF」ではなく「ELSEIF」を使用したことが原因でした。疑わしい場合は、元の投稿で説明した問題を解決したjiraによって提案された解決策を確認してください。

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

template-toolkit - テンプレート ツールキットを使用してグループ化された出力を作成する

私はデータファイルを持っています

そして、私は出力が欲しい

私は何かが欲しいと感じます

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

perl - TT テンプレートの修正

Perl コードとしてキャッシュされる前に、ロード時にテンプレート (テンプレート ツールキット) を簡単に変更できますか? 正規表現を実行したい。

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

perl - Template Toolkit でデフォルトで HTML をエスケープする

次のように Template Toolkit を構成できますか。

あなたが今言う必要があることをします:

つまり、foo?で HTML をエスケープします。そして、次のように何か他のことをします:

逃げたくない場合は?

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

perl - テンプレート ツールキットの文字エンコーディング

テンプレート ツールキットがエンコーディングを適切に処理していないようです。

template->processファイル名 (テンプレートを取得する場所)、ハッシュ参照 (すべてのパラメーターを含む)、およびスカラー参照 (出力を配置する場所) を渡し、それを返し、ユーザーに表示します。

ウムラウトを含む文字列を指定すると、html 出力には、すべての文字の代わりに白い疑問符が付いた黒いひし形が含まれます (ただし、正しい文字数)。それ以外のキャラは問題なく出ます。

template->process を呼び出す前に警告を使用して文字列を出力していますが、この時点では問題ありtemplate->processません。呼び出し中に物事がガベージに変わることがわかります。

何か案は?ENCODING => "utf8"同様に使用してみましbinmode => ":utf8"たが、どちらも出力に影響しません。

これは、私のテンプレート->プロセスへの呼び出しを示すためだけに脂肪の一部を取り除いた私のコードです。省略し{binmode => 'utf8'}ても効果がないことに注意してください。

問題は、テンプレート プロセスが完了した後、文字列を出力する前に一時ファイルに書き込んだため、ファイルの binmode を設定する必要があることが判明したため、コードは次のようになります 。お気に入り:

お時間をいただきありがとうございました:)

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

perl - TemplateToolkit内の結果セットから追加で選択された列にアクセスする

テンプレート(test.tt)の内部:

テンプレートに渡された結果セットで追加で選択されたアイテムにアクセスする方法がわかりません。

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

perl - Template Toolkit で一重引用符をエスケープするには?

Template Toolkit ファイルを変換しています。たとえば、 にPiecesなり[% l('Pieces') %]ます。

1 つの問題が発生しました。の適切な換算は'Title'? これは正しくありません:[% l(''Title'') %]

要するに、逃げる方法は'