同じテンプレートの2つの異なるレイアウト

私は2つの異なるレイアウトでページを表示するために同じテンプレートを使用できますか?

どのセグメントを追加せずにあるレイアウトから別のレイアウトに切り替えることができますか?

あなたが持っているように、私は単純なクエリのURLを使用していいですね:

http://mysite.it/portfolio?=list

または

http://mysite.it/portfolio?=thumb

このソリューションをどのように採用できますか? ありがとうございました!


EDIT:これは解決策です(Andrew FairlieとJean St-Amandのおかげで):

{exp:switchee variable="{get:view}" parse="inward"}
    {case value="grid" default="yes"}
        {switchee variable="{get:tag}" parse="inward"}
            {case value="{get:tag}"}
                <div data-role="infinite-scroll" class="block-stack">
                {embed="portfolio/embed-tags"} 
                </div>
            {/case}
            {case default="yes"}
                <div data-role="infinite-scroll" class="block-stack">
                {embed="portfolio/embed-ajax" infinite_scroll_vars="category_id|category_name|segment_1|segment_2" infinite_scroll_values="{segment_2_category_id}|{segment_2_category_name}|{segment_1}|{segment_2}"} 
                </div>
            {/case}
        {/switchee}
    {/case}
    {case value="list"}
        <div data-role="infinite-scroll" class="block-stack">
        {embed="portfolio/embed-ajax-list" infinite_scroll_vars="category_id|category_name|segment_1|segment_2" infinite_scroll_values="{segment_2_category_id}|{segment_2_category_name}|{segment_1}|{segment_2}"} 
        </div>
    {/case}
{/exp:switchee}
1

2 答え

私はあなたがEE 2.8のレイアウトを指していると仮定しています。

プラグインまたはモジュールタグ内でレイアウトを処理することはできないため、ifステートメントを使用するか、Switcheeはテンプレート内で動作しません

しかし、Jean St-AmandのようなSwitcheeのようなものは、文字列に応じてそのレイアウトのバリエーションを提供するためにレイアウト内で述べることができます。

それを得るには、Mo'Variablesの {get:parameter} タグを使うことができます。

したがって、レイアウトテンプレートはちょっとしたように見えるかもしれません...

{exp:switchee case="{get:view}"}
    {case value="list" default="yes"}
            {!-- Do whatever you need to do here --}
    {/case}
    {case value="thumb"}
            {!-- Do whatever you need to do here --}
    {/case}
{/exp:switchee}

ただし、EE 2.8の新しいテンプレートルートを調べると、URLに基​​づいてさまざまなテンプレートやレイアウトを提供できます。

これらの2つのURLで重複するコンテンツが心配な場合は、カノニカルタグを好みの「デフォルト」のビューに設定することができます。

また、これはStashリストに適したジョブかもしれません。

便利なページ

2
追加された
優秀な。あなたは最後にどのオプションを使いましたか?
追加された 著者 Chris Marasti-Georg,
私はちょうど解決策で私の1番目の質問を編集しました;)
追加された 著者 Matt Rogish,

regexを使って switchee でそれを処理してどのレイアウトシナリオを決定できるかのようですたとえば、あなたのURLに存在します。私は正規表現ではないので、あなたが必要とするパターンを知っているようなふりをすることはありませんが、それはスイッチケースのロジックと正規表現をサポートするものです。

2
追加された