Sylius:覆盖 BackendMenuBuilder
Sylius: Overwrite BackendMenuBuilder
我开始开发一个基于 Sylius 的项目,在安装过程之后我想自定义后端仪表板。当 Sylius 使用服务时,我发现 BackendMenuBuilder 是一个名为 "sylius.menu_builder.backend" 的服务。考虑到这一点并进行了一些谷歌搜索,我在 AppBundle/Resources/config 中编辑了我的 "services.yml"" 并放置了以下行:
services:
sylius.menu_builder.backend:
class: AppBundle\Menu\Backend\BackendMenu
我在 "AppBundle\Menu\Backend" 中创建了一个新的 class "BackendMenu" 来调用 "default" Sylius 服务。我在第一次尝试时遇到了一些错误,但在我可以通过这种方式覆盖默认服务之后。这是正确的方法吗?对于任何我不想使用默认版本的新服务,我应该在我的 "services.yml" 中插入这个新参数吗?我想知道这一点,因为我认为在 Sylius 平台上开发一个 medium/big 项目,也许这可能是一个方便的问题。
而不是覆盖整个服务定义您可以只提供自己的 class 参数。示例:
parameters:
sylius.menu_builder.backend.class: AppBundle\Menu\Backend\BackendMenu
那么您不需要重新声明所有参数(如果有的话)。
其他方法 ComplierPass
- http://symfony.com/doc/current/bundles/override.html#services-configuration
我开始开发一个基于 Sylius 的项目,在安装过程之后我想自定义后端仪表板。当 Sylius 使用服务时,我发现 BackendMenuBuilder 是一个名为 "sylius.menu_builder.backend" 的服务。考虑到这一点并进行了一些谷歌搜索,我在 AppBundle/Resources/config 中编辑了我的 "services.yml"" 并放置了以下行:
services:
sylius.menu_builder.backend:
class: AppBundle\Menu\Backend\BackendMenu
我在 "AppBundle\Menu\Backend" 中创建了一个新的 class "BackendMenu" 来调用 "default" Sylius 服务。我在第一次尝试时遇到了一些错误,但在我可以通过这种方式覆盖默认服务之后。这是正确的方法吗?对于任何我不想使用默认版本的新服务,我应该在我的 "services.yml" 中插入这个新参数吗?我想知道这一点,因为我认为在 Sylius 平台上开发一个 medium/big 项目,也许这可能是一个方便的问题。
而不是覆盖整个服务定义您可以只提供自己的 class 参数。示例:
parameters:
sylius.menu_builder.backend.class: AppBundle\Menu\Backend\BackendMenu
那么您不需要重新声明所有参数(如果有的话)。
其他方法 ComplierPass
- http://symfony.com/doc/current/bundles/override.html#services-configuration