如何在网站上展示所有或部分单页面列表?

📅 👁️ 56

在网站运营中,我们经常需要展示一些独立的、内容相对固定不变的页面,例如“关于我们”、“联系方式”或者某些政策说明等。在安企CMS中,这些被称为“单页面”。有效管理和展示这些单页面,不仅能让网站结构更清晰,也能提升用户体验。

接下来,我们将一起探讨如何在网站上灵活地展示所有或部分单页面列表。

一、理解单页面的创建与管理(后台操作)

在开始前端展示之前,首先要确保已经在安企CMS的后台创建并完善了相应的单页面内容。

  1. 进入页面管理: 登录安企CMS后台,您可以在左侧导航栏找到“页面资源”下的“页面管理”选项。
  2. 创建或编辑单页面: 在这里,您可以添加新的单页面,也可以编辑已有的单页面。每个单页面都包含以下核心信息:
    • 页面名称: 这是单页面的标题,也会直接显示在前端。
    • 自定义URL: 为了SEO友好和链接美观,建议为每个单页面设置一个简洁有意义的自定义URL(例如,about-uscontact)。当您的伪静态规则中包含{filename}字段时,这个自定义URL就会生效。
    • 单页面内容: 这是页面的主体内容,您可以利用富文本编辑器进行编辑,支持图文混排。
    • SEO信息(标题、关键词、描述): 针对每个单页面,您可以单独设置其SEO标题、关键词和描述,以帮助搜索引擎更好地理解和收录页面内容。
    • 显示顺序: 通过调整显示顺序的数字,可以控制单页面在列表中的默认排列。数字越小,越靠前。
    • 单页面模板: 这是一个非常强大的功能。默认情况下,单页面会使用page/detail.html这个通用模板。但如果您希望某个单页面拥有独特的设计,可以在后台指定一个自定义模板文件(例如,为“关于我们”页面指定about.html,只要该文件存在于您的模板page目录下)。

完成单页面的创建和内容填充后,我们就可以着手在网站前端展示它们了。

二、在网站上展示所有单页面列表

如果您希望在一个区域(比如页脚导航或者侧边栏)展示所有已发布的单页面,安企CMS提供了简洁的模板标签pageList来实现。

pageList标签会获取您所有已创建的单页面数据。在模板文件中,您可以这样使用它:

<ul>
{% pageList pages %}
    {% for item in pages %}
    <li>
        <a href="{{ item.Link }}">{{ item.Title }}</a>
    </li>
    {% endfor %}
{% endpageList %}
</ul>

代码解读:

  • {% pageList pages %}:这是核心标签,它会从数据库中获取所有单页面数据,并将这些数据赋值给名为pages的变量。
  • {% for item in pages %}:我们使用一个for循环来遍历pages变量中的每一个单页面,每个单页面的数据都会在循环中通过item变量访问。
  • {{ item.Link }}:这会输出当前单页面的访问链接。
  • {{ item.Title }}:这会输出当前单页面的标题。

通过这个简单的代码片段,您的网站就能动态地展示所有单页面的列表。

三、灵活展示部分单页面列表

有时候,我们并不需要展示所有的单页面,或者希望对某些单页面进行特殊的处理。安企CMS提供了多种灵活的方式来实现这一目的。

1. 通过模板逻辑进行筛选和排除

您可以在for循环中使用if条件判断来筛选或排除特定的单页面。例如,如果您想排除ID为1的单页面:

