如何在联系方式(`contact`标签)中,将区号和电话号码通过`add`过滤器拼接显示?

📅 👁️ 59

在运营您的网站时,清晰、有效地展示联系方式至关重要。安企CMS(AnQiCMS)凭借其灵活的模板引擎和强大的标签系统,让您可以轻松实现各种复杂的显示需求。今天,我们就来聊聊一个很常见但又有些技巧性的需求:如何在联系方式中,将区号和电话号码通过 add 过滤器拼接显示,让您的联系电话一目了然。

为什么需要拼接区号和电话号码?

想象一下,如果网站上的联系电话是“010”和“12345678”两个独立的数字,访客可能需要自行组合才能理解这是一个完整的号码。而将其拼接为“010-12345678”或“(010) 12345678”,不仅能让访客一眼看清完整的联系号码,避免混淆,还能在某些设计中提供更好的视觉效果,并为后续制作可点击的拨号链接打下基础。

安企CMS联系方式标签 (contact) 的基础运用

在安企CMS中,所有的联系方式信息都通过 contact 标签进行管理和调用。您可以在后台的【后台设置】->【联系方式设置】中,找到默认的联系电话字段(Cellphone),也可以根据需要自定义新的字段,比如一个专门用于区号的字段(例如命名为AreaCode)和一个用于本地电话号码的字段(例如命名为LocalNumber)。

