Expression Engine中的多个类别

时间:2011-03-22 13:57:59

标签: expressionengine

好的,我的网站上有很多分类为多个类别的文章。假设我在亚特兰大有一个类别页面,其中列出了在亚特兰大分类的所有文章。在侧边栏中,我只想显示分类为亚特兰大和其他任何类别的文章。那有意义吗?

我正在尝试这样做而无需编写为我执行此操作的自定义插件。我不确定是否有办法

3 个答案:

答案 0 :(得分:2)

是的,你这样做:

category="3&7&8"

http://expressionengine.com/user_guide/modules/channel/parameters.html#par_category

我个人讨厌EEs类别。我这样做的方法是使用Playa。这个插件非常值得。因此,您可以创建所有类别(城市)的频道,而不是使用EE类别。然后在文章频道中创建一个playa字段,您可以选择多个城市。然后在您的模板中,您只需编写一个if语句:

{if cities="Atlanta && Sheboygan"}//DO SOMETHING{/if}

答案 1 :(得分:0)

当你说“其他任何类别”时,你的意思是“至少还有一个其他类别”吗?或其他什么?

答案 2 :(得分:0)

我不知道自己想做什么的自动方式,但EE非常灵活 - 总有办法。在这种情况下,可能会在devot-ee上找到最佳方法。在下面的示例中可以找到可能的第二种最佳方式。 ;)

{exp:channel:entries}

<h2>This is an entry called "{title}".</h2>

<p>All of its categories are: 
{categories backspace="3"}
  <a href="{path="site_index"}">{category_name}</a>, 
{/categories}
</p>

<p>The category in the URL is:
{exp:channel:category_heading channel="{channel_short_name}"}
  <a href="{site_url}/category/{category_url_title}">{category_name}</a>
{/exp:channel:category_heading}
</p>

<p>Excluding the category in the URL, its categories are:
{exp:query sql="SELECT cc.cat_url_title curl, cc.cat_name cname FROM exp_category_posts cp, exp_categories cc WHERE cc.cat_url_title != '{segment_2}' AND cp.entry_id = '{entry_id}' AND cp.cat_id = cc.cat_id" backspace="3"}
  <a href="{site_url}/category/{curl}">{cname}</a>, 
{/exp:query}
</p>

{/exp:channel:entries}

请注意,这些示例假设您的网站结构。可能需要进行调整。