問題タブ [template-inheritance]

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

c++ - ポリシー クラスの結合 - テンプレート テンプレート パラメータと Variadic テンプレート

各ポリシーが独自のテンプレート パックを持つように、可変長のテンプレート テンプレート パラメーターを使用してポリシー クラスを組み合わせることが可能かどうか疑問に思っています。すべてのポリシーで 1 つのテンプレート パックしか共有できないようですが、そうでないことを願っています。

考えられるのは以下のようなものです。

各ポリシーに独自のパックを持たせて、次のようなものを作成できることを願っています (?):

各ポリシーはすべて同じオブジェクト タイプを使用しているという考えですが、3 番目のポリシーにはさらにテンプレートがあります。上記のコードが正しくないことは承知しています - 私ができるようにしたいことを説明しようとしているだけです。

ありがとう

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

c++ - テンプレート クラスから派生したクラスの基本メンバー関数へのアクセス

私は自分の仕事でライブラリを開発しており、テンプレート クラスを含む複雑な継承を設計し、それらから派生しています。私の問題は、基本テンプレート クラスに、2 つの引数を取り、何らかの値を返す仮想オーバーロード演算子があることです。基本クラスではこの演算子が実装されており、ほとんどの派生クラスはこの演算子を再実装していません。

他の一部のクラスは、一部の作業に派生クラスを使用し、演算子メンバー関数を利用します。派生クラスに他のオーバーロードされた演算子がない限り、引数の数が異なっていても、すべてが正常に機能します。object()その場合、コンパイラが適切なメンバー関数を見つけることができないため(引数カウントの不一致について不平を言う)、基本クラス演算子はそれを使用してアクセスできません。

基本クラスのデフォルトのテンプレート引数が指定されているかどうかは関係ありません。また、派生クラスの定義の順序は、どの演算子が問題を引き起こすかを変更しません (常にSpecificDerivedクラスです)。

以下に、単純化された問題を示します。

[編集] 例は単純化されました

基本クラスの定義:

派生クラス定義のユーザー:

派生クラス:

主な機能:

no matching function for call to 'SpecificDerived2::memberFunc(float)'関数からあると主張するエラーでコンパイラが終了しますgobble。問題は、派生クラスまたは基本クラスのいずれかに、同じ名前で引数が異なる 2 つのオーバーロードされた関数がある場合にのみ発生します。

c++11 をサポートする MinGW32 4.8.1 を使用しています。

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

xml - XSL: 特定のテンプレートが呼び出されるたびに、より一般的なテンプレートを最初に呼び出します

以前にいくつかのテンプレートを使用して作成した既存の xslt ファイルがあります。

現在、要件が変更されており、これらの特定のテンプレートの 1 つを処理する前に、現在評価中のノードに特定の属性があるかどうかを確認する必要があります。

はいの場合、別のテンプレートを最初に呼び出し、次に特定のテンプレートを呼び出す必要があります。

したがって、基本的に私の入力 XML は次のようになります。

XML ファイルを解析すると、結果は次のようになります (実際には、Apache FOP 経由で PDF を作成したいので、結果には FO タグが含まれています。これは、やりたいことを単純化するためです)。

ええと... XML にはこの属性 ' ' を持つことができる要素がいくつかありますが、この属性をチェックするためにspecAttr既存の各要素を変更したくありません...<xsl:template>

<xsl:template match="*">その仕事をしたを追加しようとしましたが、この要素の特定のテンプレートが処理される前に、各要素に一致することを望みました。xsl:templateしかし、これは特定の定義されていないノードに対してのみ機能するようです。

で属性に一致するテンプレートを作成できることもここで既に読みました<xsl:template match="@specAttr">が、このテンプレートは追加した場合にのみ解析され<xsl:apply-templates select="@*"/>ます。したがって、既存の各テンプレートを変更して、この行を追加する必要もあります。

テンプレート階層やテンプレート間の継承のようなものを作成することは可能ですか? 現在のノードの実際のテンプレートの前に常に親テンプレートが処理されるということですか?

