在网站内容运营中,我们经常会遇到这样的需求:希望在文章列表页面展示大部分内容,但某些特定分类的文章却不在此列。例如,您可能有一个“公司公告”分类,只想在单独的页面展示,或者有一些仅供内部参考的文章,不希望它们出现在面向公众的常规文章列表中。安企CMS(AnQiCMS)提供了非常灵活且直观的方式来处理这种情况,让您能够精准控制内容在前端的展示。
安企CMS通过其强大的模板标签系统,让内容展示变得高度可定制。当我们需要在网站上显示文章列表时,通常会用到 archiveList 这个核心标签。这个标签不仅能帮助我们调用各种文章内容,还提供了丰富的参数来筛选和排序,其中就包含了一个专门用于排除特定分类的参数。
要实现文章列表中排除特定分类内容的目的,我们主要会利用 archiveList 标签中的 excludeCategoryId 参数。这个参数的作用非常直接:告诉系统,在生成文章列表时,跳过指定分类下的所有文章。
操作起来也很简单。首先,您需要登录到安企CMS的后台管理界面,找到并进入“内容管理”下的“文档分类”页面。在这里,您可以看到所有已创建的分类及其对应的ID。这个ID是每个分类的唯一标识符,也是我们进行排除操作的关键。例如,假设您的“公司公告”分类的ID是 5,而“内部资料”分类的ID是 12。
接下来,回到您网站前端模板中用于展示文章列表的代码。找到使用 archiveList 标签的部分。通常,这会是在列表页、首页或其他需要聚合展示文章的页面模板里。在这个标签中,您可以这样添加 excludeCategoryId 参数:
{% archiveList archives with type="page" limit="10" excludeCategoryId="5,12" %}
{# 列表内容的循环展示代码 #}
{% for item in archives %}
<li>
<a href="{{item.Link}}">
<h5>{{item.Title}}</h5>
<div>{{item.Description}}</div>
</a>
</li>
{% endfor %}
{% endarchiveList %}
在上面的示例代码中,excludeCategoryId="5,12" 告诉安企CMS,在生成 archives 这个文章列表时,请自动排除分类ID为 5 和 12 的所有文章。如果您只需要排除一个分类,只需填写单个ID即可,例如 excludeCategoryId="5"。如果需要排除多个分类,则可以使用英文逗号将这些分类ID连接起来,就像示例中展示的那样。
这种方法的优势在于其灵活性和易用性。您无需修改复杂的逻辑代码,只需在模板标签中添加或修改一个参数,就能轻松实现对文章列表内容的精细化控制。这对于保持网站内容结构清晰,确保用户在不同区域看到最相关、最恰当的内容至关重要。例如,通过排除促销活动分类,您的常规新闻列表就能更加专注于行业动态;通过排除已过期的活动分类,您的活动列表将始终展示最新内容,提升用户体验。
在实际应用中,建议您在修改模板后进行充分测试,确保内容展示符合预期。同时,清晰地记录每个分类的用途和ID,将有助于未来的内容管理和模板维护。
常见问题 (FAQ)
1. excludeCategoryId 和 categoryId 参数有什么区别?
excludeCategoryId 参数用于在文章列表中“排除”掉指定的分类内容,即显示所有分类的文章,除了您明确指定排除的那些。而 categoryId 参数则相反,它用于“包含”指定的分类内容,即只显示您明确指定的某个或某几个分类下的文章,其他分类的文章则不显示。两者是互补的筛选方式,根据您的具体需求选择使用。
2. 我在哪里可以找到需要排除的分类ID?
您可以在安企CMS后台管理界面中找到分类ID。登录后台后,导航至“内容管理” -> “文档分类”页面。在这个页面上,您会看到一个分类列表,每个分类的名称旁边通常会显示其对应的唯一数字ID。记下这些ID,即可在模板标签中使用。
3. 使用 excludeCategoryId 排除内容会影响网站的SEO吗?
通常情况下,使用 excludeCategoryId 参数在前端模板中排除部分内容,主要影响的是用户在特定页面上的视觉体验。如果被排除的内容仍然可以通过其他页面(例如,单独的分类页面、站点地图)被搜索引擎抓取到,那么它并不会对这些内容的SEO表现产生负面影响。这个参数只是控制了内容在特定列表中的“显示”逻辑,而不是将其从网站中“删除”或“隐藏”起来不被搜索引擎发现。