我想包括一些模板并在单击按钮时附加(通过js),我需要每个包含的模板具有唯一的ID。
这里是我附加模板的逻辑:
<button type="submit" id="addTranslationFields">Add translations</button>
// and js
$('#addTranslationFields').on('click', function (event) {
event.preventDefault();
event.stopPropagation();
let part = `{% include 'translationPart.twig' with {'languages': languages,}%}`;
$('.table tbody').append(part);
});
这是我在translationPart.twig
中生成uuid的方式>
{% set uuid = uuid() %} {{ uuid }}
问题在于,所有创建的模板的UUID都相同。我了解为什么会这样,它是由b-z Twig生成的服务器端,在生成的那一刻,它只看到一个include。但是,是否有一些选项可以为每个新的包含副本重新呈现包含模板?或者,也可以采用其他方法为每个包含的模板设置不同的UUID。
更新
[uuid()
是自定义的树枝函数
$twig->addFunction(
new TwigFunction(
'uuid',
static function(): string {
return Uuid::uuid4()->toString();
}
)
);
我想包含一些模板并在单击按钮时附加(通过js),我需要每个包含的模板具有唯一的ID。这是我附加模板的逻辑:
您可以通过ajax呼叫