包含重新渲染的树枝

问题描述 投票:0回答:1

我想包括一些模板并在单击按钮时附加(通过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。这是我附加模板的逻辑:

twig
1个回答
1
投票

您可以通过ajax呼叫

© www.soinside.com 2019 - 2024. All rights reserved.