Closed bhaktaraz closed 3 years ago
Hi @bhaktaraz. Have you extended the product class as indicated in the installation doc?
Yes.
And have you registered it as a resource?
Yes followed up to step 6.
Added this configuration
# config/packages/_sylius.yaml sylius_product: resources: product: classes: repository: App\Repository\ProductRepository
Created ProductRepository in src/Repository but adding that leads me to error : Warning: class_implements(): Class App\Repository\ProductRepository does not exist and could not be loaded.
So haven't override the product repository.
Is it necessary to override product repository?
And you have this configuration?
sylius_product:
resources:
product:
classes:
model: App\Entity\Product
Yes, is necessary override the product repository to show vendor's products in the shop page.
@bhaktaraz Have you been able to solve it?
Seems mapping not working.
Stack Trace
`Doctrine\ORM\Mapping\MappingException: OneToMany mapping on field 'products' requires the 'mappedBy' attribute.
at vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:259 at Doctrine\ORM\Mapping\MappingException::oneToManyRequiresMappedBy('products') (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php:1669) at Doctrine\ORM\Mapping\ClassMetadataInfo->_validateAndCompleteOneToManyMapping(array('fieldName' => 'products', 'targetEntity' => 'Sylius\Component\Core\Model\Product', 'type' => 4, 'mappedBy' => null, 'inversedBy' => null, 'isOwningSide' => true, 'sourceEntity' => 'Odiseo\SyliusVendorPlugin\Entity\Vendor', 'fetch' => 2, 'cascade' => array(), 'isCascadeRemove' => false, 'isCascadePersist' => false, 'isCascadeRefresh' => false, 'isCascadeMerge' => false, 'isCascadeDetach' => false)) (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php:2566) at Doctrine\ORM\Mapping\ClassMetadataInfo->mapOneToMany(array('fieldName' => 'products', 'targetEntity' => 'Sylius\Component\Core\Model\Product', 'type' => 4)) (vendor/odiseoteam/sylius-vendor-plugin/src/Mapping/VendorAwareListener.php:172) at Odiseo\SyliusVendorPlugin\Mapping\VendorAwareListener->mapVendor(object(ClassMetadata)) (vendor/odiseoteam/sylius-vendor-plugin/src/Mapping/VendorAwareListener.php:85) at Odiseo\SyliusVendorPlugin\Mapping\VendorAwareListener->loadClassMetadata(object(LoadClassMetadataEventArgs)) (vendor/symfony/doctrine-bridge/ContainerAwareEventManager.php:58) at Symfony\Bridge\Doctrine\ContainerAwareEventManager->dispatchEvent('loadClassMetadata', object(LoadClassMetadataEventArgs)) (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:242) at Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(object(ClassMetadata), null, false, array()) (vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:306) at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('Odiseo\SyliusVendorPlugin\Entity\Vendor') (vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:78) at Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata('Odiseo\SyliusVendorPlugin\Entity\Vendor') (vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:185) at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('Odiseo\SyliusVendorPlugin\Entity\Vendor') (vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:285) at Doctrine\ORM\EntityManager->getClassMetadata('Odiseo\SyliusVendorPlugin\Entity\Vendor') (var/cache/dev/Container8JfB0Bv/EntityManager_9a5be93.php:86) at EntityManager_9a5be93->getClassMetadata('Odiseo\SyliusVendorPlugin\Entity\Vendor') (var/cache/dev/Container8JfB0Bv/getOdiseoSyliusVendorPlugin_Repository_VendorService.php:14) at require('/var/www/html/sylius/var/cache/dev/Container8JfB0Bv/getOdiseoSyliusVendorPlugin_Repository_VendorService.php') (var/cache/dev/Container8JfB0Bv/srcApp_KernelDevDebugContainer.php:2077) at Container8JfB0Bv\srcApp_KernelDevDebugContainer->load('getOdiseoSyliusVendorPlugin_Repository_VendorService.php') (var/cache/dev/Container8JfB0Bv/getOdiseoSyliusVendorPlugin_Controller_VendorService.php:25) at require('/var/www/html/sylius/var/cache/dev/Container8JfB0Bv/getOdiseoSyliusVendorPlugin_Controller_VendorService.php') (var/cache/dev/Container8JfB0Bv/srcApp_KernelDevDebugContainer.php:2077) at Container8JfB0Bv\srcApp_KernelDevDebugContainer->load('getOdiseoSyliusVendorPlugin_Controller_VendorService.php') (vendor/symfony/dependency-injection/Container.php:249) at Symfony\Component\DependencyInjection\Container->make('odiseo_sylius_vendor_plugin.controller.vendor', 1) (vendor/symfony/dependency-injection/Container.php:225) at Symfony\Component\DependencyInjection\Container->get('odiseo_sylius_vendor_plugin.controller.vendor') (vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php:53) at Symfony\Component\HttpKernel\Controller\ContainerControllerResolver->instantiateController('odiseo_sylius_vendor_plugin.controller.vendor') (vendor/symfony/framework-bundle/Controller/ControllerResolver.php:70) at Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver->instantiateController('odiseo_sylius_vendor_plugin.controller.vendor') (vendor/symfony/http-kernel/Controller/ControllerResolver.php:122) at Symfony\Component\HttpKernel\Controller\ControllerResolver->createController('odiseo_sylius_vendor_plugin.controller.vendor::indexAction') (vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php:42) at Symfony\Component\HttpKernel\Controller\ContainerControllerResolver->createController('odiseo_sylius_vendor_plugin.controller.vendor::indexAction') (vendor/symfony/framework-bundle/Controller/ControllerResolver.php:62) at Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver->createController('odiseo_sylius_vendor_plugin.controller.vendor:indexAction') (vendor/symfony/http-kernel/Controller/ControllerResolver.php:86) at Symfony\Component\HttpKernel\Controller\ControllerResolver->getController(object(Request)) (vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php:38) at Symfony\Component\HttpKernel\Controller\TraceableControllerResolver->getController(object(Request)) (vendor/symfony/http-kernel/HttpKernel.php:129) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/http-kernel/HttpKernel.php:68) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/http-kernel/Kernel.php:201) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (public/index.php:27)`