編集:reference要素を見ると、新しいテンプレートを処理する必要がある場所を時々知る必要があることがわかります... a にこの属性がある場合、reference列スパンが 2 の完全な新しい行を作成する必要があります (ただし、ノードを追加するだけtextでは十分ではないため、4) になる可能性のある別のテーブルにある場合もあります...

これについて考えると、これを行う一般的な方法を見つける方法はないと思います...

または、誰か別の賢いアイデアがありますか?

さらに詳しい情報が必要な場合やご質問がある場合は、お気軽にお問い合わせください。

前もって感謝します。

BRgrds、イェンス

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

php - 小枝ベーステンプレートでセッションベースの変数を設定するにはどうすればよいですか?

ベースに組み込まれたセッションベースのデータが必要なアプリケーションに小枝をプラグインしたいと考えています。たとえば、クライアントの現在のタイムゾーンがフッターに表示されます。個々のコントローラーがこれを知っていても意味がありません。一方、ビューを選択して入力します。

ビューを選択する前にデータオブジェクトをtwigに渡し、それをベーステンプレートで利用できるようにする適切な方法はありますか? Twig_Environment を起動して渡す際に行うことはありますか?

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

php - Phalcon Volt で動的テンプレートを継承する

テンプレートに「挿入」されるページをロードする必要があります-私が読んだように、Voltのテンプレート継承はそのトリックを行う必要があり、そうです...ちょっと。例に示すように、ハードコードされた値は正常に機能します。次の例は機能します。

テンプレートを継承するページ:

ただし、同じページが別のテンプレートを継承する必要があり、それは実行時に決定する必要があるため、テンプレートの名前は動的に生成する必要があります。私には2つの選択肢がありました:

  • テンプレート名を変数に設定し、拡張時に使用します。ここでの問題は、後でそれを使用する方法が見当たらないことです。あの人も同じ問題を抱えていたようですが、どうすればいいのかという答えも、まったく不可能であるという確認もありません。
  • 別の関数を登録して完全な文字列を生成し (例: {% extends "../../templates/de/index.volt" %})、それをコンパイルします。

    $compiler->addFunction('get_template', function ($resolvedArgs, $exprArgs) use ($volt) { return $volt->getCompiler() ->compileString('{% extends "../../templates/de" /index.volt" %}'); });

次に、ページでその機能を使用します。

ただし、その方法を使用すると、ページのコンテンツが解析されません (たとえば、登録された content() 関数によって返されるコンテンツは表示されません)。私は他の解決策 (Volt の代わりに Twig を使用することは、パフォーマンスの問題に対する最後の手段にすぎません)、私が間違っていることのアドバイス、またはトピックに関する有用な記事のポインターにもオープンです。前もって感謝します!

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

django - Django でテンプレートを継承する

私はレンダリングすることができhome.html 、それが印刷Mary had a little lambされますsitetitle

ここにコードがありますhome.html

しかし、同じディレクトリにありますが、funブロックをレンダリングしていません。title.html

ここにコードがありますtitle.html

views.py from django.shortcuts import render from models import siteprop from django.template import loaderのコードは次のとおりです。

ここにコードがありますurls.py

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

javascript - Javascript モジュールが利用できない テンプレートがベース Django テンプレートから継承されていない

私はこの問題を抱えています。あなたがそれを解決する方法を知っていることを願っています。ベース テンプレートの「子」テンプレートではない Django テンプレートで、ベース テンプレートに含まれる JavaScript モジュール、つまり Jquery を使用したいと考えています。必要なすべての JavaScript ライブラリを再度ロードせずにこれを達成する方法はありますか?

base.html としましょう

some_component_base_template.html

この html のブロックは、ユーザーがスロット メカニズムを介してテンプレートのどこにでも挿入できます。これが base.html から継承されない理由です。別のヘッダーを作成すると、この html のブロックが読み込まれるたびに、javascript が実行されます。もロードされます。