如何使用 Symfony 在 sonata admin 中使用自定义操作制作自定义路由
How to make custom route with custom action in sonata admin using Symfony
我是 Symfony 和 sonata admin 的新手,我想在 sonata 中使用自定义操作创建自定义路由 admin.any 知道如何使用自定义操作创建自定义路由以及如何调用该自定义操作来自 twing 文件的路由 ?.
AdminBundle 中的路由示例:
<route id="get_driver_location" path="/driver-location">
<default key="_controller">MyAdminBundle:Core:getlocation</default>
</route>
然后你必须在你的包的控制器目录中创建一个名为 CoreController 的控制器
namespace My\AdminBundle\Controller;
use Symfony\Component\Config\Definition\Exception\Exception;
use Symfony\Component\HttpFoundation\Response;
use Sonata\AdminBundle\Controller\CoreController as BaseController;
class CoreController extends BaseController {
public function getlocationAction() {
//your logic here
......
return $this->render($this->getAdminPool()->getTemplate('driver'), array(
'base_template' => $this->getBaseTemplate());
}
}
Edit: Add Twig:
-Resources
-views
-Core
-driver.html.twig
在文件 driver.html.twig 中创建路线
<div>
<a class="btn btn-default" href="{{ path('get_driver_location') }}" role="button">
{{ "example"|trans({}, "MyAdminBundle") }}
</a>
</div>
我是 Symfony 和 sonata admin 的新手,我想在 sonata 中使用自定义操作创建自定义路由 admin.any 知道如何使用自定义操作创建自定义路由以及如何调用该自定义操作来自 twing 文件的路由 ?.
AdminBundle 中的路由示例:
<route id="get_driver_location" path="/driver-location">
<default key="_controller">MyAdminBundle:Core:getlocation</default>
</route>
然后你必须在你的包的控制器目录中创建一个名为 CoreController 的控制器
namespace My\AdminBundle\Controller;
use Symfony\Component\Config\Definition\Exception\Exception;
use Symfony\Component\HttpFoundation\Response;
use Sonata\AdminBundle\Controller\CoreController as BaseController;
class CoreController extends BaseController {
public function getlocationAction() {
//your logic here
......
return $this->render($this->getAdminPool()->getTemplate('driver'), array(
'base_template' => $this->getBaseTemplate());
}
}
Edit: Add Twig:
-Resources
-views
-Core
-driver.html.twig
在文件 driver.html.twig 中创建路线
<div>
<a class="btn btn-default" href="{{ path('get_driver_location') }}" role="button">
{{ "example"|trans({}, "MyAdminBundle") }}
</a>
</div>