在安企CMS中,无论是展示单个文章的详细内容,还是在列表页中预览多篇文章,灵活地获取并显示文章的标题、详细内容、简介和推荐属性都是网站运营的基础。安企CMS的设计使得这一过程直观而高效,我们主要通过模板标签和变量调用的方式来实现。
首先,了解安企CMS的模板系统是关键。它采用了类似于Django的模板引擎语法,这意味着您将主要使用双花括号 {{变量}} 来显示数据,以及单花括号和百分号 {% 标签 %} 来执行逻辑判断或调用特定功能。
获取和显示单个文章的详细信息
当您访问一篇具体的文章页面时,通常需要展示其完整的标题、详细内容、简洁的介绍以及可能设置的推荐属性。安企CMS为当前页面的文章提供了一个名为 archive 的全局变量,您可以直接通过它来访问文章的各项字段。
1. 文章标题 (Title)
文章的标题是内容的灵魂,在详情页中,您可以通过以下方式轻松获取并显示:
<h1>{{archive.Title}}</h1>
如果您的模板需要获取指定ID文章的标题,可以使用 archiveDetail 标签,并传入文章的ID:
{# 获取ID为10的文章标题 #}
<h2>{% archiveDetail with name="Title" id="10" %}</h2>
2. 详细内容 (Content)
文章的核心内容是详细信息的重要组成部分。安企CMS的 archive.Content 字段包含了文章的完整内容,这可能包括HTML标签或Markdown格式的文本。为了确保HTML内容能够正确渲染而不是作为纯文本显示,您需要使用 |safe 过滤器。如果内容是Markdown格式,安企CMS会自动将其转换为HTML:
<div class="article-content">
{{archive.Content|safe}}
</div>
若您希望获取指定ID文章的详细内容,同样可以使用 archiveDetail 标签:
{# 获取ID为10的文章详细内容,并正确渲染HTML #}
<div class="other-article-content">
{% archiveDetail articleContent with name="Content" id="10" %}
{{articleContent|safe}}
</div>
3. 文章简介 (Description)
文章简介是对内容的简要概括,在详情页中通常用于SEO优化或作为内容的快速预览。安企CMS会将您在后台填写的简介原样输出。如果您在发布文章时没有手动填写简介,系统会自动提取文章内容的前150字作为简介。
<p class="article-description">
{{archive.Description}}
</p>
同样,针对指定文章ID获取简介:
{# 获取ID为10的文章简介 #}
<p class="other-article-description">
{% archiveDetail with name="Description" id="10" %}
</p>
4. 推荐属性 (Flag)
安企CMS允许您为文章设置多种推荐属性,如头条、推荐、幻灯等,它们在后台以单个字母(例如 h 代表头条,c 代表推荐)来标识。在文章详情页,{{archive.Flag}} 将直接显示这些属性字母。
<p class="article-flags">推荐属性:{{archive.Flag}}</p>
这些属性字母可以用于在模板中进行条件判断,例如,判断文章是否被设置为头条:
{% if archive.Flag | contain: "h" %}
<span class="flag-headline">头条</span>
{% endif %}
获取和显示文章列表中的信息
在分类页、首页或其他列表页面,您可能需要展示多篇文章的简略信息,包括标题、简介和推荐属性,以及文章链接和缩略图等。这时,archiveList 标签就派上了用场。
1. 文章列表的获取与遍历
archiveList 标签用于获取一个文章列表,您可以根据需要设置不同的筛选条件,如分类ID、显示数量、排序方式等。获取到的文章列表是一个数组对象,需要通过 for 循环来遍历。
{% archiveList archives with type="list" limit="10" categoryId="1" %}
{% for item in archives %}
<div class="article-item">
{# 这里将显示每篇文章的标题、简介、推荐属性等 #}
</div>
{% endfor %}
{% endarchiveList %}
上述代码中,type="list" 表示获取一个普通列表,limit="10" 限制显示10篇文章,categoryId="1" 则指定了文章所属的分类ID。archives 是您自定义的变量名,代表获取到的文章列表。
2. 显示列表中的文章标题和链接
在列表循环中,item.Title 用于显示每篇文章的标题,item.Link 则提供了文章的访问链接:
<h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
3. 显示列表中的文章简介
在文章列表中,我们通常会显示简介而非详细内容,以提供快速预览:
<p class="item-description">{{item.Description}}</p>
4. 列表中的推荐属性
推荐属性在列表页中通常有两种用法:一是用于筛选文章,二是用于在文章旁边显示一个小图标或标记。
筛选列表中的推荐文章: 如果您只想显示被设置为“推荐”属性的文章,可以在
archiveList标签中添加flag="c"参数(假设c代表推荐)。请注意,每次调用archiveList标签时,只能使用一个推荐属性进行筛选。”`twig {# 只显示被设置为“推荐”属性的文章列表 #} {% archiveList recommendedArticles with type=“list” limit=“5” flag=“c” %}
{% for item in recommendedArticles %} <div class="recommended-