我是Symfony和sonata管理员的新手,我想在sonata admin中制作一个自定义行为的自定义路线。任何人都知道如何使用自定义动作制作自定义路线以及如何从twing文件调用该自定义路线?
答案 0 :(得分:0)
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());
}
}
编辑:添加树枝:
-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>