如何在安企CMS中显示多语言切换链接和当前的语言标识?

📅 👁️ 58

在安企CMS中,实现多语言切换链接和当前语言标识是一个非常实用的功能,它能帮助您的网站轻松面向全球用户,提升网站的国际化水平。安企CMS为此提供了直观而强大的模板标签,让您能够灵活地在网站前端展示这些元素。

一、理解安企CMS的多语言能力

安企CMS从设计之初就考虑到了多语言站点的需求,提供了完善的多语言内容管理支持。这意味着您可以在后台为不同的语言创建和管理独立的内容,例如文章、产品、页面等。在系统设置中,您可以配置默认的语言包,而每个独立的站点也可以拥有自己的语言设置。这项功能不仅让内容运营更加高效,也为前端展示多语言切换提供了坚实的基础。

二、在模板中显示多语言切换链接

要在您的网站前端显示一个多语言切换的下拉菜单或链接组,您需要利用安企CMS提供的 {% languages %} 模板标签。这个标签会获取所有已配置的多语言站点信息,供您在模板中遍历并生成相应的链接。

这个标签不接受任何参数,它会直接返回一个包含所有语言站点信息的集合。您可以像处理普通列表一样,使用 for 循环来遍历这个集合,并提取出每个语言站点的相关数据。

在每个语言站点的数据项中,您可以获取到以下关键信息:

  • LanguageName:语言的显示名称(例如“简体中文”,“English”)。
  • Language:语言的代码(例如“zh-CN”,“en-US”),常用于hreflang标签。
  • LanguageEmoji:语言对应的表情符号(例如🇨🇳,🇬🇧),方便直观显示。
  • LanguageIcon:如果后台上传了语言图标,这里会提供图标的URL。
  • Name:站点的名称。
  • Link:该语言站点的访问链接,这是进行语言切换的关键。

有了这些信息,您就可以在网站的页头、页脚或侧边栏等任何您希望显示语言切换功能的位置添加代码。

这是一个简单的示例,展示如何构建一个语言切换菜单:

{% languages websites %}
    {% if websites %}
        <ul class="language-switcher">
            {% for item in websites %}
                <li>
                    <a href="{{item.Link}}">
                        {% if item.LanguageIcon %}
                            <img src="{{item.LanguageIcon}}" alt="{{item.LanguageName}}" style="width: 20px; height: 20px; vertical-align: middle; margin-right: 5px;"/>
                        {% else %}
                            <span style="margin-right: 5px;">{{item.LanguageEmoji}}</span>
                        {% endif %}
                        {{item.LanguageName}}
                    </a>
                </li>
            {% endfor %}
        </ul>
    {% endif %}
{% endlanguages %}

在这段代码中,我们首先通过 {% languages websites %} 获取所有语言站点列表。然后,使用 {% for item in websites %} 循环遍历每个语言站点。在循环内部,我们创建了一个 <a> 标签,其 href 属性直接使用 {{item.Link}} 来指向对应语言的站点。为了美观,我们还判断了是否存在 LanguageIcon,如果存在则显示图标,否则显示 LanguageEmoji,最后显示 LanguageName

三、标识当前的语言

除了提供切换链接,清晰地标识当前用户正在浏览的语言版本同样重要。安企CMS在 {% languages %} 标签返回的每个语言站点数据中,包含一个 IsCurrent 字段。当某个语言站点是当前页面所处的语言时,IsCurrent 的值为 true,否则为 false

利用这个 IsCurrent 字段,您可以为当前语言的切换链接添加特殊的样式,例如高亮显示、加粗字体,或者添加一个“active”类名,通过CSS进行视觉上的区分。

我们将上面的语言切换代码稍作修改,以包含当前语言的标识:

