Конфигурация пакета продуктов Sylius



Я пытаюсь интегрировать Sylius набора продуктов в мой существующий проект на Symfony. У него уже есть настроенная доктрина.



Это ошибка, которую я получаю:



[SymfonyComponentConfigDefinitionExceptionInvalidConfigurationException]  
The child node "driver" at path "sylius_attribute" must be configured.


Любые идеи, что вызывает это? Я последовал инструкции сразу же, не делая никаких других установок sylius.




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




Мне пришлось изменить версию пакета доктрин в моем композитор.JSON файл, чтобы разрешить




Композитор требует "sylius / product-bundle"




Для успешного выполнения без ошибок. Я изменил версию с 1.2.* to




"доктрина / доктрина-связка": "1.3.*"




Также после того, как composer установил этих ребят, я добавил в свой конфиг следующее.yml-файл



sylius_product:
driver: doctrine/orm
classes:
product:
model: SyliusBundleCoreBundleModelProduct
controller: SyliusBundleCoreBundleControllerProductController
repository: SyliusBundleCoreBundleRepositoryProductRepository

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!


Немного порыскав вокруг, я добавил нижеприведенный фрагмент к конфиг.yml-файл



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


Уже существующий ранее в моей конфигурации.файл 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


Я ничего не менял в этих настройках.



Что я здесь делаю не так или чего-то не хватает? Любая помощь будет очень признательна.



Спасибо!





EDIT





Я попытался добавить все следующие пункты:



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 SyliusBundleAttributeBundleSyliusArchetypeBundle(),


И затем изменил его на:



new SyliusBundleArchetypeBundleSyliusArchetypeBundle(),


Установка Sylius была тихим стрессом до сих пор: (

645   2  

2 ответов:

Это не упоминалось в учебнике, которому вы следовали, но я думаю, что это поможет вам :

Https://github.com/Sylius/Sylius-Docs/blob/master/bundles/SyliusAttributeBundle/installation.rst#container-configuration

Я обновил документы для ProductBundle:

В 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).

Comments

    Ничего не найдено.