With latest Drupal Commerce 2.10 the module fails with:
TypeError: Argument 1 passed to Drupal\commerce_cart\OrderItemMatcher::__construct() must implement interface Drupal\Core\Entity\EntityTypeManagerInterface, instance of Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher given, called in /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php on line 262 in Drupal\commerce_cart\OrderItemMatcher->__construct() (line 38 of /home/dmbhc/www/modules/contrib/commerce/modules/cart/src/OrderItemMatcher.php) #0 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(262): Drupal\commerce_cart\OrderItemMatcher->__construct(Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #1 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(171): Drupal\Component\DependencyInjection\Container->createService(Array, 'commerce_quick_...') #2 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(480): Drupal\Component\DependencyInjection\Container->get('commerce_quick_...', 1) #3 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(230): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #4 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(171): Drupal\Component\DependencyInjection\Container->createService(Array, 'commerce_quick_...') #5 /home/dmbhc/www/modules/contrib/commerce_quick_purchase/src/Form/QuickPurchaseAddToCartForm.php(24): Drupal\Component\DependencyInjection\Container->get('commerce_quick_...') #6 /home/dmbhc/www/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php(28): Drupal\commerce_quick_purchase\Form\QuickPurchaseAddToCartForm::create(Object(Drupal\Core\DependencyInjection\Container)) #7 /home/dmbhc/www/core/lib/Drupal/Core/Form/FormBuilder.php(190): Drupal\Core\DependencyInjection\ClassResolver->getInstanceFromDefinition('Drupal\\commerce...') #8 /home/dmbhc/www/core/lib/Drupal/Core/Form/FormBuilder.php(224): Drupal\Core\Form\FormBuilder->getFormId('Drupal\\commerce...', Object(Drupal\Core\Form\FormState)) #9 /home/dmbhc/www/core/lib/Drupal/Core/Form/FormBuilder.php(216): Drupal\Core\Form\FormBuilder->buildForm('Drupal\\commerce...', Object(Drupal\Core\Form\FormState)) #10 /home/dmbhc/www/modules/contrib/commerce_quick_purchase/src/Plugin/Block/QuickPurchaseAddToCartBlock.php(620): Drupal\Core\Form\FormBuilder->getForm('Drupal\\commerce...', Array) #11 /home/dmbhc/www/core/modules/block/src/BlockViewBuilder.php(203): Drupal\commerce_quick_purchase\Plugin\Block\QuickPurchaseAddToCartBlock->build() #12 [internal function]: Drupal\block\BlockViewBuilder::preRender(Array) #13 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(378): call_user_func('Drupal\\block\\Bl...', Array) #14 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(450): Drupal\Core\Render\Renderer->doRender(Array) #15 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #16 /home/dmbhc/www/core/lib/Drupal/Core/Template/TwigExtension.php(490): Drupal\Core\Render\Renderer->render(Array) #17 /home/dmbhc/www/sites/default/files/php/twig/5bd31ddd0709f_page.html.twig_u5wurMyx4yyLrcXBTHkEErVIO/HnfDmF_DlvYNbwz4NsXThqZAsX3JmsvYKpS1mFmwiQ4.php(60): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #18 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(432): __TwigTemplate_e436107d8014a72a4269492c73cb4b259c88bc54c03736a1686a5d35d1b2557d->doDisplay(Array, Array) #19 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(403): Twig_Template->displayWithErrorHandling(Array, Array) #20 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(411): Twig_Template->display(Array) #21 /home/dmbhc/www/core/themes/engines/twig/twig.engine(64): Twig_Template->render(Array) #22 /home/dmbhc/www/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/themes/bar...', Array) #23 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('page', Array) #24 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #25 /home/dmbhc/www/core/lib/Drupal/Core/Template/TwigExtension.php(490): Drupal\Core\Render\Renderer->render(Array) #26 /home/dmbhc/www/sites/default/files/php/twig/5bd31ddd0709f_html.html.twig_gQv-GORxUVif_Pag4s-5z2NkO/E8L8vvCUQcSCLqU6Rso1DOU_q7LYCj9btVLC2NuXE_E.php(90): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #27 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(432): __TwigTemplate_be8c7bbb9c824f2826368d7c8da984c6279779db72a67fd8056a00bb23b816f2->doDisplay(Array, Array) #28 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(403): Twig_Template->displayWithErrorHandling(Array, Array) #29 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(411): Twig_Template->display(Array) #30 /home/dmbhc/www/core/themes/engines/twig/twig.engine(64): Twig_Template->render(Array) #31 /home/dmbhc/www/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/themes/cla...', Array) #32 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('html', Array) #33 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #34 /home/dmbhc/www/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(147): Drupal\Core\Render\Renderer->render(Array) #35 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() #36 /home/dmbhc/www/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(148): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #37 /home/dmbhc/www/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch)) #38 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #39 /home/dmbhc/www/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #40 /home/dmbhc/www/vendor/symfony/http-kernel/HttpKernel.php(156): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent)) #41 /home/dmbhc/www/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #42 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #43 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #44 /home/dmbhc/www/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #45 /home/dmbhc/www/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #46 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #47 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #48 /home/dmbhc/www/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #49 /home/dmbhc/www/core/lib/Drupal/Core/DrupalKernel.php(665): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #50 /home/dmbhc/www/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #51 {main}.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | commerce-2.10.patch | 2.45 KB | csedax90 |
Comments
Comment #2
csedax90 commentedI've created this little patch for Commerce 2.10, I don't know if the getEntity() workaround is correct or not, but for me it's working
Comment #4
drugan commentedThank you!
Note that your patch is applied just partially. First, the permission change to 'access checkout' should be applied conditionally only if some particular block has Redirection on checkout page setting. It would be nice if you open new issue for the case. Second, the purpose of defining QuickPurchaseAddToCartForm->getEntity() method with a dummy OrderItem return is left not clear for me because we create this object on the fly here from a selected variation:
https://cgit.drupalcode.org/commerce_quick_purchase/tree/src/Form/QuickP...
Feel free to reopen the issue if you still experience problems.
Comment #5
drugan commentedComment #7
hatuhay commentedI am experiencing the same problem.
Fresh commerce 2.12 installation and Commerce Quick Purchase beta-1 and also latest dev version.
Please re-open
Comment #8
drugan commented@hatuhay
Thank you for the report.
Comment #10
drugan commented@hatuhay
Please try now. I've added dummy order item getter suggested in the #2
Comment #11
nicolasgraphThanks, the dev version is working for me.
Comment #12
drugan commentedThank you all, guys! This change will be moved into the next beta4 soon.