Я хочу включить какой-то шаблон и добавить его при нажатии кнопки (до js), и мне нужно, чтобы каждый включенный шаблон имел уникальный идентификатор.
Вот logi c, где я добавляю templates:
<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);
});
Вот как я генерирую uuid в translationPart.twig
{% set uuid = uuid() %}
{{ uuid }}
Проблема в том, что UUID одинаков для всех созданных шаблонов. Я понимаю, почему это происходит, это bz twig сгенерировано на стороне сервера, и в момент генерации он видит только одно включение. Но есть ли возможность перерисовывать включенный шаблон для каждой новой включенной копии? Или, может быть, какой-то другой способ установить разные UUID для каждого из включенных шаблонов.
Обновлено
uuid()
- это настраиваемая функция ветки
$twig->addFunction(
new TwigFunction(
'uuid',
static function(): string {
return Uuid::uuid4()->toString();
}
)
);