gpt4 book ai didi

symfony - Sylius 产品包配置

转载 作者:行者123 更新时间:2023-12-02 10:45:45 28 4
gpt4 key购买 nike

我正在尝试将 Sylius 产品包集成到我现有的 Symfony 项目中。它已经配置了 Doctrine 。

这是我收到的错误:

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]  
The child node "driver" at path "sylius_attribute" must be configured.

知道是什么原因造成的吗?我立即按照说明进行操作,没有进行 sylius 的任何其他安装。

http://docs.sylius.org/en/latest/bundles/SyliusProductBundle/installation.html

我必须更改composer.json 文件中的doctrine-bundle 版本以允许

composer require "sylius/product-bundle"

成功运行,没有错误。我将版本从 1.2.* 更改为

"doctrine/doctrine-bundle": "1.3.*"

此外,在 Composer 安装这些家伙之后,我将以下内容添加到我的 config.yml 文件中

sylius_product:
driver: doctrine/orm
classes:
product:
model: Sylius\Bundle\CoreBundle\Model\Product
controller: Sylius\Bundle\CoreBundle\Controller\ProductController
repository: Sylius\Bundle\CoreBundle\Repository\ProductRepository

stof_doctrine_extensions:
default_locale: es_us
translation_fallback: true
orm:
default:
tree: true

最初我收到以下错误:

[Exception]                                                                                         
Missing parameter sylius.translation.default.mapping. Default translation mapping must be defined!

经过一番搜索后,我将下面的部分添加到了 config.yml 文件中

sylius_translation:
default_mapping:
translatable:
field: translations
currentLocale: currentLocale
fallbackLocale: fallbackLocale
translation:
field: translatable
locale: locale

我的 config.yml 文件中先前已经存在的是:

doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true

我没有更改这些设置中的任何内容。

我在这里做错了什么或错过了什么?任何帮助将不胜感激。

谢谢!

<小时/>

编辑

<小时/>

我尝试添加以下所有项目:

sylius_attribute:
driver: doctrine/orm
sylius_variation:
driver: doctrine/orm
sylius_archetype:
driver: doctrine/orm

现在我收到以下错误:

[InvalidArgumentException]                                      
The class sylius.model.product_archetype.class does not exist.

我将相应的文件添加到AppKernel中,但仍然没有成功!

new Sylius\Bundle\AttributeBundle\SyliusArchetypeBundle(),

然后将其更改为:

new Sylius\Bundle\ArchetypeBundle\SyliusArchetypeBundle(),

到目前为止,设置 Sylius 一直充满压力:(

最佳答案

我已经updated the docs对于产品包:

composer.json 中,您需要添加以下行:

"require": {
...
"sylius/locale-bundle": "0.13.*",
"sylius/product-bundle": "0.13.*"
...
}

app/AppKernel.php中:

        new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle($this),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),

new Sylius\Bundle\ArchetypeBundle\SyliusArchetypeBundle(),
new Sylius\Bundle\AttributeBundle\SyliusAttributeBundle(),
new Sylius\Bundle\ProductBundle\SyliusProductBundle(),
new Sylius\Bundle\LocaleBundle\SyliusLocaleBundle(),
new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(),
new Sylius\Bundle\TranslationBundle\SyliusTranslationBundle(),
new Sylius\Bundle\VariationBundle\SyliusVariationBundle(),

new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),

config.yml中:

parameters:
sylius.locale: "%locale%"

sylius_archetype:
classes:
product:
subject: Sylius\Component\Product\Model\Product
attribute: Sylius\Component\Product\Model\Attribute
option: Sylius\Component\Product\Model\Option
archetype:
model: Sylius\Component\Product\Model\Archetype
repository: Sylius\Bundle\ResourceBundle\Doctrine\ORM\TranslatableEntityRepository
translatable:
targetEntity: Sylius\Component\Product\Model\ArchetypeTranslation
archetype_translation:
model: Sylius\Component\Product\Model\ArchetypeTranslation

sylius_attribute:
driver: doctrine/orm

sylius_product:
driver: doctrine/orm

sylius_locale:
driver: doctrine/orm

sylius_translation:
default_mapping:
translatable:
field: translations
currentLocale: currentLocale
fallbackLocale: fallbackLocale
translation:
field: translatable
locale: locale

sylius_variation:
driver: doctrine/orm

stof_doctrine_extensions:
orm:
default:
sluggable: true
timestampable: true

现在您应该能够成功运行架构更新

$ php app/console doctrine:schema:update --dump-sql

如果满足,则执行:

$ php app/console doctrine:schema:update --force

更新:升级到 0.14 时此配置将被破坏(当前发布的版本为 0.13)。

关于symfony - Sylius 产品包配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28731801/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com