問題タブ [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.
php - PHP5でテンプレート継承(Djangoなど)を実装する方法
既存の良い例はありますか、またはPHP5で「テンプレートの継承」をサポートする基本的なテンプレートシステム(MVCを考える)を作成するための1つのアプローチはどのようにすべきですか?
テンプレートの継承として定義する例については、Django(Web開発用のPythonフレームワーク)テンプレートのドキュメントを参照してください:http://docs.djangoproject.com/en/dev/topics/templates/#id1
PHP自体が「テンプレート言語」であるという考えは特に気に入っていますが、必ずしも必須ではありません。
「テンプレートの継承」を実装する既存のソリューションをリストする場合は、「人気投票」の利益のために、個別のシステムとして回答を作成してみてください。
django - Django でのテンプレートの継承
私は Django 1.1 を使用しており、他のすべてのページが継承する基本テンプレートであるこのテンプレートを使用しています。次のナビゲーション バーのように、ほとんどすべての Web サイトで一定である一連のものを定義します。
しかし、子テンプレート内での Django のデフォルトの動作は、子が親テンプレートのブロックを完全にオーバーライドすることです。ここにこのページがありますが、必ずしも navbar ブロックをオーバーライドする必要はありません。そのページに固有のエントリをいくつか追加するだけですが、今のところ、それが起こっていることを確認できる唯一の方法は、親から navbar ブロックをコピーし、それをテンプレート + 追加に含める必要がありました。他にできる方法はありますか?
django - djangoテンプレートでマルチレベルのテンプレート継承を行うことは可能ですか?
私は3つのhtmlファイルを持っています:
- base.html
- page.html
- コメント.html
page.htmlでbase.htmlを拡張します。comment.htmlでは、 page.htmlを拡張します。comment.htmlはbase.htmlのブロックを拡張しますか?
ruby-on-rails - 名前空間のコントローラーの 3.1 でのテンプレートの継承
いつものようにビュー/レイアウトに application.html.erb があり、コンテンツには <%= yield %> があります。現在、さまざまなページ (プロファイル、アカウント、通知など) を保持するユーザー アカウントの設定ページを作成しています。
コントローラー/settings_controller.rb
コントローラー/設定/account_settings_controller.rb
コントローラー/設定/profile_settings_controller.rb
Settings 名前空間の一部であるすべてのコントローラーについて、「常にビューをレンダリング」したいと思います。特に、views/settings/master.html.erb を含みます。
たとえば、view settings/profile_settings/edit.html.erb には以下が含まれます。
どこから始めればよいかわかりません。おそらく私のコントローラーは次のようになります
どんなガイダンスも大歓迎です。
編集:
なるべき
django - コンテンツのDjangoテンプレート継承のための適切な方法
charset、google-site-verification、stylesheets、js ...のサイト全体のタグを含むbase.htmlテンプレートがあります。また、ページ固有のタイトルタグとメタディスクリプションのブロックを設定する必要があります。
base.htmlとそのブロックの継承されたテンプレートミックスタグに{%block head%}を設定する必要がありますか、それとも{%block meta%}や{%blockなどの特定のブロックを設定する必要がありますか? title%}を使用して、Djangoがhtmlにレンダリングするときにタグが適切な場所に表示されるようにします。
これは意味がありますか?すべてのタグが1つの{%block head%}に混在しているソースを表示すると、状況は少し乱れますが、タグごとに特定のブロックを追加すると、それらは順番になりますが、はるかに多くのコードを使用します...?
python - Jinjaのループ変数はinclude-dテンプレートでは使用できません
jinjaテンプレートの1つに次のようなコードがあります
投稿の内容に応じてpost
、コレクション内でそれぞれをレンダリングすることになっています。ごとに異なるテンプレート設定があります。テンプレートを持っていない場合は、投稿テンプレートに戻ります。posts
.type
post.type
default
ここで、投稿のインデックスを、によって提供される投稿テンプレート内に下から表示したいと思いますloop.revindex
。しかし、何らかの理由でloop.revindex
、投稿テンプレート内で使用すると、というエラーが表示されますUndefinedError: 'loop' is undefined
。
それで、dテンプレートloop
では利用できませんか?include
これは仕様によるものですか?これを利用できないようにテンプレートを整理する方法に何か問題がありますか?
編集さて、テンプレートを含める前に、forループで回避策を考え出しました。
post_index
投稿テンプレート内で使用します。理想的ではありませんが、唯一の方法のようです。私はまだあなたの解決策を知りたいです。
編集2もう1つ、 dテンプレートpost
内の変数にはアクセスできますが、変数にはアクセスできません。include
loop
c++ - 基本クラスと戻り型からのテンプレートの継承
私のプロジェクトにはいくつかの問題があります。ここにいくつかのコードがあります:
このコードは電卓用です。他に 3 つの異なるクラスがあります。上に投稿したこれらのクラスは、QT でこれを実装しているため、セッション中に作成したデータを追跡するためだけのものです。
したがって、このベース CalcDinamica を作成したのは、calcDinamica* cal; のようなポインターを持てるようにするためだけです。calc= new calcolatrice < matrix > のように作成します。これは、QT で電卓を使用しているときに、操作するオペランドの種類 (ベクトルや行列など) を変更できるためです。
わかりました、これは機能しますが、calcDinamica のポインターを使用して多くの dynamic_cast を実行せずに、 calcolatrice 内のデータを返したいと考えています。どうすればできますか、それとも不可能ですか?それが不可能な場合は、基本クラスのこのオプションを残して、3 つの異なるカルコラトリスを作成するだけです。
前もって感謝します。
django - Django:テンプレートタグの戻り値でテンプレートを拡張します
テンプレートでは、テンプレートタグの戻り値を使用してサブテンプレートの親テンプレートを決定したいと思います。
これはテンプレートタグです。アプリのラベル(パッケージ名)を返し、拡張する対応するテンプレート名を追加します。
今私がしたいのはこれです:
これは可能ですか?
html - Djangoテンプレートの継承によりバスエラーが発生する
私はDjangoテンプレートのマルチサイト階層で作業しています。そのため、マスターベーステンプレート(base/base.html
)が必要です。このテンプレートには、などから拡張されたいくつかのマスターテンプレートがありbase/base_twocol.html
ます。そして、それらのテンプレートから拡張されたテンプレートがありbase/base_twocol_SECTION
ます。
次に、同じテンプレートのセットを用意する必要があります。これは別のサイトを処理しますが、、、などanother_site/base.html
のテンプレートから拡張されます。another_site/base_twocol.html
another_site/base_twocol_SECTION.html
目標は、サイトごとにオーバーライドできるテンプレートのマスターセットを用意することです。
だから私はこのようなものを持っています:
を作成another_site/base.html
し、構文を使用しました{% extends "base.html" %}
ただし、サーバーを実行すると、ブラウザから「データ受信エラーなし」が表示され、コンソールから「バスエラー」が表示されます。
php - ブロックを含まないTwigテンプレート?
私は Twig を使い始めようとしていますが、{% block %} をまったく機能させるのに本当に頭が痛いです。
私のindex.phpローダーは次のようになります。
のindex.htmlの簡易バージョンは/templates
次のようになります。
そして、navigation.htmlは次の/templates
ようになります。
私が理解している限り、これはブロック機能の基本的な動作例です。Twig のその他の部分は問題なく機能しているようで、エラーは報告されていません。実際、ページは "Test" を正常に出力します。
どこかのnavigation.htmlファイルを明示的に指定する必要がありますか?それとも、Twig は/templates
フォルダー内のすべてのファイルを自動的にロードしますか?