如何在 Sonata Admin 中指定操作按钮模板
How to specify action button template in Sonata Admin
请告诉我。为什么如果我指定一个操作按钮模板,无论访问权限如何都会显示该按钮?
$listMapper
->add('_action', 'actions', [
'actions' => [
//displayed depending on the access rights
'edit' => [],
//displayed regardless of access rights
'delete' => [
'template' => '@App/list__action_delete.html.twig',
],
]
]);
以及如何指定模板以便根据访问权限显示按钮?
可能的原因是您忘记将访问检查添加到您的自定义模板中。
如果您查看 build-in Sonata template,您会发现实际的访问检查是在模板本身中完成的,而不是在外部代码中完成的。所以只需将那些支票从原始模板复制到您的模板中即可。
示例:
{% if admin.hasAccess('delete', object) and admin.hasRoute('delete') %}
{# --- Your custom button view here --- #}
{% endif %}
请告诉我。为什么如果我指定一个操作按钮模板,无论访问权限如何都会显示该按钮?
$listMapper
->add('_action', 'actions', [
'actions' => [
//displayed depending on the access rights
'edit' => [],
//displayed regardless of access rights
'delete' => [
'template' => '@App/list__action_delete.html.twig',
],
]
]);
以及如何指定模板以便根据访问权限显示按钮?
可能的原因是您忘记将访问检查添加到您的自定义模板中。
如果您查看 build-in Sonata template,您会发现实际的访问检查是在模板本身中完成的,而不是在外部代码中完成的。所以只需将那些支票从原始模板复制到您的模板中即可。
示例:
{% if admin.hasAccess('delete', object) and admin.hasRoute('delete') %}
{# --- Your custom button view here --- #}
{% endif %}