我通常会看到resource:
包含一个文件路径,但这里有一个带有yaml的多行字符串:
shop_admin_taxon:
resource: |
alias: sylius.taxon
section: shop
templates: AdminBundle:Taxon/Crud
except: ['show', 'index']
redirect: update
grid: shop_admin_taxon
type: sylius.resource
prefix: /
当此代码在另一个项目中的Symfony 3.2.7上运行时,我没有收到有关此代码的错误消息。但是现在Symfony 3.4在尝试读取此配置时给了我以下错误:
The file "alias: sylius.taxon section: shop templates: AdminBundle:Taxon" does not exist.
这实际上是预期的(据我所知,您将资源定位器传递给了resource:
而不是实际的资源配置),但是为什么 did 可以工作呢?
答案 0 :(得分:1)
Symfony是复杂的野兽,可以对其内部进行很多修改。路由组件也不例外,您可以看到可以实时修改或动态创建路由的用法。
尤其看起来像Sylius extension to routing。如果您好奇它的精确度,请查看相关的Symfony documentation page。 SyliusResourceBundle通过custom loader提供了该功能。
请记住所有这些,因为自定义路由加载程序无法正常工作,看来Sylius安装已损坏。可能是作曲者更新引入的某些版本不匹配(例如,由于与组件B的较新版本不兼容而删除了组件A),未启用捆绑软件或类似的东西。确保已安装并启用所有Sylius捆绑包