好的,所以,我的网站上有很多分类为多个类别的文章。假设我有一个亚特兰大的分类页面,其中列出了分类在亚特兰大的所有文章。在侧边栏中,我只想显示文章归类为亚特兰大的类别以及任何其他类别。那有意义吗?
我正在尝试这样做,而不必编写为我执行此操作的自定义插件。只是不确定是否有办法
好的,所以,我的网站上有很多分类为多个类别的文章。假设我有一个亚特兰大的分类页面,其中列出了分类在亚特兰大的所有文章。在侧边栏中,我只想显示文章归类为亚特兰大的类别以及任何其他类别。那有意义吗?
我正在尝试这样做,而不必编写为我执行此操作的自定义插件。只是不确定是否有办法
是的,你只需这样做:
category="3&7&8"
http://expressionengine.com/user_guide/modules/channel/parameters.html#par_category
不过,我个人讨厌 EE 类别。我这样做的方法是使用 Playa。这个插件很值得。因此,您可以创建一个包含所有类别(城市)的频道,而不是使用 EE 类别。然后,您在您的文章频道中创建一个 playa 字段,允许您选择多个城市。然后在您的模板中,您只需编写一个 if 语句:
{if cities="Atlanta && Sheboygan"}//DO SOMETHING{/if}
当您说“任何其他类别”时,您的意思是“至少一个其他类别”?或者是其他东西?
我不知道有一种自动的方式来做你想做的事,但 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}
请注意,这些示例对您网站的结构进行了一些假设。调整可能是必要的。