{% languages websites %}
    {% if websites %}
        <ul class="language-switcher">
            {% for item in websites %}
                <li {% if item.IsCurrent %}class="active"{% endif %}> {# 如果是当前语言,添加 active 类 #}
                    <a href="{{item.Link}}">
                        {% if item.LanguageIcon %}
                            <img src="{{item.LanguageIcon}}" alt="{{item.LanguageName}}" style="width: 20px; height: 20px; vertical-align: middle; margin-right: 5px;"/>
                        {% else %}
                            <span style="margin-right: 5px;">{{item.LanguageEmoji}}</span>
                        {% endif %}
                        {{item.LanguageName}}
                    </a>
                </li>
            {% endfor %}
        </ul>
    {% endif %}
{% endlanguages %}

在您的CSS文件中,您可以定义 .active 类的样式,例如:

.language-switcher li.active a {
    color: #007bff; /* 蓝色字体 */
    font-weight: bold; /* 字体加粗 */
    border-bottom: 2px solid #007bff; /* 下划线 */
}

此外,对于HTML文档的 <html> 标签,通常会添加 lang 属性来声明文档的主要语言,这对于搜索引擎优化(SEO)和辅助功能(Accessibility)都非常重要。您可以使用 {% system %} 标签来获取当前站点的语言代码:

<html lang="{% system with name='Language' %}">

这将确保您的HTML文档始终正确声明其语言。

四、优化用户体验:Hreflang标签

对于多语言网站,除了前端的切换链接,在 <head> 部分添加 hreflang 标签是SEO的关键。hreflang 标签告诉搜索引擎特定页面有哪些语言版本,以及这些版本是针对哪个地区或语言的。这有助于搜索引擎向用户展示最合适的语言或地区版本。

安企CMS也为此提供了便利,您可以直接使用 {% languages %} 标签来生成这些 hreflang 标签:

{% languages websites %}
    {% for item in websites %}
        <link rel="alternate" href="{{item.Link}}" hreflang="{{item.Language}}">
    {% endfor %}
{% endlanguages %}

将这段代码放置在您模板的 <head> 部分,它会自动为每个语言站点生成一个 hreflang 链接,大大提升网站的国际SEO表现。

五、实践建议与灵活应用

  • 位置选择: 语言切换器通常放置在网站的页头、页脚或易于访问的侧边栏,确保用户能够快速找到并切换语言。
  • 样式定制: 上述代码仅提供了基础结构,您可以结合自己的网站设计,使用CSS和JavaScript对语言切换器进行美化,使其与整体风格协调一致。
  • 抽离为公共片段: 考虑到语言切换器会在多个页面重复出现,建议将其代码封装在 partial 文件夹下的一个独立模板文件(例如 _language_switcher.html)中,然后通过 `{% include “partial/_language

相关文章

安企CMS的网站在闭站维护期间如何显示自定义提示信息?

网站运营过程中,有时为了系统升级、数据优化或功能调整,我们不得不暂时关闭网站进行维护。此时,如何向访客清晰、友好地传达这一状态,避免用户困惑或流失,便显得尤为重要。安企CMS为此提供了一套贴心的内置解决方案,让您可以轻松自定义网站在闭站维护期间的提示信息。 ### 理解安企CMS的闭站机制 安企CMS的闭站功能设计得非常直观且灵活。当您启用闭站模式时,系统会自动拦截所有对网站内容的访问请求

2025-11-08

如何在安企CMS模板中引用公共代码片段(如页头、页脚)来统一页面显示?

在网站运营中,保持页面显示的一致性至关重要。一个统一的网站外观不仅能提升品牌专业度,还能优化用户体验。AnqiCMS 提供了强大且灵活的模板机制,让我们可以高效地管理网站的公共元素,例如页头和页脚,从而避免重复编写代码,确保全站风格的统一。 AnqiCMS 的模板系统借鉴了 Django 模板引擎的语法,其核心思想是允许开发者定义可重用的代码片段和页面骨架

2025-11-08

安企CMS如何配置内容自动过滤外链,并影响前端链接显示?

在网站内容运营中,外部链接的管理是一个不容忽视的环节。它不仅关系到用户体验,更直接影响到网站的搜索引擎优化(SEO)表现。安企CMS深知这一点,因此提供了一套灵活且实用的外链处理机制,帮助内容运营者高效管理文章中的外部链接。 ### 安企CMS外链配置在哪里? 安企CMS提供了一个非常便捷的功能来处理外链问题,您可以在系统后台轻松进行配置。具体路径是:登录您的安企CMS后台

2025-11-08

如何在安企CMS中设置大图自动压缩以加快页面加载速度?

优化图片,加速网站:AnqiCMS 大图自动压缩设置指南 网站访问速度是用户体验的关键之一,也是搜索引擎优化(SEO)的重要考量因素。而大尺寸图片常常是拖慢网站加载速度的罪魁祸首。幸运的是,AnqiCMS 作为一个功能完善的内容管理系统,内置了一系列强大的图片优化功能,帮助我们轻松应对这个问题,让网站在提供丰富视觉内容的同时,保持流畅的访问体验。 今天,我们就来详细了解如何在 AnqiCMS

2025-11-08

安企CMS如何为文章内容中的URL和邮箱地址自动添加超链接并显示?

在内容管理和网站运营中,让文本中的网址(URL)和邮箱地址自动转换为可点击的超链接,不仅能极大提升用户体验,还能在一定程度上优化网站的内部链接结构。对于AnQiCMS的用户来说,实现这一功能并非通过简单的后台设置,而是通过其强大的模板引擎提供的特定“过滤器”(filter)来实现。这种设计思路赋予了网站所有者极大的灵活性和控制权,可以根据不同内容区域的需求,精细地管理链接的生成方式。 ###

2025-11-08

如何在安企CMS模板中对长字符串进行截断并显示省略号?

在安企CMS的模板制作过程中,内容展示的灵活性至关重要。当我们需要在有限的空间内展示较长的文本,例如文章摘要、产品描述或简短介绍时,对这些字符串进行截断并以省略号结尾是一种常见的优化手段,它能有效保持页面布局的整洁,并引导用户点击查看完整内容。安企CMS基于Go语言开发,其模板引擎语法类似Django,提供了强大的过滤器(filters)功能,可以轻松实现这一需求。 ### 巧妙运用过滤器

2025-11-08

安企CMS的模板如何实现继承父模板并重写特定区块内容以定制显示?

在安企CMS中,模板系统提供了强大而灵活的机制,让用户能够高效地定制网站的布局和内容展示。其中,“继承父模板并重写特定区块内容”是实现个性化设计和保持网站整体风格一致性的关键功能。 ### 核心理念:告别重复,拥抱继承 想象一下,一个网站的头部、底部、侧边栏等元素,在几乎所有页面上都是固定不变的。如果没有模板继承机制,我们可能需要在每个页面模板中重复编写这些公共代码,这不仅增加了维护难度

2025-11-08

安企CMS如何利用“时间因子”功能显示未来发布的内容?

在当今快节奏的内容环境中,如何高效、有策略地发布内容,是每一个内容运营者都在思考的问题。保持内容发布的连贯性和预见性,不仅能提升用户体验,更能有效助推品牌传播和搜索引擎优化。安企CMS深谙此道,其“时间因子”功能正是为此而生,为内容创作者和运营团队提供了一把精准把控发布时机的利器。 ## 精准规划:内容运营的基石 我们都曾面临这样的场景:撰写了一篇精心准备的文章

2025-11-08