作为一名资深的安企CMS网站运营人员,我深知高质量、结构清晰的内容对于网站用户体验和搜索引擎优化的重要性。单页面是网站基础信息展示的核心,例如“关于我们”、“联系方式”和“服务条款”等。在AnQiCMS中,通过强大的模板标签系统,我们可以灵活地获取并展示这些单页面的内容。
接下来,我将详细阐述如何在AnQiCMS模板中获取所有单页面的列表以及特定单页面的详细内容。
获取所有单页面的列表
在AnQiCMS模板中,若要展示网站所有的单页面列表,我们可以使用 pageList 标签。这个标签能够帮助我们轻松地遍历并输出所有已创建的单页面,这在制作网站地图、页脚导航或特定信息模块时非常有用。
pageList 标签的使用方式简洁明了,它不强制要求额外的参数,默认会获取当前站点下的所有单页面数据。您可以将其获取的数据定义到一个变量中,然后通过 for 循环来遍历这个变量,逐一输出每个单页面的详细信息。例如,您可以将数据定义为 pages:
<ul>
{% pageList pages %}
{% for item in pages %}
<li>
<a href="{{item.Link}}">{{item.Title}}</a>
<p>{{item.Description}}</p>
{% if item.Thumb %}
<img src="{{item.Thumb}}" alt="{{item.Title}}" />
{% endif %}
</li>
{% endfor %}
{% endpageList %}
</ul>
在上述代码中,item 变量在循环中代表了每个单页面对象,您可以访问其 Id(单页ID)、Title(单页标题)、Link(单页链接)、Description(单页描述)、Content(单页内容)、Logo(单页缩略图大图)和 Thumb(单页缩略图)等字段。
如果需要根据特定条件排除某些页面,虽然 pageList 标签本身没有直接的过滤参数,但可以在 for 循环内部结合 if 逻辑判断进行过滤。例如,要排除ID为1的单页面:
<ul>
{% pageList pages %}
{% for item in pages %}
{% if item.Id != 1 %}
<li>
<a href="{{item.Link}}">{{item.Title}}</a>
<p>{{item.Description}}</p>
</li>
{% endif %}
{% endfor %}
{% endpageList %}
</ul>
通过这种方式,您可以灵活地控制哪些单页面需要在列表中展示。如果您的网站是多站点架构,并且希望获取特定站点下的单页面列表,可以在 pageList 标签中添加 siteId 参数来指定站点ID。
获取特定单页面的详细内容
当您需要展示某个特定单页面的完整内容,例如“关于我们”页面的详细介绍时,pageDetail 标签是您的**选择。此标签允许您根据单页ID或URL别名来精确获取单个页面的所有字段信息。
pageDetail 标签的基本使用方式是,您可以指定要获取的字段名称,也可以将整个单页面对象获取到一个变量中。例如,要获取当前访问的单页面的标题:
<h1>{% pageDetail with name="Title" %}</h1>
若要获取ID为1的单页面的内容:
<div>
{% pageDetail pageContent with name="Content" id="1" %}
{{pageContent|safe}}
</div>
这里值得注意的是,Content 字段在输出时通常需要配合 |safe 过滤器,以确保HTML内容不会被转义。此外,如果后台开启了Markdown编辑器,Content 字段会自动进行Markdown到HTML的转换。如果需要手动控制转换行为,可以使用 render 参数,例如 render=true 强制转换,render=false 禁用转换。
pageDetail 标签支持的参数包括:
id:单页面的ID,用于精确指定要获取的页面。如果未提供,默认会获取当前页面的单页信息。token:单页面的URL别名,也可以用来指定要获取的页面。siteId:与pageList类似,用于指定多站点环境下的站点ID。
通过 pageDetail,您可以访问的字段包括:Id(单页ID)、Title(单页标题)、Link(单页链接)、Description(单页描述)、Content(单页内容)、Logo(单页缩略图大图)、Thumb(单页缩略图)以及 Images(单页幻灯片组图)。
当需要展示单页面的多张图片(例如Banner图或幻灯片)时,Images 字段会返回一个数组。您可以通过循环来逐一输出这些图片:
{% pageDetail pageImages with name="Images" %}
<ul>
{% for item in pageImages %}
<li>
<img src="{{item}}" alt="{% pageDetail with name="Title" %}" />
</li>
{% endfor %}
</ul>
在AnQiCMS中,单页面的模板文件通常约定为 page/detail.html。如果您希望为某个特定的单页面(例如ID为10的页面)使用独立的模板,可以将其命名为 page/detail-10.html。更进一步,您可以在后台的单页面管理中,为特定页面指定自定义的模板名称,例如 about.html,然后将其文件存放在模板目录下的 page/about.html。
通过 pageList 和 pageDetail 这两个强大的标签,您作为网站运营人员可以轻松驾驭AnQiCMS的单页面内容展示,满足各种复杂的网站布局和信息呈现需求。
常见问题 (FAQ)
如何将单页面添加到网站导航中?
您可以在AnQiCMS后台的“网站导航设置”功能中,创建或编辑导航链接。在“链接类型”中选择“分类页面链接”,然后选择您想要添加的单页面即可。这样,该单页面就会显示在您指定的导航位置。
我能为特定的“关于我们”页面设置一个独有的模板吗?
是的,AnQiCMS支持单页面使用自定义模板。您可以在模板目录下的 page/ 文件夹中创建您自定义的HTML模板文件,例如 about.html。然后,在AnQiCMS后台的“页面管理”中编辑“关于我们”页面,在“单页面模板”字段中填写 about.html 即可。
单页面的SEO应该如何优化?
每个单页面在AnQiCMS后台的“页面管理”中都有独立的SEO设置区域。您可以为每个单页面设置“SEO标题”、“关键词”和“单页面简介”(对应Description)。这些字段将直接输出到页面的<title>和<meta>标签中,对搜索引擎优化至关重要。同时,建议确保单页面的URL别名(自定义URL)具有描述性且包含关键词,以提升SEO效果。