2012-01-27 1 views
0

私は明確にしましょう:私は、同じ「テンプレート」を使用したいと思う複数のセクションを持つ、比較的シンプルなパンフレットサイトを構築しています。たとえば、http://example.com/section1 & http://example.com/section2です。また、これらの2つのセクションで、それぞれのエントリページに同じ「ビュー」テンプレートを使用することをお奨めします(たとえば、http://example.com/section1/item1またはhttp://example.com/section2/item2/)。ExpressionEngine 2では、複数のページに同じ 'ページ'テンプレートを使用できますか?

これは可能ですか?私は非常に新しいEE &を読んでいますが、私は何を求めているかのように、URL構造などを変更する方法はたくさんあります。私は、同じインデックステンプレートを持つ2つのテンプレートグループを作成することで私の解決策を達成できることを認識していますが、それはむしろばかげているようです。

P.S.私は自分のチャンネル設定が関連しているかもしれないことを知っていますので、これに答えるためにはどうすればいいのか教えてください。

感謝

ザンダー

答えて

3

はい、可能ですが、いくつかのオプションがあります。

最初はStructureを使用します。 Structureでは、複数のページにわたって同じページテンプレートを使用できます(つまり、http://example.com/section1およびhttp://example.com/section2)。これはおそらくあなたの最善の策です。

2番目のオプションは、ExpressionEngineに付属のPagesモジュールを使用することです。

3番目のオプションは、インデックステンプレートを単純な「ルーター」にすることです。これは、URLセグメントを見て、その後、それぞれに同じテンプレートを埋め込み、それをあなたがからのコンテンツを表示するために、あなたの{exp:channel:entries}タグで使用できるエントリのIDを渡します

{if segment_2 == 'item1'} 
    {embed="template_group/template_name" entry_id="4"} 
{if:elseif segment_2 == 'item2'} 
    {embed="template_group/template_name" entry_id="3"} 
{if:elseif segment_1 == 'section2'} 
    {embed="template_group/template_name" entry_id="2"} 
{if:elseif segment_1 == 'section1'} 
    {embed="template_group/template_name" entry_id="1"} 
{/if} 

:それはこのような何かを行くだろう適切な入力。

+2

上記のような条件を実行する場合は、http://devot-ee.com/add-ons/switchee便利である。 – Tyssen

+0

どうもありがとうございました。私はどちらの答えについてもわかりませんが、これはどんな場合でも非常に便利なスニペットです。 – Zander

+1

埋め込みオプションは問題を解決しますが、パフォーマンスの観点からは良い選択肢ではありません。埋め込みを呼び出すたびに、テンプレートパーサが再び実行されます。ページまたは構造モジュールを使用する方がはるかに優れています。 –

2

はい、これが可能です。ページモジュールをチェックアウトします。

ページモジュールでは、URLとテンプレートを選択できます。ページモジュールをインストールすると、新しい「ページ」タブが編集画面に追加されます。 {exp:channel:entries}タグのペアで動的パラメータを 'いいえ'に設定していないことを確認してください。

この問題には他にも解決策がありますが、これは最も単純です。

+0

ありがとうございます。今私はどの答えをどうするかを決める必要があります... – Zander

関連する問題