繁体   English   中英

是否可以在树枝模板中添加php数字计数器变量?

[英]Is it possible to add a php number counter variable to a twig template?

我在Drupal 8中为段落模块设置了自定义模板。因此,用户可以根据需要将手风琴添加到正文中。 我有一个可访问的代码段,我已经编写并在需要手风琴时使用。 除非我正常使用它,否则它工作正常,它位于自定义编码页面上,因此我可以更改每个ID值。 由于这将是一个段落模块,用户可以多次添加到页面上,因此我需要以某种方式将ID号动态地应用于代码段-每次用户添加另一个手风琴时,都将ID号添加到该编号中。

所以下面是我使用的代码:

<div class="accord">
   <h2 class="toggleAccord">
      <button aria-controls="accord-1" aria-expanded="false">{{content.field_accordion_title}}</button>
   </h2>
   <div class="accordion-text" aria-hidden="true" id="accord-1">
      {{content.field_accordion_body}}
   </div>
</div>

<script>
$(document).ready(function() {

  openAccordion();

  $(".toggleAccord button").click(function() {

    var btn = $(this);
    var toggle = btn.parent();
    var content = btn.parent().next();

    if (btn.attr('aria-expanded') === 'false') {
      // open
      $(content).slideDown();
      toggle.addClass('closeAccord');
      btn.attr('aria-expanded', 'true');
      content.attr('aria-hidden', 'false');

    } else {
      // close
      $(content).slideUp();
      toggle.removeClass('closeAccord');
      btn.attr('aria-expanded', 'false');
      content.attr('aria-hidden', 'true');
    }
  });
});
</script>

因此,每次添加手风琴时,我都需要使用“ accord-1”来动态计数。 雅阁2,雅阁3等。

有没有一种方法可以用php或jQuery变量替换数字,以便它自动计数?

是的,您可以先计算DOM元素。 然后,在将该值计数并存储在变量中之后,我将使用ajax或xhr请求将此信息发送到我的drupal端的php变量。 您是否认为需要代码建议?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM