经过几次调整和失败,我找到了解决方案,它已记录在案,但我没想到它会嵌套记录在案。
这里是 github 页面:Advanced Design Configuration
我们将通过覆盖 {{ block }} 来覆盖默认的 html.twig 文件
创建一个覆盖文件夹
首先,在 Resources\views 中创建一个文件夹 easy_admin。
假设你想更改list.row_actions,从easy-admin 转到源文件通常在里面:
vendor\javiereguiluz\easyadmin-bundle\views\includes\ In the last version
寻找源头
找到list.html.twig 文件并查看其内容以获得简要说明。如果您 CTRL + F(查找)list.row_actions,它将直接向您显示类似这样的内容。现在复制整个block
{% block table_head %}
<tr>
{% for field, metadata in fields %}
{% set isSortingField = metadata.property == app.request.get('sortField') %}
{% set nextSortDirection = isSortingField ? (app.request.get('sortDirection') == 'DESC' ? 'ASC' : 'DESC') : 'DESC' %}
{% set _column_label = (metadata.label ?: field|humanize)|trans(_trans_parameters) %}
{% set _column_icon = isSortingField ? (nextSortDirection == 'DESC' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort' %}
<th data-property-name="{{ metadata.property }}" class="{{ isSortingField ? 'sorted' }} {{ metadata.virtual ? 'virtual' }} {{ metadata.dataType|lower }} {{ metadata.css_class }}">
{% if metadata.sortable %}
<a href="{{ path('easyadmin', _request_parameters|merge({ sortField: metadata.property, sortDirection: nextSortDirection })) }}">
<i class="fa {{ _column_icon }}"></i>
{{ _column_label|raw }}
</a>
{% else %}
<span>{{ _column_label|raw }}</span>
{% endif %}
</th>
{% endfor %}
{% if _list_item_actions|length > 0 %}
<th>
<span>{{ 'list.row_actions'|trans(_trans_parameters, 'EasyAdminBundle') }}</span>
</th>
{% endif %}
</tr>
{% endblock table_head %}
粘贴以覆盖文件
要粘贴/覆盖它,您需要创建一个与您复制它的文件名完全相同的文件。在这种情况下,list.html.twig。然后将其粘贴到文件中
重要提示:在文件顶部,包含此标签 -
{% extends '@EasyAdmin/default/list.html.twig' %}
{% block table_head %}
<tr>
{% for field, metadata in fields %}
...code continues...
为什么要覆盖?
如果您从源代码编辑文件,则部署它会遇到问题,尤其是在您使用 git clone 然后使用 composer update 时。
覆盖确保代码即使在部署时仍然存在。