php - Twig 显示数组或全部的 n 个键
问题描述
我有一个带有一组按钮的编辑器,我只想显示一组基于 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>
希望你会没事的。
推荐阅读
- c++ - 将 C 库与 C++ wxWidgets 程序链接的问题
- django - 为什么在 django 序列化程序中明确指定的只读字段也是可写的?
- c# - Automapper 未将列表 dto 映射到列表
- view - 观察自定义视图 SwiftUI 中的属性变化
- sqlalchemy - 外部数据库连接失败时 SQLAlchemy 挂起
- python - 在 Python 中添加数量为 0 的缺失日期
- scikit-learn - 如何在 gridsearchcv 中使用精确召回曲线?
- ios - 通过网络命令关闭 Mac
- c# - 为什么 Azure SQL Server 存储和显示数字但不与 C# 交换它们?
- powershell - 我正在寻找一种将计算机的所有信息保存在活动目录中的方法,主要是每台计算机的 ComputerName 和 SerialNUMber