【问题标题】:How to delete part of the code in TWIG for Drupal?如何删除 TWIG for Drupal 中的部分代码?
【发布时间】:2020-04-20 17:23:09
【问题描述】:

我使用此代码在其节点中打印标志:

{{ content.flag_like_node }}

当我在节点的模板中打印我的标志时,渲染如下:

<div class="bs-field-like-link"><a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapse1"></a><div class="flag flag-like-store js-flag-like-store-13 action-unflag"><a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapse1"></a><a title="" href="/fr/flag/details/edit/like_store/13?destination=/fr/boutique/poupette-cacahuete" class="use-ajax" data-dialog-type="modal" data-dialog-options="{&quot;width&quot;:&quot;auto&quot;}" rel="nofollow"><span class="btn btn-success"><svg class="svg-inline--fa fa-heart fa-w-16 fa-lg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="heart" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"></path></svg><!-- <i class="fas fa-heart fa-lg"></i> --> J'aime</span></a></div></div>

<span class="bs-field-like-count">
    2
  </span>

我只想打印以下代码,如何用 TWIG 删除不需要的代码?

<span class="bs-field-like-count">
    2
  </span>

【问题讨论】:

    标签: html drupal twig drupal-8


    【解决方案1】:

    您使用的是Flag module吗?
    如果是这样,请覆盖template that the module provides

    要覆盖模板,只需从模块中复制一个并将副本放在您的主题模板文件夹中,然后按照您的需要进行修改。

    【讨论】:

    • 是的,我使用 Flag 模块。但在某些情况下,我必须只显示计数器,而在其他情况下,我必须只显示链接。使用该模块无法选择显示模式。在唯一的解决方案中,如果可能的话,用 Twig 删除部分代码。
    • 为模板创建一个预处理函数,该函数将变量发送到 twig 模板以设置计数器或链接是否应该可见。然后在模板中使用该变量来隐藏或显示不同的组件。
    • 开启 twig 调试将帮助您确定正在使用哪些 twig 文件以及应该使用哪些预处理函数名称。
    最近更新 更多