在网站运营中,分类页面的内容展示逻辑对用户体验和信息架构有着重要影响。我们常常会遇到这样的需求:当一个分类下有子分类时,优先展示这些子分类,方便用户进行更细致的导航;而如果该分类没有子分类,则直接展示该分类下的文章列表,避免页面内容为空或导航层级过深。安企CMS(AnQiCMS)提供了灵活的模板标签,可以轻松实现这种动态显示效果。
理解分类页面的动态显示逻辑
要实现分类页面的智能展示,核心在于判断当前分类是否存在子分类。根据判断结果,我们采取不同的展示策略:
- 若存在子分类: 展示当前分类下的所有子分类,通常以列表或卡片形式呈现,引导用户进入更具体的分类。
- 若不存在子分类: 展示当前分类所包含的文章列表,让用户能够直接浏览内容。
这种设计能够有效提升网站的可用性,让用户无论在哪个层级的分类页面,都能找到有价值的信息,而不是看到一个空荡荡的页面。
安企CMS实现动态展示的关键模板标签
安企CMS的模板系统基于Django模板引擎语法,提供了强大的标签功能来获取和处理数据。要实现上述逻辑,我们需要用到以下几个核心标签:
categoryDetail标签: 用于获取当前分类的详细信息。我们可以通过它获取当前分类的ID,以便作为参数传递给其他标签。- 用法示例:
{% categoryDetail currentCategory %}(获取当前分类的完整对象)或{% categoryDetail currentCategoryId with name="Id" %}(仅获取当前分类的ID)。
- 用法示例:
categoryList标签: 用于获取分类列表,这正是我们用来查找子分类的关键。- 主要参数:
parentId:指定父分类ID,用来获取其直接子分类。当在分类页面使用时,如果传入当前分类的ID,就能获取到当前分类的所有子分类。moduleId:指定内容模型ID,确保获取的是特定模型的分类(如文章模型、产品模型)。
- 返回属性: 在遍历
categoryList返回的item时,每个分类项都包含Id、Title、Link等信息。
- 主要参数:
archiveList标签: 用于获取文章(或任何文档模型下的内容)列表。- 主要参数:
categoryId:指定分类ID,获取该分类下的文章。type:通常设置为"list"(获取固定数量)或"page"(获取可分页列表)。limit:限制文章数量。
- 返回属性: 遍历
archiveList返回的item时,每个文章项包含Id、Title、Link、Description、Thumb等信息。
- 主要参数:
4