自定义路由Sonata

时间:2017-02-01 22:07:07

标签: symfony sonata-admin symfony-sonata

我正在开展一个小型项目,为此我需要一个CMS。经过一番搜索,我找到了Sonata CMS,它建立在Symfony2之上。它运行得很好,必须说它是一个很好的捆绑。

但现在我遇到了一个小问题。我已经安装了一些预装的捆绑包,如PageBundle,NotificationBundle等。这些捆绑包工作正常,但我想更改他们使用的网址。

例如,PageBundle使用myurl.com/admin/sonata/page/page/tree

如果我在这里阅读the documentation,应该可以更改它。但与文档中给出的示例的不同之处在于,预安装的软件包位于供应商文件夹中。

某处我必须添加: protected $baseRouteName = 'your_name'; protected $baseRoutePattern = 'your_name';但我无法找到。

有没有人有过将cms网址更改为自定义路线的经验?

1 个答案:

答案 0 :(得分:0)

要覆盖管理员的路由,只需覆盖管理类中的$ baseRoutePattern:

class VarietyAdmin extends AbstractAdmin
{
    protected $baseRouteName = 'admin_libio_variety';
    protected $baseRoutePattern = 'libio/variety';
}

https://sonata-project.org/bundles/admin/master/doc/reference/routing.html#route-patterns-urls

对于除AdminBundle之外的捆绑包,您只需将路由文件从捆绑包复制到您自己的捆绑包中,自定义路由并在配置中导入此文件,而不是供应商。

http://symfony.com/doc/current/bundles/override.html#routing