У меня есть редактор с набором кнопок, и я хочу отображать только набор кнопок на основе переменных twig::render. Если я включу все, что я хочу отобразить, это доступные кнопки, если я включу отдельные клавиши кнопок, я хочу отобразить только их.
echo TwigLoader::render('@ui/editor.html.twig'['toolbar'=>['all']]);
echo TwigLoader::render('@ui/editor.html.twig'['toolbar'=>['font','size']]);
Для шаблона я использую следующий код:
{% set toolbar_tools = [
{'font':'<select class = "ql-font"></select>'},
{'size':'<select class = "ql-size"></select>'}]
%}
<div id = "button-container">
<span class = "ql-formats">
{% for tool, key in toolbar_tools %}
{{ tool.key|raw}}
{% endfor %}
</span>
</div>
Я получаю пустой контейнер. Это хорошая стратегия или есть лучшие способы?






Кажется, вы ищете что-то вроде этого:
{% set toolbar_tools = {
'font':'<select class = "ql-font"></select>',
'size':'<select class = "ql-size"></select>'
}
%}
<div id = "button-container">
<span class = "ql-formats">
{% if toolbar|length > 0 %}
{% for t in toolbar %}
{% if t == 'all' %}
{# show all options #}
{% for tool in toolbar_tools %}
{{ tool|raw }}
{% endfor %}
{% else %}
{# show defined options #}
{{ attribute(toolbar_tools, t)|raw }}
{% endif %}
<br />
{% endfor %}
{% endif %}
</span>
</div>
Надеюсь, ты справишься с этим.