表达引擎模板重用

时间:2012-05-17 09:31:35

标签: expressionengine

我正在建立一个拥有EE的网站,并且想知道人们对我所拥有的情况的看法。

基本上我有3个不同的通道,其数据类似,在查看时需要在同一个模板上显示。所以我有一个新闻,艺术家和产品的渠道。当我点击任何一个频道中的某个项目时,我需要在同一个模板中显示该数据。

我有两种方法可以做到这一点,但想知道是否有人有更优雅的解决方案。

  1. 检查网址并使用相应的渠道打开我的条目标记,然后仅在模板中使用该渠道的正确自定义字段。 (但这意味着我需要复制每个频道的代码)。
  2. 使用提供的所有频道打开我的条目标记,然后将所有3个自定义字段放在模板中我需要它们的位置。
  3. 由于

3 个答案:

答案 0 :(得分:1)

您可以使用embed variables将变量传递到嵌入中。

另外需要注意的是,在确定要加载的内容时,请使用Mark Croxton的Switchee和/或IfElse。高级条件对于性能来说很糟糕。

答案 1 :(得分:0)

通常,您可以embed templates或使用snippets来克服此问题。

对于我的解决方案,我有一个名为 global_embeds 的模板组,它作为我想重复使用的模板视图的容器。这可能是我的常规页面布局的头部和页脚部分。

然后是一些更琐碎的东西的片段(如项目显示)。

答案 2 :(得分: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}