Ответ 1
Чтобы добавить действие для формы редактирования
Добавьте в свой класс администратора:
protected function configureSideMenu(MenuItemInterface $menu, $action, Admin $childAdmin = null)
{
if (!$childAdmin && !in_array($action, array('edit'))) {
return;
}
$admin = $this->isChild() ? $this->getParent() : $this;
$id = $admin->getRequest()->get('id');
$menu->addChild('My action', array('uri' => 'http://google.com?id=' . $id));
}
Он создаст меню левой стороны для таких действий, как /admin/acme/videos/x/edit/. Имея id для текущего элемента, вы можете создать любой настраиваемый URL.
Чтобы добавить действие для списка: В вашем файле администратора добавьте
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('_action', 'actions', array(
'actions' => array(
'act' => array('template' => 'AcmeBundle:Video:my_temp.html.twig'),
)
))
;
}
Он добавит столбец со ссылками, тогда вам нужно создать шаблон для своего столбца, что-то вроде
<a href="{{ admin.generateObjectUrl('delete', object) }}" class="delete_link" title="{% trans from 'SonataAdminBundle' %}action_delete{% endtrans %}">
<img src="{{ asset('bundles/sonataadmin/famfamfam/delete.png') }}" alt="{% trans from 'SonataAdminBundle' %}action_delete{% endtrans %}" />
</a>
Все примеры взяты из ссылки, которую вы предоставили. Надеюсь, что это поможет.