我的验证码实现中有个bug。当我点击“获取新的卡!”链接时,它不会刷新图像CAPTCHA。
经过大量的关于问题队列的研究,测试和破坏了我的本地,并找到了所有没有造成它的东西,我终于关闭了我的自定义主题和瞧,“得到新的captcha!”链接又起作用了。
我的自定义主题基于USWDS基本主题。
我在用:
日志或控制台中不会产生错误。我“感觉”这可能是与Ajax相关的东西,但我想不出如何嗅出或缩小它。
有人能给我建议的设置,我可以测试和更改,或特定的地方,我可能会检查,以尝试修复这一点?谢谢。
更新:我只是尝试使用直接的USWDS基本主题,没有自定义主题,而且CAPTCHA bug仍然存在。所以不是我的定制主题,而是我的基本主题。
发布于 2021-03-19 20:40:31
我在USWDS基本主题中找到了相互冲突的模板。对于有此问题的其他任何人,您必须更改此模板:
/themes/contrib/uswds_base/templates/form/details.html.twig您可以从Bartik的高级模板(或类似的)批量替换相同的模板,或者使用Bartik的工作模板重新编写它,并根据需要定制它。我需要提取USWDS强加的基于ul/li的标记,但仍然保留类和可访问性标记。
如果它对其他人有帮助,下面是我最后使用的内容:
<div{{ attributes.addClass('usa-accordion usa-accordion--bordered') }}>
{%- if title -%}
{%
set summary_classes = [
required ? 'js-form-required',
required ? 'form-required',
'usa-accordion__button',
]
%}
<button type="button" aria-expanded="true" aria-controls="{{ attributes.id }}-content"{{ summary_attributes.addClass(summary_classes) }}>{{ title }}</button>
{%- endif -%}
<div id="{{ attributes.id }}-content" class="usa-accordion__content usa-prose"
>
{% if errors %}
<div class="form-item--error-message">
<strong>{{ errors }}</strong>
</div>
{% endif %}
{%- if description -%}
<div class="details-description">{{ description }}</div>
{%- endif -%}
{%- if children -%}
{{ children }}
{%- endif -%}
{%- if value -%}
{{ value }}
{%- endif -%}
</div>
</div>https://drupal.stackexchange.com/questions/301012
复制相似问题