問題タブ [template-metal]

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 に答える
587 参照

python - カメレオンテンプレートグローバル変数

私はPyramid1.3とChameleonで書かれたそれらのテンプレートを使用しています。ページやテンプレートが異なれば、ページごとにグローバルなスタイルシートを変更する必要があるかもしれないので、ページのbodyタグのクラスを再定義できるようにしたいと思います(もちろん、テンプレートからこれを行うことをお勧めします)。

私が試したこと:

  • サブマクロからtal:define ="globalbody_class"を使用します。動作しません。
  • とを使用<metal:div metal:define-slot="vars">...variable definition...</metal:div>して<metal:div metal:fill-slot="vars">...redefinition...</metal:div>、サブマクロの変数を再定義しようとしました。それは機能しますが、親テンプレートに複数の変数定義があり、1つだけを再定義する必要がある場合はどうなりますか?

METALでこれをより良くする良い方法はありますか?

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

python - Python Chameleon で html5 doctype をどのように指定しますか?

私はこれについて徹底的にRTFMedとGoogledを調べましたが、答えが見つからないようです. 私はカメレオンに慣れていないので、どこにも見つからないほど明白かもしれませんが、

<!DOCTYPE html>

私のマスター テンプレートでは、レンダリングされたページでそれが削除され、恐ろしいクワークモードが発生します。

私が見逃しているトリックはありますか?

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

python - Chameleon ZPT を使用して任意の深さでネストされた要素をレンダリングする

私は Pyramid フレームワークを使用しており、カメレオンを使用して、任意の深さのネストされたリスト (ul、li) を含む html メニューをレンダリングしたいと考えています。

そうするために、カメレオンである種の再帰的な方法を見つけることができません。それは非常に一般的なニーズのように思われるので、ネストされた要素を任意の深さでレンダリングする正しい方法は何だろうと思っています。

しかし、いくつかのメニュー «widget» がすでに利用可能で、完全にテストされ、ピラミッドと Chamelon と互換性があるかもしれません。

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

macros - ピラミッド / ZPT (カメレオン) でマクロを使用する方法

ピラミッド+ZPTエンジン(Chameleon)でマクロを使いたい。

ドキュメントには、「1 つのページ テンプレートで複数のマクロに対応できる」と記載されています。 http://chameleon.readthedocs.org/en/latest/reference.html#macros-metal

したがって、ファイルを定義しました macros.pt

main_template.ptスロットを定義するすべての html 要素を含むグローバル テンプレートcontent

スロットを埋めるためにprogress.pt使用する私のビューのテンプレート:main_template.pt

use-macro="main_template.pt"これまでのところ、Zope のように Chameleon がテンプレートを自動的にロードしないため、ただ言うことはできないことを痛感しました。load:したがって、前にスニペットを追加する必要がありました。

に来ていuse-macro="step-0"ます。これにより、 NameError が発生しstep-0ます。macros.ptのようなものをプリロードしようとしました<tal:block tal:define="compile load: macros.pt" />が、これは役に立ちませんでした。

マクロ サマリー ファイルに集められたマクロを使用するにはどうすればよいですか?

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

html - Zope (ZPT) 重複タグ

Zope Page Template で TALを使用してオープンdivタグ条件を作成しdiv、別の条件でタグを閉じようとしましたが、タグをオーバーラップさせることはできません。

これが私のコードです:

重要な部分は次のとおりです。

そして、ここにエラーがあります。

Pythonスクリプトで試しましたが、うまくいきませんでした。

close_divスクリプトを使用:

&lt;/div&gt;代わりに返します</div>

なぜ私がそれをしているのだろうか。表示する必要があるツリー構造があります。私は(私が思うに)再帰的にそれを行うことができないので、LIFO リストを使用してエミュレートしようとします。そしてcurrent、私の現在のノードです。

私はこれを達成しようとします(ノードは辞書の辞書です...ツリーとして使用されます):

どんな助けや提案も大歓迎です

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

html5boilerplate - ZPT で HTML5 ボイラープレートを使用するには?

古い ZPT ベースのアプリケーションの 1 つを更新しようとしています。条件付き IE クラスを<html>.

私はこのテクニックを ZPT 以外の多くのサイトで使用してきたので、あまり考えたことはありませんでしたが、実装しようとしたときにいくつかの問題に遭遇しました。

  1. ZPT は HTML コメントを削除するため、レンダリングされたソースには条件付きコメントがありません
  2. 再利用可能なページ テンプレートを定義するために全ページ マクロを使用しており、その定義<html><html metal:define-macro="page">. 条件付きコメントを表示するようになったとしても、次のハードルはページ マクロを適切に定義することになるようです。

誰かがこれらの質問のいずれかに光を当てることができますか?

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

php - PHPTAL マクロで閉じられていないタグを出力する方法

PHPTAL テンプレートを使用するようにサイトを移行中です。今のところ、既存のページはそのままにして、テンプレートを使用してすべての新しいページを作成しています。

古いページでは標準のヘッダーとフッターが使用されます。典型的なページでは、次のようにコンテンツが生成されます。

PHPTAL の新しいページは同じ標準のヘッダー/フッターを使用するので、それらをマクロに移動します。新しいページと古いページのヘッダーとフッターの両方に同じソース HTML を使用したいと考えています。これを実現するには、printHeader() および printFooter() 関数を編集して、テンプレートを使用してヘッダーおよびフッター マクロを出力します。

私が抱えている問題は、ヘッダーに開始<html><body>タグが含まれており、それらがフッターで閉じられていることです。マクロが有効な xml ではないため、PHPTAL が例外をスローしています。

これを回避する最も簡単な方法は何ですか? 構造体を使用してこれらのタグを文字列として含める回避策を見つけましたが、ずさんなようです:

これを行うためのよりクリーンな方法はありますか?<html>andの欠落している終了タグを無視できるようにするある種の tal 属性<body>でしょうか?

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

macros - Zope Page Templates: マクロからマクロを呼び出す

基本的には機能しますが、権限に問題があるようです。これは一般的に悪い考えですか?

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

plone - fill-slot 要素または define-macro 要素の外側で定義された変数が、この要素の内側に表示されないのはなぜですか?

fill-slotまたは要素の外側で定義された変数が、define-macroこの要素の内側に表示されないのはなぜですか?

変数を持つ tales-expression はa評価できません。もちろんb見える。

一方、変数cが次のような外側の要素で定義されている場合define-slotは、それが表示されます。

スロットが挿入された後にのみ変数が評価されるようです。