我正在使用Composer尝试将sylius安装到现有项目中。由于某种原因,确实没有关于如何做到这一点的文档或信息,所以我在这里感觉很黑暗。
我已经完成了“composer require sylius \ product-bundle”。当我把捆绑包放在我的AppKernel中时,我看到了这个错误:
服务“sylius.factory.product”依赖于不存在的服务“sylius.translation.locale_provider”。
Google会返回0个结果。
如果我尝试使用composer需要sylius \ translation-bundle,我会收到更多错误,这些错误无法将非静态方法转换为静态方法。
答案 0 :(得分:0)
您没有在AppKernel
中启用所有必需的捆绑包,因为几乎所有捆绑的Sylius都依赖于SyliusResourceBundle
(这是Sylius的翻译服务所在的位置)。我建议您按照安装指南进行操作,并确保按照说明正确配置。请参阅:http://docs.sylius.org/en/latest/bundles/SyliusProductBundle/installation.html
如果您有任何进一步的问题,请告诉我,我会尽力帮助您!
答案 1 :(得分:0)
在config.yml中尝试此操作(感谢pamil)
sylius_resource:
translation:
enabled: true
default_locale: "%locale%"
我还需要添加以下配置:
sylius_product: ~
sylius_archetype:
resources:
product:
subject: Sylius\Component\Core\Model\Product
attribute: Sylius\Component\Product\Model\Attribute
option: Sylius\Component\Product\Model\Option
archetype:
classes:
model: Sylius\Component\Product\Model\Archetype
sylius_association:
resources:
product:
subject: %sylius.model.product.class%
association:
classes:
model: Sylius\Component\Product\Model\ProductAssociation
遇到麻烦时,请使用sylius.yml作为参考。 还要注意sylius bundles need to be registered in specific order - 这很容易被忽视。文档最重视Doctrine是最后一个,但Sylius包的顺序同样重要。
这是我的AppKernel供参考:
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle($this),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
new winzou\Bundle\StateMachineBundle\winzouStateMachineBundle(),
new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(),
new Sylius\Bundle\OmnipayBundle\SyliusOmnipayBundle(),
new Sylius\Bundle\MoneyBundle\SyliusMoneyBundle(),
new Sylius\Bundle\OrderBundle\SyliusOrderBundle(),
new Sylius\Bundle\PricingBundle\SyliusPricingBundle(),
new Sylius\Bundle\ProductBundle\SyliusProductBundle(),
new Sylius\Bundle\AssociationBundle\SyliusAssociationBundle(),
new Sylius\Bundle\ArchetypeBundle\SyliusArchetypeBundle(),
new Sylius\Bundle\AttributeBundle\SyliusAttributeBundle(),
new Sylius\Bundle\VariationBundle\SyliusVariationBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new FOS\UserBundle\FOSUserBundle(),
);