如何在页面中动态显示文章或产品的“推荐属性”(如头条、推荐)?

📅 👁️ 75

在运营网站内容时,我们经常需要对某些文章或产品进行特别推荐,比如“头条”、“热门”或“推荐”等,以便在页面上更醒目地展示它们,引导用户关注。AnQiCMS 提供了一套非常灵活的“推荐属性”功能,让你可以轻松实现这一点。接下来,我们一起看看如何在AnQiCMS中设置这些属性,并把它们动态地显示在你的网站页面上。

核心概念:理解“推荐属性”及其应用

AnQiCMS 中的“推荐属性”是一种标记内容重要性或分类用途的方式。当你发布或编辑文章、产品时,可以在后台找到“推荐属性”选项。系统内置了多种常用的属性,每种属性都对应一个简短的字母代号,方便你在模板中进行调用:

  • 头条 [h]:通常用于网站首页最重要、最显眼的位置。
  • 推荐 [c]:泛指被推荐的内容,可以在各种列表或侧边栏中显示。
  • 幻灯 [f]:常用于轮播图或幻灯片区域的内容。
  • 特荐 [a]:特别推荐的内容。
  • 滚动 [s]:可能用于滚动新闻或公告。
  • 加粗 [h]:文档中提到,这个属性代号和头条重复了,使用时需要留意实际效果。
  • 图片 [p]:表示内容带有图片,方便筛选纯图片类内容。
  • 跳转 [j]:表示点击后会跳转到外部链接的内容。

这些属性并非互斥,你可以为同一篇文章或产品勾选多个推荐属性。例如,一篇文章可以同时是“头条”和“推荐”。

在后台设置这些属性非常直观。当你进入“内容管理”模块,无论是“添加文档”还是“编辑文档”,在编辑界面的右侧都会看到“推荐属性”这个选项,你只需勾选相应的属性即可。

前端展示:如何在页面中动态调用

理解了“推荐属性”的设置,下一步就是如何在网站页面上动态地展示这些内容。AnQiCMS 强大的模板标签系统让这一过程变得简单。

情景一:在列表页筛选显示特定推荐属性的内容

你可能希望在网站首页有一个区域专门展示“头条”文章,或者在产品列表页的顶部推荐几款“热销”产品。这时,archiveList 标签就能派上用场。它有一个 flag 参数,允许你根据推荐属性来过滤内容。

例如,要在网站的某个区域显示5篇“头条”文章,你可以这样编写模板代码:

<section class="headline-articles">
    <h2>最新头条</h2>
    <ul>
        {% archiveList headlines with moduleId="1" flag="h" limit="5" %}
            {% for article in headlines %}
                <li>
                    <a href="{{ article.Link }}">{{ article.Title }}</a>
                    <span>发布日期:{{ stampToDate(article.CreatedTime, "2006-01-02") }}</span>
                </li>
            {% empty %}
                <li>暂无头条文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</section>

在这个例子中:

  • moduleId="1" 表示我们调用的是文章模型的内容(通常文章模型的ID是1,具体请查看后台内容模型设置)。
  • flag="h" 明确指定只获取被标记为“头条”的内容。
  • limit="5" 则限制只显示最新的5篇符合条件的内容。

需要特别注意的是,archiveList 标签的 flag 参数一次只能指定一个属性代号。 这意味着你不能直接通过 flag="h,c" 来同时获取“头条”和“推荐”的内容。如果你需要展示多种推荐属性的内容,可能需要使用多个 archiveList 标签块,或者在获取所有内容后,在循环内部通过判断来显示。

情景二:在内容详情页或列表项旁展示内容的推荐属性标记

除了筛选显示,你可能还希望在文章或产品的标题旁边,或者在列表项的某个位置,直接显示它具有的推荐属性。比如,在文章标题旁加上一个“头条”或“推荐”的角标。

当你使用 archiveList 标签循环出内容时,每个 item 对象都会包含一个 Flag 字段,其中存储了该内容所有的推荐属性代号,例如 "h,c"。你可以在模板中通过 contain 过滤器来判断 Flag 字段是否包含某个特定的属性代号。

以下是一个在文章标题旁显示推荐属性标记的示例:

<article class="article-detail">
    <h1 class="article-title">
        {{ archive.Title }}
        {% if archive.Flag|contain:"h" %} <span class="flag-headline">头条</span> {% endif %}
        {% if archive.Flag|contain:"c" %} <span class="flag-recommend">推荐</span> {% endif %}
        {% if archive.Flag|contain:"f" %} <span class="flag-carousel">幻灯</span> {% endif %}
    </h1>
    <div class="article-meta">
        <span>分类:<a href="{{ archive.Category.Link }}">{{ archive.Category.Title }}</a></span>
        <span>发布日期:{{ stampToDate(archive.CreatedTime, "2006-01-02") }}</span>
        <span>阅读量:{{ archive.Views }}</span>
    </div>
    <div class="article-content">
        {{ archive.Content|safe }}
    </div>
</article>

在这个例子中:

  • 我们直接使用了 archive.Title 获取当前文档的标题。
  • {% if archive.Flag|contain:"h" %} 这行代码判断当前文档的 Flag 属性中是否包含 h(头条)这个代号。如果包含,就显示一个 <span> 标签,内容为“头条”。
  • 你可以根据需要,为不同的属性代号添加不同的样式类(如 flag-headline, flag-recommend),并通过 CSS 来美化它们的显示效果,比如设置背景色、字体样式等,让它们看起来像一个醒目的标签。

