Ошибка списка продуктов электронной коммерции Sonata

Я успешно установил пакет электронной коммерции сонаты в свой проект. Но когда я захожу в список продуктов из панели администратора, я получаю следующую ошибку от доктрины.

An exception occurred while executing 'SELECT count(DISTINCT p0_.id)
 AS sclr0 FROM product__product p0_ LEFT JOIN product__product_category p1_ ON p0_.id = p1_.product_id LEFT JOIN classification__category c2_ ON p1_.category_id = c2_.id LEFT JOIN product__product_collection p3_ ON p0_.id = p3_.product_id LEFT JOIN classification__collection c4_ ON p3_.collection_id = c4_.id WHERE p0_.product_type IN ()':

Я не знаю, что происходит, так как пакеты мультимедиа и категории пока работают нормально.


person Miguel Carvajal    schedule 18.08.2016    source источник
comment
Я ничего не знаю о сонате, но WHERE p0_.product_type IN () мне не кажется правильным. Возможно, нужно как-то добавить какие-то типы товаров?   -  person Oli    schedule 18.08.2016


Ответы (1)


На самом деле довольно просто. Я тоже наткнулся на эту проблему.

Создайте тип продукта (http://sonata-project.org/bundles/ecommerce/master/doc/reference/tutorials/create-product.html) php app/console sonata:product:generate Bowl sonata.ecommerce_demo.product.bowl

импортировать все ресурсы

После этого отредактируйте файл src/Application/Sonata/ProductBundle/Entity/Bowl.php, чтобы он наследовал класс Product.

Класс Bowl расширяет Product {

}

Примечание: не забудьте импортировать sonata_product.yml (который не упоминается в документации). Добавьте - { resource: sonata/sonata_product.yml } в свой config.yml

person utkarsh2k2    schedule 11.10.2016