如何使用Symfony在sonata admin中使用自定义操作制作自定义路由

时间:2017-11-13 11:38:52

标签: symfony sonata-admin

我是Symfony和sonata管理员的新手,我想在sonata admin中制作一个自定义行为的自定义路线。任何人都知道如何使用自定义动作制作自定义路线以及如何从twing文件调用该自定义路线?

1 个答案:

答案 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>