- BC break: All occurrences of parameters
coreshop.all.stack.pimcore_class_ids,"application".model."class".pimcore_class_id,coreshop.all.pimcore_classes.idshave been removed. Inject the corresponding Repository and useclassIdfunction instead - Pimcore: CoreShop now requires at least Pimcore 5.4.0. You need to update Pimcore to the at least 5.4.0 in order to use/update CoreShop.
BC break / New Feature
There are several deprecated class fields. After you have migrated to the latest version you also have to remove them:
- shippingGross
- shippingNet
- shippingTax
- discountGross
- discountNet
- discountTax
- baseShippingNet
- baseShippingGross
- baseShippingTax
- baseDiscountNet
- baseDiscountGross
- totalTax
- baseTotalTax
- totalTax
- baseTotalTax
- shippingGross
- shippingNet
- discountGross
- discountNet
-
BC break Signature of following interfaces changed:
CoreShop\Component\Index\Interpreter\InterpreterInterface: public function interpret($value, IndexableInterface $object, IndexColumnInterface $config, $interpreterConfig = []);CoreShop\Component\Index\Interpreter\LocalizedInterpreterInterface: public function interpretForLanguage($language, $value, IndexableInterface $object, IndexColumnInterface $config, $interpreterConfig = []);CoreShop\Component\Index\Interpreter\RelationInterpreterInterface: public function interpretRelational($value, IndexableInterface $indexable, IndexColumnInterface $config, $interpreterConfig = []);CoreShop\Component\Customer\Model\UserInterface::ROLE_DEFAULTrenamedCoreShop\Component\Customer\Model\UserInterface::CORESHOP_ROLE_DEFAULTCoreShop\Component\Customer\Model\UserInterface::ROLE_SUPER_ADMINrenamedCoreShop\Component\Customer\Model\UserInterface::CORESHOP_ROLE_SUPER_ADMIN
-
BC break Shipment / Invoice Creation via API changed
-
BC break getName in
CoreShop\Component\Index\Model\IndexableInterfacehas been changed togetIndexableNameasgetNamecould eventually conflict with a non localized Pimcore Field -
BC break getEnabled in
CoreShop\Component\Index\Model\IndexableInterfacehas been changed togetIndexableEnabledasgetEnabledcould eventually conflict with a localized Pimcore Field
- Link Generator implemented. If you want to use nice urls, you need to add the link generator service:
- CoreShopProduct: add
@coreshop.object.link_generator.productas Link Provider - CoreShopCategory: add
@coreshop.object.link_generator.categoryas Link Provider - Change
{{ path('') }}to{{ coreshop_path('') }}. You may want to checkout the FrontendBundle to get a deeper insight.
- CoreShopProduct: add
- Deprecated Field Names in - CoreShop\Component\Payment\Model\PaymentInterface`:
- getName is now getTitle
- getOrderId is now getOrder and directly returns a OrderInterface
- Deprecated Field Names in -
CoreShop\Component\Shipping\Model\CarrierInterface:- getLabel is not getTitle
- getName is now getIdentifier
-
BC break Signature of following interfaces changed:
CoreShop\Component\Index\Interpreter\InterpreterInterface: public function interpret($value, IndexableInterface $object, IndexColumnInterface $config);CoreShop\Component\Index\Interpreter\LocalizedInterpreterInterface: public function interpretForLanguage($language, $value, IndexableInterface $object, IndexColumnInterface $config);CoreShop\Component\Index\Interpreter\RelationInterpreterInterface: public function interpretRelational($value, IndexableInterface $indexable, IndexColumnInterface $config);
-
BC break CoreShop now takes advantage of the dependent bundle feature introduced in Pimcore 5.1.2. Therefore, all bundles are now automatically loaded. This is a BC break, as when updating, you might run into issues. To solve the issues, check following things:
- remove
RegisterBundlesentry fromapp/AppKernel.php - remove loading CoreShopCoreBundle Configuration in
app/config.yml - enable CoreShopCoreBundle via CLI or manually in
var/config/extensions.php:"CoreShop\\Bundle\\CoreBundle\\CoreShopCoreBundle" => TRUE
- remove
-
BC break Upgraded Default Layout to Bootstrap 4. This will most certainly cause issues when you just override certain templates. Best would be to copy all templates from before the Bootstrap 4 Upgrade.
- BC break added Component\Core\Model\OrderItem and Component\Core\Model\QuoteItem. If you already customized them, inherit them from the Core Models.
- BC break changed the way CoreShop processes Cart-Rules. If you implemented a custom-condition, inherit from
CoreShop\Component\Order\Cart\Rule\Condition\AbstractConditionCheckerand implementisCartRuleValidinstead ofisValid - Deprecated: remove
cart/add-price-rule/static route.
- BC break decoupled MoneyBundle from CurrencyBundle, therefore the Twig Extension for Money Conversion went to the CurrencyBundle. Therefore the name of that extension was renamed from coreshop_convert_money to coreshop_convert_currency. If you use it directly in your code, please rename all of them.
- Deprecated CoreShopAdminBundle which responsability was only handling installation and deliviering pimcore resources like JS and CSS files.
- Installation has been moved to CoreShopCoreBundle
- Delivering of resources is now handled by CoreShopResourceBundle, this also makes it easier to use CoreShop Bundles without handling resources yourself.
-
BC break getPrice in PurchasableInterface and ProductInterface has been removed. In favor of this a new coreShopStorePrice editable has been introduced, which stores prices for each store. This makes handling of multiple currencies way more elegant.
If you still want to use the old getPrice, create a new Subclass of \CoreShop\Component\Core\Model\Product, implement \CoreShop\Component\Order\Model\PriceAwarePurchasableInterface and set your class to CoreShopProduct parents.
- CoreShop 2 is not backward compatible. Due to the framework change, we decided to re-make CoreShop from scratch. If you still have instances running and want to migrate, there is a basic migration way which gets you data from V1 to V2.
- Export from CoreShop1
- Import into CoreShop2
- Nothing available