我有一个带有一组按钮的编辑器,我只想显示基于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>
我得到一个空容器。 这是一个好的策略还是有更好的方法?
答案 0 :(得分:1)
您似乎正在寻找这样的东西:
{% 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>
希望您会满意的。