Я пробовал бесчисленное количество вариантов, но я никогда не получаю кавычки, чтобы обернуть все значение, как только в строке значения есть пробел:
{% set result_string= elements
? ( "data-custom-attribute=%s"|format( elements ) )
: ''
%}
Как вы можете заставить эту работу получить, например, data-custom-attribute = "this is a test"
с элементами, имеющими значение 'this is a test'
?
Это совершенно бесполезно для моего вопроса
Фильтр format
не будет добавлять кавычки к примеру, который вы добавили в свой фрагмент.
Вы, вероятно, проверяете свой вывод в некоторых инструментах разработчика, которые дают ложноположительный результат. Проверьте свой вывод с помощью сгенерированного источника (CTRL + U)
Либо добавьте кавычки в переменную elements
, либо добавьте их в свой фрагмент html
:
{% set elements = "\"foo bar foo\"" %}
{% set result_string= elements
? ( "data-custom-attribute=%s"|format( elements ) )
: ''
%}
{% set elements = "foo bar foo" %}
{% set result_string= elements
? ( "data-custom-attribute=\"%s\""|format( elements ) )
: ''
%}
Посмотрите здесь stackoverflow.com/questions/13336090/…