我正在使用Sylius提供的一些捆綁建設一家商店。我已經安裝了ResourceBundle,ProductBundle,OrderBundle和CartBundle。添加到購物車Sylius error時出錯
我有打電話的產品頁面上的「sylius_cart_item_add」路徑時麻煩:
ContextErrorException: Catchable Fatal Error: Argument 1 passed to Sylius\Bundle\CartBundle\Event\CartEvent::__construct() must be an instance of Sylius\Bundle\CartBundle\Model\CartInterface, instance of XXXX\OrderBundle\Entity\Order given, called in /XXXX/XXXX/XXXX/XXXX/vendor/sylius/cart-bundle/Sylius/Bundle/CartBundle/Provider/CartProvider.php on line 103 and defined in /XXXX/XXXX/XXXX/XXXX/vendor/sylius/cart-bundle/Sylius/Bundle/CartBundle/Event/CartEvent.php line 42
我已經安裝了CartBundle以下the documentation(我還沒有創建一個CartItem實體,如根據可選導遊)。這是Sylius束我的配置文件(XXXX代表我的公司名稱):
sylius_resource:
resources:
dinamic.product:
driver: doctrine/orm
classes:
model: XXXX\ProductBundle\Entity\Product
interface: Sylius\Bundle\ProductBundle\Model\ProductInterface
controller: Sylius\Bundle\ResourceBundle\Controller\ResourceController
repository: Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository
sylius_product:
driver: doctrine/orm
classes:
product:
model: XXXX\ProductBundle\Entity\Product
controller: Sylius\Bundle\ProductBundle\Controller\ProductController
repository: XXXX\ProductBundle\Repository\ProductRepository
form: Sylius\Bundle\ProductBundle\Form\Type\ProductType
sylius_order:
driver: doctrine/orm
classes:
order:
model: XXXX\OrderBundle\Entity\Order
order_item:
model: XXXX\OrderBundle\Entity\OrderItem
sylius_money:
driver: doctrine/orm
sylius_cart:
resolver: XXXX.cart_item_resolver
classes: ~
stof_doctrine_extensions:
orm:
default:
sluggable: true
timestampable: true
我會很高興地感謝所有幫助,在此先感謝。
編輯:尋找在Sylius'代碼,這個問題似乎是在CartBundle /提供者/ CartProvider/getCart()函數(線101):
$this->cart = $this->repository->createNew();
這將返回一個Order對象而非CartInterface一個的,似乎該存儲庫配置不正確,有什麼建議?
該文件就位,使用CartItemInterface – Joel
@Joel請注意發生錯誤的文件的內容。 – umpirsky
@umpirsky我不知道哪個文件包含錯誤。我認爲這發生在SyliusCartBundle內部,但我不能確定這個錯誤。 – Joel