我正在使用Composer尝试将sylius安装到现有项目中。出于某种原因,关于如何做到这一点的文档或信息完全为零,所以我在这里感到黑暗。
我已经完成了"作曲家需要sylius\产品捆绑包"。当我将捆绑包放入应用程序内核时,我看到此错误:
服务"sylius.factory.product"依赖于不存在的服务"sylius.translation.locale_provider"。
谷歌返回 0 结果。
如果我尝试做作曲家需要sylius\translation-bundle,我会收到更多错误,关于无法将非静态方法转换为静态方法。
您没有在AppKernel
中启用所有必需的捆绑包,因为几乎所有的Sylius捆绑包都依赖于SyliusResourceBundle
(这是Sylius的翻译服务所在)。我建议您按照安装指南进行操作,并确保按照说明正确配置了所有内容。请参阅:http://docs.sylius.org/en/latest/bundles/SyliusProductBundle/installation.html
如果您有任何其他问题,请告诉我,我会尽力帮助您!
在你的config.yml中试试这个(谢谢pamil)
sylius_resource:
translation:
enabled: true
default_locale: "%locale%"
我还需要添加以下配置:
sylius_product: ~
sylius_archetype:
resources:
product:
subject: SyliusComponentCoreModelProduct
attribute: SyliusComponentProductModelAttribute
option: SyliusComponentProductModelOption
archetype:
classes:
model: SyliusComponentProductModelArchetype
sylius_association:
resources:
product:
subject: %sylius.model.product.class%
association:
classes:
model: SyliusComponentProductModelProductAssociation
遇到麻烦时,请使用sylius.yml作为参考。还要注意的是,sylius 捆绑包需要按特定顺序注册 - 这很容易被忽视。文档最强调的是教义是最后一个,但Sylius捆绑的顺序同样重要。
这是我的应用内核供参考:
$bundles = array(
new SymfonyBundleFrameworkBundleFrameworkBundle(),
new SymfonyBundleSecurityBundleSecurityBundle(),
new SymfonyBundleTwigBundleTwigBundle(),
new SymfonyBundleMonologBundleMonologBundle(),
new SymfonyBundleSwiftmailerBundleSwiftmailerBundle(),
new FOSRestBundleFOSRestBundle(),
new JMSSerializerBundleJMSSerializerBundle($this),
new StofDoctrineExtensionsBundleStofDoctrineExtensionsBundle(),
new WhiteOctoberPagerfantaBundleWhiteOctoberPagerfantaBundle(),
new BazingaBundleHateoasBundleBazingaHateoasBundle(),
new winzouBundleStateMachineBundlewinzouStateMachineBundle(),
new SyliusBundleResourceBundleSyliusResourceBundle(),
new SyliusBundleOmnipayBundleSyliusOmnipayBundle(),
new SyliusBundleMoneyBundleSyliusMoneyBundle(),
new SyliusBundleOrderBundleSyliusOrderBundle(),
new SyliusBundlePricingBundleSyliusPricingBundle(),
new SyliusBundleProductBundleSyliusProductBundle(),
new SyliusBundleAssociationBundleSyliusAssociationBundle(),
new SyliusBundleArchetypeBundleSyliusArchetypeBundle(),
new SyliusBundleAttributeBundleSyliusAttributeBundle(),
new SyliusBundleVariationBundleSyliusVariationBundle(),
new DoctrineBundleDoctrineBundleDoctrineBundle(),
new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
new AppBundleAppBundle(),
new FOSUserBundleFOSUserBundle(),
);