【问题标题】:How to format the address in TWIG?如何格式化 TWIG 中的地址?
【发布时间】:2020-01-14 13:46:13
【问题描述】:

我有一个 Drupal 站点,我想在 TWIG 中格式化地址。

如何删除地址前后的空格?

如何将标签"<br>"替换为" - "

这是 TWIG 代码:

<strong>Adresse postale :</strong> {{ store.address }}

这里是渲染:

<pre class="text-left"><strong>Raison sociale :</strong> Poupette &amp; Cacahuète.
<strong>Adresse postale :</strong> 
            <div class="field field--name-address field--type-address field--label-hidden field--item"><p class="address" translate="no"><span class="address-line1">rue du vermont</span><br>
<span class="postal-code">14600</span> <span class="locality">Honfleur</span><br>
<span class="country">France</span></p></div>

<strong>Téléphone :</strong> .
<strong>Adresse électronique :</strong> poupette.cacahuete14@gmail.com
<strong>Boutique :</strong> https://www.s1biose.com/fr/boutique/poupette-cacahuete
Immatriculé au  de  sous le numéro .
</pre>

【问题讨论】:

    标签: html drupal tags twig drupal-8


    【解决方案1】:

    您可以像这样使用replacetrim 函数:

    {{ store.address|trim|replace({'<br>': '-'})|raw  }}
    

    【讨论】:

    • replace 的输出未标记为安全,因此您还需要应用过滤器 raw
    • @DarkBee,你的 cmets 比我的答案更好,所以创建你的答案,然后我删除我的答案,然后投票给你的答案 :)
    • @doydoy44 我的 cmets 不正确。第一个,标记以纯文本呈现,第二个没有呈现。这是我要渲染的内容:rue du vermont - 14600 Honfleur - France
    • @doydoy44 我想将地址放在一行上,不带标记 + 将 &lt;br&gt; 替换为 " - " + 删除前后的空格。
    • @Mathieu 你测试 rim 功能来去除空格吗?
    【解决方案2】:

    如果您想完全控制此渲染,您可以使用store.address.my_value 访问各个地址“片段”。例如,您在评论中描述的地址如下所示:

    <span class="my-class">
    {{ store.address.address_line1 }} - {{ store.address.postal_code }} {{ store.address.locality }} - {{ store.address.country }}
    </span>
    

    如果这是您始终希望它出现的方式,请考虑为address-plain.html.twig 模板添加一个主题覆盖,以始终如一地呈现它。您可以首先从 docroot/modules/contrib/address/templates/address-plain.html.twig 复制模块的模板,然后在您的主题中将其更改为您喜欢的。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 2017-11-14
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 2011-04-21
      • 1970-01-01
      相关资源
      最近更新 更多