<ul>
{% pageList pages %}
    {% for item in pages %}
    {% if item.Id != 1 %} {# 假设ID为1的单页面不想展示 #}
    <li>
        <a href="{{ item.Link }}">{{ item.Title }}</a>
    </li>
    {% endif %}
    {% endfor %}
{% endpageList %}
</ul>

您还可以根据标题或其他字段进行筛选:

<ul>
{% pageList pages %}
    {% for item in pages %}
    {# 仅展示标题包含“关于”的单页面 #}
    {% if item.Title|contain:"关于" %} 
    <li>
        <a href="{{ item.Link }}">{{ item.Title }}</a>
    </li>
    {% endif %}
    {% endfor %}
{% endpageList %}

这里我们使用了contain过滤器(参考filter-contain.md),它能判断字符串是否包含特定关键词。

2. 展示特定单页面的详情内容

如果您想在网站的某个特定区域直接展示某个单页面的内容,而不是列表链接,可以使用pageDetail标签。这个标签允许您通过ID或自定义URL别名精确获取单个单页面的详细信息。

例如,在首页直接展示“关于我们”页面的简介:

<div class="about-us-summary">
    <h2>{% pageDetail with name="Title" token="about-us" %}</h2>
    <p>{% pageDetail with name="Description" token="about-us" %}</p>
    <a href="{% pageDetail with name="Link" token="about-us" %}">了解更多</a>
</div>

代码解读:

  • {% pageDetail with name="Title" token="about-us" %}:通过自定义URL别名about-us获取该单页面的标题。
  • {% pageDetail with name="Description" token="about-us" %}:获取该单页面的描述。
  • {{ item.Content|safe }}:如果需要显示完整的内容(可能包含HTML),请务必使用|safe过滤器,以防止HTML内容被转义(参考filter-safe.md)。

3. 利用后台的“单页面模板”功能实现特定设计

如前文所述,在后台编辑单页面时,您可以为它指定一个独立的模板文件。这意味着,当用户访问这个单页面时,系统会自动加载您指定的模板,从而实现完全个性化的设计。

例如,为ID为5的“联系我们”页面指定模板文件contact.html,那么您只需要确保template/你的模板目录/page/contact.html文件存在,并且在后台的“页面管理”中,该单页面的“单页面模板”字段填写为contact.html即可。

四、重要提示与**实践

  • 模板文件位置: 默认的单页面详情模板是template/你的模板目录/page/detail.html。如果您自定义了单页面模板(例如contact.html),它应该放在template/你的模板目录/page/目录下。
  • 伪静态规则: 确保您的网站伪静态规则包含了单页面的规则,通常是page===/{filename}.html或类似的形式,这样才能生成友好的URL(参考help-plugin-rewrite.md)。
  • SEO优化: 充分利用后台单页面的SEO标题、关键词和描述字段,为每个单页面做好独立的SEO优化。
  • 显示顺序: 在后台的“页面管理”中,通过调整“显示顺序”字段,可以方便地控制单页面在列表中的默认排序。
  • 多站点支持: 如果您使用了安企CMS的多站点管理功能,并且希望调用其他站点的数据,可以在pageListpageDetail标签中添加siteId参数来指定(例如{% pageList pages with siteId="2" %})。

通过上述方法,您可以灵活地在安企CMS网站上展示所有或特定部分的单页面列表,满足不同场景下的展示需求。


常见问题(FAQ)

  1. 如何调整单页面在列表中的显示顺序? 您可以在安企CMS后台的“页面资源”->“页面管理”中,编辑每个单页面,找到“显示顺序”字段。通过设置不同的数字来控制排序,数字越小,该单页面在列表中就会越靠前显示。

  2. 我的单页面内容包含HTML代码,但前端显示时被转义了怎么办? 当您在前端模板中输出单页面内容(例如{{ item.Content }}{% pageDetail with name="Content" %})时,如果内容中包含HTML标签,为了安全考虑,系统默认会对其进行转义。如果您确认这些HTML内容是安全的,并希望它们正常解析显示,请在输出时添加|safe过滤器,例如:{{ item.Content|safe }}

  3. 我想为某个单页面设计完全不同的布局,安企CMS能实现吗? 当然可以。在后台编辑该单页面时,有一个“单页面模板”字段。您可以在这里填写一个自定义的模板文件路径(例如about_us_custom.html),并确保这个文件存在于您的模板page目录下(例如template/default/page/about_us_custom.html)。这样

相关文章

如何获取并显示特定分类的详细信息(如描述、Banner图)?

在安企CMS中,灵活地获取并展示分类的详细信息,例如分类的描述、Banner图或缩略图,对于构建内容丰富、视觉吸引力强的网站至关重要。无论是需要在分类列表页展示简介,还是在特定页面引用某个分类的宣传图,安企CMS都提供了直观且强大的模板标签来帮助您实现这些需求。 要获取分类的详细信息,我们主要依赖于 `categoryDetail` 这个模板标签。这个标签专门设计用于提取单个分类的各项数据

2025-11-08

如何根据内容模型或父级关系显示分类列表?

安企CMS作为一款高效的企业级内容管理系统,在内容组织和展示上提供了极大的灵活性。对于许多网站来说,如何根据不同的内容模型或者分类的层级关系来展示分类列表,是一个非常普遍且重要的需求。这不仅关乎网站内容的组织结构,也直接影响到用户体验和搜索引擎优化(SEO)效果。 在安企CMS中,实现这样的展示并不复杂。系统内置的模板标签为我们提供了强大的功能,让我们能够得心应手地控制分类列表的输出

2025-11-08

如何在内容页面正确显示面包屑导航路径?

面包屑导航(Breadcrumb Navigation)是一种在网站上非常常见且实用的导航方式,它能够清晰地显示用户在网站层级结构中的当前位置,就像面包屑撒落在森林中指引归途一样。对于用户而言,面包屑导航不仅能帮助他们快速了解当前页面在整个网站中的层级关系,还能方便他们回溯到上一级或更高级别的页面,极大提升了网站的用户体验。同时,对于搜索引擎优化(SEO)来说

2025-11-08

如何在网站中构建和显示多级导航菜单?

网站导航菜单是用户浏览网站内容的指路明灯,一个精心设计的多级导航系统能够显著提升用户体验,帮助访客快速定位所需信息。无论是企业官网、产品展示页还是内容门户,一套清晰、直观且易于操作的导航都是网站成功的关键要素。安企CMS作为一款功能全面且灵活的内容管理系统,提供了直观的后台设置和强大的模板标签,让您能够轻松构建和管理满足各种需求的多级导航菜单。本文将带您了解如何在安企CMS中

2025-11-08

如何获取并显示特定单页面的全部内容及关联图片?

在安企CMS中,单页面是网站内容构成的重要部分,比如“关于我们”、“联系方式”等。有效地获取并展示这些单页面的全部内容以及关联图片,对于网站的信息传达和视觉表现至关重要。安企CMS提供了直观的后台管理和灵活的模板标签,让这一过程变得非常便捷。 ### 在后台轻松设置单页面内容和图片 首先,我们需要在安企CMS的后台管理系统中创建和编辑单页面内容。这通常在“页面资源”下的“页面管理”模块进行

2025-11-08

如何根据不同条件(如分类、推荐属性)显示文档列表?

在安企CMS中,灵活地展示网站内容是提升用户体验和满足运营需求的关键。无论是根据文章所属的分类,还是内容的推荐属性,系统都提供了强大且易于使用的模板标签,让您能够轻松地定制文档列表的显示方式。 ### 核心利器:`archiveList` 文档列表标签 在安企CMS中,用来控制文档列表展示的核心工具是`archiveList`标签。它允许您根据多种条件来筛选、排序和限制显示的文档数量

2025-11-08

如何在文章详情页显示完整的文章内容,包括懒加载图片?

安企CMS:如何在文章详情页优雅地展示完整内容与懒加载图片 在网站内容运营中,文章详情页是用户获取信息、深入了解品牌和产品的重要触点。一个设计精良、加载迅速、内容展示完整的文章详情页,不仅能极大提升用户体验,还能有效助力SEO优化。对于使用安企CMS的用户而言,充分利用其强大的模板标签系统,可以轻松实现文章内容的完整呈现,并结合现代网页技术实现图片的懒加载,让您的网站既美观又高效。 ###

2025-11-08

如何在AnQiCMS中显示带有Markdown格式的数学公式和流程图?

在内容运营中,有时我们需要展示复杂的数学公式或清晰的流程图,尤其是在技术文章、数据报告或教育内容中。AnQiCMS 凭借其强大的 Markdown 编辑器,为我们提供了实现这一需求的便利。通过简单的配置和引入必要的库文件,您就能让这些专业内容在网站前端完美呈现。 ### 启用 AnQiCMS 的 Markdown 编辑器 首先,要让 AnQiCMS 识别并处理 Markdown 格式的内容

2025-11-08