如果你是在一个 archiveList 循环内部,代码会非常类似,只需将 archive 替换为循环变量(例如 item)即可:

”`twig {% archiveList articles with moduleId=“1” limit=“10” showFlag=true %} {# 注意这里添加了 showFlag=true 参数 #}

{% for item in articles %}
    <div class="article-item">
        <h3>
            <a href="{{ item.Link }}">{{ item.Title }}</a>
            {% if item.Flag|contain:"h" %} <span class="flag-headline">头条</span> {% endif %}
            {% if item.Flag|contain:"c" %} <span class="flag-recommend">推荐</span> {% endif %}
        </h3>
        <p>{{ item.Description }}</p>
    </div>
{%

相关文章

AnQiCMS如何实现多语言内容的切换和正确显示?

面对全球化的内容运营需求,让您的网站能够支持多语言内容的切换与正确显示,是拓展市场、提升用户体验的关键一步。安企CMS(AnQiCMS)作为一款功能丰富的内容管理系统,提供了直观且强大的多语言解决方案,帮助您轻松应对这一挑战。接下来,我们将详细探讨如何在AnQiCMS中实现这一目标。 ### AnQiCMS多语言支持的核心理念 AnQiCMS在设计之初就考虑到了多语言内容的需求

2025-11-08

如何在AnQiCMS前端展示内容模型中定义的自定义字段?

AnQiCMS 的灵活内容模型是其核心优势之一,它让我们可以根据实际业务需求,为不同类型的内容定义独特的字段,从而摆脱传统 CMS 固定的内容结构限制。当我们创建好这些自定义字段后,接下来的关键一步就是在网站前端将它们优雅地展示出来。 这篇文章将详细为您介绍如何在 AnQiCMS 后台定义自定义字段,以及如何在前端模板中灵活地调用和展示这些信息,让您的网站内容更具个性化和实用性。 ### 一

2025-11-08

AnQiCMS如何自定义文章、产品和单页面的显示模板?

在AnQiCMS中,自定义文章、产品和单页面的显示模板是一项非常灵活且强大的功能,它让您可以根据网站的独特需求,为不同类型的内容创建专属的展示样式。通过精心设计的模板,不仅能提升用户体验,还能更好地突出内容重点,实现品牌风格的统一。 AnQiCMS采用了类似Django的模板引擎语法,这意味着如果您熟悉这种简洁直观的语法,就能很快上手。模板文件通常以`.html`为后缀,并统一存放在

2025-11-08

如何利用`archiveParams`标签获取并展示文档自定义参数字段的内容?

在日常的网站运营中,我们常常会遇到这样的需求:标准化的内容字段已无法满足多样化的信息展示。例如,一个产品详情页可能需要展示“型号”、“材质”、“保修期”等独有属性,而一篇普通文章则可能需要额外注明“文章来源”、“预计阅读时长”等。安企CMS深知这种灵活性对内容运营的重要性,因此提供了强大的自定义参数功能,并辅以 `archiveParams` 标签,让您能够轻松获取并展示这些文档专属的定制化信息

2025-11-08

AnQiCMS支持哪些缩略图处理方式,如何设置以优化显示效果?

在网站运营中,图片内容扮演着至关重要的角色,尤其精致的缩略图能够迅速吸引用户注意力,提升页面的视觉美感和点击率。安企CMS(AnQiCMS)在图片处理方面提供了灵活多样的功能,特别是针对缩略图的生成和优化,旨在帮助网站实现**的显示效果。 我们将深入探讨AnQiCMS支持哪些缩略图处理方式,以及如何通过合理的设置,让您的网站图片焕发活力。 ### AnQiCMS 缩略图处理的核心机制 首先

2025-11-08

如何设置默认缩略图,以便在文章无图时自动显示?

在内容运营中,图片扮演着至关重要的角色。它们不仅能抓住访问者的眼球,提升阅读兴趣,还能有效传达信息,增强品牌形象。然而,在日常更新文章时,我们可能偶尔会忘记上传缩略图,或者有些内容本身就不适合配图。这时,文章列表或详情页上出现一片空白,就显得有些不专业和影响用户体验了。 好在安企CMS(AnQiCMS)考虑到了这一点,为我们提供了一个非常实用的功能:设置默认缩略图。有了它,即使文章没有配图

2025-11-08

如何在前端页面中显示文章或产品的浏览量?

让内容活力尽显:在安企CMS前端页面轻松展示文章或产品浏览量 在网站运营中,文章或产品的浏览量往往是衡量内容受欢迎程度的一个重要指标。它不仅能为访问者提供直观的参考,形成“社会认同”效应,引导他们发现热门内容,也能帮助运营者快速识别高价值内容。安企CMS作为一款高效的内容管理系统,充分考虑了用户的实际需求,让在前端页面展示文章或产品的浏览量变得非常简单直观。 接下来

2025-11-08

AnQiCMS如何实现文章列表的分页显示功能?

文章列表的分页显示功能对于任何内容管理系统来说都至关重要,它不仅能提升用户浏览体验,避免单页内容过长导致加载缓慢,更能帮助搜索引擎更好地抓取和索引网站内容。在AnQiCMS中,实现这一功能既灵活又高效,得益于其简洁的模板标签设计。 接下来,我们将一起了解如何在AnQiCMS中轻松实现文章列表的分页显示。 ### AnQiCMS中分页功能的核心组件 在AnQiCMS的模板系统中

2025-11-08