Losing a conversation at checkout is painful, owing to all the efforts you put in shaping the customer journey and reach till checkout.
Checkout page optimization can save you the bucks that you lose due to cart abandonment. Any errors on the checkout step can be fatal and one such checkout issue due to undefined method in getConfigurableAttributeCollection in Magento 2.3.3 is identified.
The customers won’t be able to redirect on the payment gateway in some cases due to the below error:
Uncaught exception ‘Error’ with message ‘Call to undefined method MagentoCatalogModelProductTypeSimple::getConfigurableAttributeCollection()’ in /home/ortlieb/public_html/vendor/magento/module-configurable-product/Helper/Product/Options/Loader.php:52
Uncaught exception ‘Error’ with message ‘Call to undefined method MagentoCatalogModelProductTypeSimple::getConfigurableAttributeCollection()’ in /home/ortlieb/public_html/vendor/magento/module-configurable-product/Helper/Product/Options/Loader.php:52 in MagentoConfigurableProductHelperProductOptionsLoader::load called at /home/ortlieb/public_html/vendor/magento/module-configurable-product/Model/Product/ReadHandler.php (48) in MagentoConfigurableProductModelProductReadHandler::execute called at /home/ortlieb/public_html/vendor/magento/framework/EntityManager/Operation/Read/ReadExtensions.php (48) in MagentoFrameworkEntityManagerOperationReadReadExtensions::execute called at /home/ortlieb/public_html/vendor/magento/framework/EntityManager/Operation/Read.php (112) in MagentoFrameworkEntityManagerOperationRead::execute called at /home/ortlieb/public_html/vendor/magento/framework/EntityManager/EntityManager.php (70) in MagentoFrameworkEntityManagerEntityManager::load called at /home/ortlieb/public_html/vendor/magento/module-catalog/Model/ResourceModel/Product.php (648) in MagentoCatalogModelResourceModelProduct::load called at /home/ortlieb/public_html/generated/code/Magento/Catalog/Model/ResourceModel/Product/Interceptor.php (258) in MagentoCatalogModelResourceModelProductInterceptor::load called at /home/ortlieb/public_html/vendor/magento/framework/Model/AbstractModel.php (540) in MagentoFrameworkModelAbstractModel::load called at /home/ortlieb/public_html/vendor/magento/framework/Interception/Interceptor.php (58) in MagentoCatalogModelProductInterceptor::___callParent called at /home/ortlieb/public_html/vendor/magento/framework/Interception/Interceptor.php (138) in MagentoCatalogModelProductInterceptor::MagentoFrameworkInterception{closure} called at /home/ortlieb/public_html/vendor/magento/framework/Interception/Interceptor.php (153) in MagentoCatalogModelProductInterceptor::___callPlugins called at
If you face the same error, implement the below solution.
Solution to Undefined Method In getConfigurableAttributeCollection in Magento 2.3.3:
Add simple condition in Magento\ConfigurableProduct\Helper\Product\Options\Loader::load(ProductInterface $product) after line no : 51
if (get_class($typeInstance) == 'Magento\Catalog\Model\Product\Type\Simple' || get_class($typeInstance) == 'Magento\Bundle\Model\Product\Type') { return null; }
That’s it.
Do share the solution with fellow developers via social media.
Thanks.