Symfony Easyadmin - 如何在 "btn action-new" 附近添加自定义操作?
Symfony Easyadmin - How to add a custom action near "btn action-new"?
我想在列表页面的“btn action-new”附近添加自定义操作。
我试试:
entities:
Pratiquant:
class: AppBundle/Entity/Pratiquant
actions:
- {name: 'fichePresence', type: 'method', action: 'fichePresence', label: 'fiche de presence' }
我不需要这个:
entities:
Pratiquant:
class: AppBundle/Entity/Pratiquant
list:
actions:
- {name: 'fichePresence', type: 'method', action: 'fichePresence', label: 'fiche de presence' }
希望有人理解我!
您的配置是正确的...但它没有达到您想要的效果。现在,为 list
视图配置的所有操作都被视为列表中显示的项目的操作。 built-in 无法为 list
视图定义 "global actions"。
在任何情况下,您都可以通过覆盖 list
模板的一个小片段来做您想做的事。为此,请创建以下 Twig 模板(将其存储在该确切位置非常重要):
{# app/Resources/views/easy_admin/Pratiquant/list.html.twig #}
{% extends '@EasyAdmin/default/list.html.twig' %}
{% block view_actions %}
{{ parent() }}
<a href="{{ path('easyadmin', { view: 'fichePresence' }) }}">Fiche de presence</a>
{% endblock %}
这将执行您自定义 AdminController
的 fichePresenceAction()
方法。
使用 EasyAdmin 3 :
public function configureActions(Actions $actions): Actions
{
$fichePresence = Action::new('fichePresence', 'fiche de presence', 'fa fa-download')
->linkToCrudAction('fichePresenceAction')
->createAsGlobalAction();
return $actions
->add(Crud::PAGE_INDEX, Action::DETAIL)
->add(Crud::PAGE_INDEX, $fichePresence);
}
我想在列表页面的“btn action-new”附近添加自定义操作。 我试试:
entities:
Pratiquant:
class: AppBundle/Entity/Pratiquant
actions:
- {name: 'fichePresence', type: 'method', action: 'fichePresence', label: 'fiche de presence' }
我不需要这个:
entities:
Pratiquant:
class: AppBundle/Entity/Pratiquant
list:
actions:
- {name: 'fichePresence', type: 'method', action: 'fichePresence', label: 'fiche de presence' }
希望有人理解我!
您的配置是正确的...但它没有达到您想要的效果。现在,为 list
视图配置的所有操作都被视为列表中显示的项目的操作。 built-in 无法为 list
视图定义 "global actions"。
在任何情况下,您都可以通过覆盖 list
模板的一个小片段来做您想做的事。为此,请创建以下 Twig 模板(将其存储在该确切位置非常重要):
{# app/Resources/views/easy_admin/Pratiquant/list.html.twig #}
{% extends '@EasyAdmin/default/list.html.twig' %}
{% block view_actions %}
{{ parent() }}
<a href="{{ path('easyadmin', { view: 'fichePresence' }) }}">Fiche de presence</a>
{% endblock %}
这将执行您自定义 AdminController
的 fichePresenceAction()
方法。
使用 EasyAdmin 3 :
public function configureActions(Actions $actions): Actions
{
$fichePresence = Action::new('fichePresence', 'fiche de presence', 'fa fa-download')
->linkToCrudAction('fichePresenceAction')
->createAsGlobalAction();
return $actions
->add(Crud::PAGE_INDEX, Action::DETAIL)
->add(Crud::PAGE_INDEX, $fichePresence);
}