假设您已经在后台设置好了以下两个自定义联系方式字段:

  • 参数名: AreaCode (参数值:010
  • 参数名: LocalNumber (参数值:12345678

在模板中,您可以这样分别获取它们的值:

{# 获取区号 #}
{% contact getAreaCode with name="AreaCode" %}
{# 获取本地电话号码 #}
{% contact getLocalNumber with name="LocalNumber" %}

<p>区号:{{ getAreaCode }}</p>
<p>电话号码:{{ getLocalNumber }}</p>

这段代码会分别输出“010”和“12345678”。

核心技巧:使用 add 过滤器进行拼接

安企CMS的模板引擎支持多种过滤器来处理变量。要将上面分别获取的区号和电话号码拼接起来,add 过滤器是您的得力助手。这个过滤器不仅能用于数字相加,更擅长将字符串连接起来,效果非常直观。

现在,我们尝试将区号和电话号码拼接在一起,并用一个短横线 - 作为分隔符:

{% set areaCode = "" %}
{% set localNumber = "" %}

{# 从后台获取区号和电话号码,假设您已在后台联系方式中设置了这两个自定义字段 #}
{% contact fetchedAreaCode with name="AreaCode" %}
{% if fetchedAreaCode %}{% set areaCode = fetchedAreaCode %}{% endif %}

{% contact fetchedLocalNumber with name="LocalNumber" %}
{% if fetchedLocalNumber %}{% set localNumber = fetchedLocalNumber %}{% endif %}

{# 拼接区号和电话号码 #}
{% if areaCode and localNumber %}
    <p>联系电话:{{ areaCode|add:"-"|add:localNumber }}</p>
    {# 另一种可能的需求,带括号并有空格分隔 #}
    <p>联系电话:{{ "(" | add:areaCode | add:") " | add:localNumber }}</p>
{% elif localNumber %}
    {# 如果只有本地电话,则只显示本地电话 #}
    <p>联系电话:{{ localNumber }}</p>
{% endif %}

在上面的代码中:

  1. 我们首先通过 {% set ... %} 声明了 areaCodelocalNumber 两个变量,并从 contact 标签中获取它们的值。这样做的目的是为了方便后续的逻辑判断和多次使用。
  2. areaCode|add:"-" 会将区号(例如 010)与分隔符 - 拼接成 010-
  3. 紧接着,|add:localNumber 会将上一步的结果 010- 与本地电话号码(例如 12345678)拼接成最终的 010-12345678
  4. 我们还展示了如何通过多次 add 过滤器,将静态字符串(如

相关文章

`add`过滤器能否用于拼接从`system`标签获取的网站名称和页脚版权信息?

在网站运营中,我们常常需要精细化地控制页面内容的展示,尤其是那些需要重复出现在网站各处的全局信息,比如网站名称、页脚版权等。安企CMS(AnQiCMS)提供了强大的模板标签和过滤器,帮助我们灵活处理这些需求。今天,我们就来聊聊一个很实用的场景:安企CMS的`add`过滤器能否用于拼接从`system`标签获取的网站名称和页脚版权信息? 答案是肯定的,而且这种方法既直观又高效。接下来

2025-11-07

在`for`循环中,如何使用`add`过滤器为列表项动态生成唯一的`id`或`class`属性?

在安企CMS的模板开发中,我们常常需要处理动态列表的展示。无论是文章列表、产品展示还是其他内容区块,为了实现更精细的样式控制、JavaScript交互或是确保页面元素的唯一性,为列表中的每一项动态生成一个独有的`id`或`class`属性就显得尤为重要。今天,我们就来聊聊如何在AnQiCMS的`for`循环中,巧妙利用`add`过滤器来实现这一目标。 ### 理解动态属性生成的需求 想象一下

2025-11-07

安企CMS模板中,如何使用`add`过滤器构建动态的SEO友好URL路径?

在安企CMS的模板制作中,灵活且SEO友好的URL路径是提升网站搜索引擎表现的关键。虽然安企CMS在后台提供了强大的伪静态规则配置能力,通过定义如`/{module}-{id}.html`等模式来生成静态化URL,但在某些特定场景下,我们可能需要在模板内部更动态、更精细地控制或组合URL路径的局部,以满足独特的业务需求或营销策略。这时,`add`过滤器便成为了一个非常实用的辅助工具。 ###

2025-11-07

如何利用`add`过滤器在商品价格后动态加上“元”或特定的货币符号?

在管理网站内容时,尤其是涉及到商品展示,我们经常需要把价格等数字信息以更友好的方式呈现给用户。单纯显示一串数字,比如 `199`,往往不够直观,如果能自动加上货币符号,比如 `199元` 或 `$199`,就能大大提升信息的可读性和专业性。安企CMS(AnQiCMS)以其灵活的模板系统,让实现这样的需求变得非常简单,而这其中的关键,就是巧妙运用 `add` 过滤器。 ### 认识 `add`

2025-11-07

`add`过滤器处理浮点数相加时,是否需要特别注意其计算精度?

在使用安企CMS进行网站内容管理时,模板标签和过滤器是我们经常会用到的工具,它们极大地提升了内容呈现的灵活性。其中,`add`过滤器以其简洁的语法,允许我们在模板中进行数值或字符串的相加操作,这在很多场景下都非常方便。然而,当涉及到浮点数(也就是带小数的数字)相加时,一些用户可能会好奇:`add`过滤器在处理这类计算时,是否需要特别注意其计算精度呢? 首先

2025-11-07

如何利用`add`过滤器在页面`TDK`的`Title`中动态添加品牌名或固定后缀?

在网站内容运营中,页面的“标题”(Title)、“关键词”(Keywords)和“描述”(Description),也就是我们常说的 TDK,对搜索引擎优化(SEO)起着至关重要的作用。一个结构良好且具有品牌辨识度的页面标题,不仅能帮助搜索引擎更好地理解页面内容,也能在搜索结果中吸引用户的注意力。安企CMS(AnQiCMS)提供了灵活的模板引擎,让我们能够精细地控制这些关键信息

2025-11-07

`add`过滤器在AnQiCMS模板中进行数学计算,与`tag-calc.md`中的算术运算标签有何区别?

在AnQiCMS的模板开发过程中,我们经常会遇到需要进行数值计算或逻辑判断的场景。系统为我们提供了多种处理方式,其中`add`过滤器和`tag-calc.md`中介绍的算术运算能力是两种常用的工具。虽然它们都涉及数值处理,但在功能定位、使用方式和复杂性上却有着显著的区别。 首先,让我们来了解一下`add`过滤器。顾名思义,`add`过滤器主要用于执行**加法运算或字符串拼接**

2025-11-07

在循环中,如何使用`add`过滤器实现隔行变色或不同样式的CSS类名动态拼接?

在现代网站设计中,列表内容的视觉呈现方式对用户体验有着重要影响。无论是文章列表、产品展示还是评论区,通过赋予列表项不同的样式,例如隔行变色或根据特定条件应用不同类名,都能显著提升页面的可读性和美观度。AnQiCMS 强大的模板引擎提供了灵活的工具来实现这些动态样式需求,其中 `for` 循环中的 `cycle` 标签和 `add` 过滤器便是我们的得力助手。 ###

2025-11-07