0

私はEEでサイトを構築していて、自分の状況について人々がどう思っているのか疑問に思っていました。

基本的に、同じテンプレートに表示する必要がある同様のデータを持つ3つの異なるチャネルがあります。だから私はニュース、アーティスト、そして製品のためのチャンネルを持っています。これらのチャネルのいずれかでアイテムをクリックすると、そのデータを同じテンプレートに表示する必要があります。

これを行うには2つの方法が考えられますが、もっとエレガントな解決策があるかどうか疑問に思っていました。

  1. URLを確認し、適切なチャネルでエントリタグを開いてから、テンプレートでそのチャネルの正しいカスタムフィールドのみを使用してください。(ただし、これは、チャネルごとにコードを複製する必要があることを意味します)。
  2. 提供されたすべてのチャネルでエントリタグを開き、3つのカスタムフィールドすべてを必要な場所にテンプレートに配置します。

ありがとう

4

3 に答える 3

1

埋め込み変数 を使用して、変数を埋め込みに渡すことができます。

注意すべきもう 1 つの点は、読み込むコンテンツを決定する際に、Mark Croxton の Switchee および/または IfElse を使用することです。高度な条件はパフォーマンスにとってひどいものです。

于 2012-05-18T22:28:40.653 に答える
0
{exp:channel:entries channel="news|artists|products"}

   ...shared content...

   {if channel_short_name == "news"}
       {my_custom_field_for_news}
   {if:elseif channel_short_name == "artists"}
       {my_custom_field_for_artists}
   {if:elseif channel_short_name == "products"}
       {my_custom_field_for_products}
   {/if}

   ...shared content...

{/exp:channel:entries}
于 2012-05-18T07:51:38.767 に答える
0

通常、これを克服するには、テンプレートを埋め込むか、スニペットを使用します。

私のソリューションでは、再利用したいテンプレートビューのコンテナとして機能するglobal_embedsという名前のテンプレートグループがあります。これは、私の一般的なページレイアウトのヘッド部分とフッター部分である可能性があります。

次に、より些細なもの(アイテムの表示など)のスニペット。

于 2012-05-17T18:36:42.437 に答える