I can confirm that Google complains about the placement of the gtag.js script.
See:
https://support.google.com/tagmanager/answer/14847097?sjid=4908559106955...
Copy the first block of code and paste it as high in the tag as possible.
I patched the google_tag.libraries.yml
file. Can someone confirm that this creates not a problem elsewhere?
I also had to switch off consent mode (on the Google_tag settings page, at the bottom) (which switches on the default gtag settings) and put the default values manually in the head tag at the very first line. I was unable to alter the module logic to achieve this goal through an alter API call. But I had not enough time to dig deep into that. Considering that, putting the settings into html.html.twig
a hack. Better ideas are appreciated.
<head>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'default', {
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'ad_storage': 'denied',
'analytics_storage': 'denied',
'wait_for_update': 500,
});
gtag('js', new Date());
</script>
Just stumbled over this as well. In my case I was confused why the purchased event is tiggered in this form_alter you removed. Was looking into a similar fix.
I wonder if we could use
CheckoutEvents::COMPLETION
as the subscribed event instead of `'commerce_order.place.post_transition'`?
I have the same problem and this patch fixes a lto of issues but the order total amount is not refreshed imideately for some reason. I have to trigger another refresh by stepping one screen forward in the checkout process.
I could avoid this by adding an
$order->save()
after the refresh.
Have the same error on a commerce product variant. The backtrace looks like this:
Warning: Undefined array key "target_type" in Drupal\computed_field\Entity\ComputedField->getSetting() (line 38 of /var/www/html/web/modules/contrib/computed_field/src/Field/ComputedFieldSettingsTrait.php)
#0 /var/www/html/web/core/includes/bootstrap.inc(347): _drupal_error_handler_real(2, 'Undefined array...', '/var/www/html/w...', 38)
#1 /var/www/html/web/modules/contrib/computed_field/src/Field/ComputedFieldSettingsTrait.php(38): _drupal_error_handler(2, 'Undefined array...', '/var/www/html/w...', 38)
#2 /var/www/html/web/modules/contrib/commerce/modules/product/src/ProductAttributeFieldManager.php(89): Drupal\computed_field\Entity\ComputedField->getSetting('target_type')
#3 [internal function]: Drupal\commerce_product\ProductAttributeFieldManager->Drupal\commerce_product\{closure}(Object(Drupal\computed_field\Entity\ComputedField))
#4 /var/www/html/web/modules/contrib/commerce/modules/product/src/ProductAttributeFieldManager.php(91): array_filter(Array, Object(Closure))
#5 /var/www/html/web/modules/contrib/commerce/modules/product/src/ProductAttributeFieldManager.php(142): Drupal\commerce_product\ProductAttributeFieldManager->getFieldDefinitions('class')
#6 /var/www/html/web/modules/contrib/commerce/modules/product/src/ProductAttributeFieldManager.php(107): Drupal\commerce_product\ProductAttributeFieldManager->buildFieldMap()
#7 /var/www/html/web/modules/contrib/commerce/modules/product/src/Entity/ProductVariation.php(290): Drupal\commerce_product\ProductAttributeFieldManager->getFieldMap('class')
#8 /var/www/html/web/modules/contrib/commerce/modules/product/src/ProductViewBuilder.php(95): Drupal\commerce_product\Entity\ProductVariation->getAttributeFieldNames()
#9 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(292): Drupal\commerce_product\ProductViewBuilder->alterBuild(Array, Object(Drupal\commerce_product\Entity\Product), Object(Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay), 'full')
#10 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityViewBuilder.php(239): Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array)
#11 [internal function]: Drupal\Core\Entity\EntityViewBuilder->build(Array)
#12 /var/www/html/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
#13 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(788): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#14 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(374): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#15 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#16 /var/www/html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(242): Drupal\Core\Render\Renderer->render(Array, false)
#17 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(580): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#18 /var/www/html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(243): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#19 /var/www/html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(132): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#20 /var/www/html/web/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))
#21 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#22 /var/www/html/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#23 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(174): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#24 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(81): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#25 /var/www/html/web/modules/contrib/force_password_change/src/Service/ForcePasswordChangeRedirectMiddleware.php(43): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#26 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Drupal\force_password_change\Service\ForcePasswordChangeRedirectMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 /var/www/html/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#29 /var/www/html/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#30 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#31 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#32 /var/www/html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#33 /var/www/html/web/core/lib/Drupal/Core/DrupalKernel.php(718): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#34 /var/www/html/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#35 {main}
.
For "Italien" Addresses there is no locality.code. The locality name is just a string in 'locaity'. And what does code in this context mean? I understand "code" for the country is the ISO shortcut. But why would the city name e.g. "Berlin" for a German address be in `locality.code` and not `locality.name` ?
See:
marcusx → created an issue.
marcusx → created an issue.
I tried to reproduce this as I have several nested paragraphs and thought I would need this patch. But at the moment I cannot produce any cloning issues with those nested paragraphs.
For me, everything is fine without the patch.