Checkout Onepage stops on first step
mikebranderhorst opened this issue · comments
Version 1.4.1
Fatal error: Uncaught Error: Call to a member function toHtml() on boolean in app/code/community/Yireo/GoogleTagManager/Observer/LazyLoadDataLayer.php on line 86
Checkout Onepage next step is an ajax call and the block googletagmanager_data does not exist.
Solution example
/** @var Yireo_GoogleTagManager_Block_Data $dataLayerBlock */
$dataLayerBlock = $block->getLayout()->getBlock('googletagmanager_data');
if (!$dataLayerBlock) {
return false;
}
$dataLayerHtml = trim($dataLayerBlock->toHtml());
Strange. This block is defined in the XML layout file googletagmanager.xml
which is present on all pages (default
) handle. Can you confirm the XML layout cache has been flushed?
Version 1.4.2 includes the suggested fix.
These are the available blocks (on ajax request)
_blocks = {array} [3]
root = {Mage_Checkout_Block_Onepage_Shipping_Method_Additional} [42]
content.top = {Magestore_Bannerslider_Block_Bannerslider} [36]
ANONYMOUS_2 = {Mage_GiftMessage_Block_Message_Inline} [39]
These on page refresh (normal request)
_blocks = {array} [116]
formkey = {Mage_Core_Block_Template} [36]
root = {Mage_Page_Block_Html} [38]
head = {Mage_Page_Block_Html_Head} [36]
js_cookies = {Mage_Page_Block_Js_Cookie} [36]
head.viewport = {Mage_Core_Block_Text} [28]
after_body_start = {Mage_Core_Block_Text_List} [28]
global_notices = {Mage_Page_Block_Html_Notices} [36]
header = {Mage_Page_Block_Html_Header} [36]
top.links = {Mage_Page_Block_Template_Links} [38]
store_language = {Mage_Page_Block_Switch} [37]
top.menu = {Mage_Core_Block_Text_List} [28]
catalog.topnav = {Mage_Page_Block_Html_Topmenu} [38]
catalog.topnav.renderer = {Mage_Page_Block_Html_Topmenu_Renderer} [39]
top.container = {Mage_Page_Block_Html_Wrapper} [29]
welcome = {Mage_Page_Block_Html_Welcome} [36]
breadcrumbs = {Mage_Page_Block_Html_Breadcrumbs} [38]
left_first = {Mage_Core_Block_Text_List} [28]
global_messages = {Mage_Core_Block_Messages} [42]
messages = {Mage_Core_Block_Messages} [42]
content = {Mage_Core_Block_Text_List} [28]
right = {Mage_Core_Block_Text_List} [28]
footer.before = {Mage_Page_Block_Html_Wrapper} [29]
footer = {Mage_Page_Block_Html_Footer} [37]
bottom.container = {Mage_Page_Block_Html_Wrapper} [29]
before_body_end = {Mage_Core_Block_Text_List} [28]
global_cookie_notice = {Mage_Page_Block_Html_CookieNotice} [36]
core_profiler = {Mage_Core_Block_Profiler} [28]
optional_zip_countries = {Mage_Core_Block_Template} [36]
currency = {Mage_Directory_Block_Currency} [36]
footer_currency = {Mage_Directory_Block_Currency} [36]
cms_footer_links = {Mage_Cms_Block_Block} [28]
cms_footer_links_sm = {Mage_Cms_Block_Block} [28]
catalog.compare.sidebar = {Mage_Catalog_Block_Product_Compare_Sidebar} [47]
catalog_product_price_template = {Mage_Catalog_Block_Product_Price_Template} [29]
product.tooltip = {Mage_Core_Block_Template} [36]
top.search = {Mage_Core_Block_Template} [36]
checkout_cart_link = {Mage_Checkout_Block_Links} [36]
minicart_head = {Mage_Checkout_Block_Cart_Minicart} [41]
minicart_content = {Mage_Checkout_Block_Cart_Sidebar} [41]
cart_sidebar.cart_promotion = {Mage_Core_Block_Text_List} [28]
cart_sidebar.extra_actions = {Mage_Core_Block_Text_List} [28]
paypal.partner.top_cart.shortcut = {Mage_Paypal_Block_Express_Shortcut} [40]
paypal.partner.cart_sidebar.shortcut = {Mage_Paypal_Block_Express_Shortcut} [40]
right.poll = {Mage_Poll_Block_ActivePoll} [40]
right.reports.product.compared = {Mage_Reports_Block_Product_Compared} [50]
google_analytics = {Mage_GoogleAnalytics_Block_Ga} [36]
paypaluk.partner.top_cart.shortcut = {Mage_PaypalUk_Block_Express_Shortcut} [40]
paypaluk.partner.cart_sidebar.shortcut = {Mage_PaypalUk_Block_Express_Shortcut} [40]
head_rss = {Mage_Rss_Block_List} [37]
footer.newsletter = {Mage_Newsletter_Block_Subscribe} [36]
account.links = {Mage_Page_Block_Template_Links} [38]
...
googletagmanager_noscript = {Yireo_GoogleTagManager_Block_Noscript} [41]
googletagmanager_data = {Yireo_GoogleTagManager_Block_Data} [41]
googletagmanager_customer = {Yireo_GoogleTagManager_Block_Customer} [41]
googletagmanager_order = {Yireo_GoogleTagManager_Block_Order} [41]
googletagmanager_quote = {Yireo_GoogleTagManager_Block_Quote} [42]
googletagmanager_product = {Yireo_GoogleTagManager_Block_Product} [41]
googletagmanager_category = {Yireo_GoogleTagManager_Block_Category} [41]
googletagmanager_search = {Yireo_GoogleTagManager_Block_Search} [41]
googletagmanager_tag = {Yireo_GoogleTagManager_Block_Tag} [41]
googletagmanager_custom = {Yireo_GoogleTagManager_Block_Custom} [41]
googletagmanager_ecommerce = {Yireo_GoogleTagManager_Block_Ecommerce} [41]
store_info_nl = {Mage_Cms_Block_Block} [28]
footer_about = {Mage_Cms_Block_Block} [28]
footer_contact = {Mage_Cms_Block_Block} [28]
footer_payment = {Mage_Cms_Block_Block} [28]
footer_pea_opt = {Mage_Cms_Block_Block} [28]
checkout.progress.wrapper = {Mage_Page_Block_Html_Wrapper} [29]
checkout.progress = {Mage_Checkout_Block_Onepage_Progress} [42]
billing.progress = {Mage_Checkout_Block_Onepage_Progress} [42]
shipping.progress = {Mage_Checkout_Block_Onepage_Progress} [42]
shippingmethod.progress = {Mage_Checkout_Block_Onepage_Progress} [42]
payment.progress = {Mage_Checkout_Block_Onepage_Progress} [42]
checkout.onepage = {Mage_Checkout_Block_Onepage} [42]
checkout.onepage.login = {Mage_Checkout_Block_Onepage_Login} [42]
checkout.onepage.login.before = {Mage_Page_Block_Html_Wrapper} [29]
checkout.onepage.billing = {Mage_Checkout_Block_Onepage_Billing} [44]
checkout.onepage.shipping = {Mage_Checkout_Block_Onepage_Shipping} [43]
checkout.onepage.shipping_method = {Mage_Checkout_Block_Onepage_Shipping_Method} [42]
checkout.onepage.shipping_method.available = {Mage_Checkout_Block_Onepage_Shipping_Method_Available} [44]
checkout.onepage.shipping_method.additional = {Mage_Checkout_Block_Onepage_Shipping_Method_Additional} [42]
checkout.onepage.payment = {Mage_Checkout_Block_Onepage_Payment} [42]
checkout.payment.methods.child0 = {Appmerce_Ingenico_Block_Form} [36]
checkout.payment.methods.child1 = {Appmerce_Ingenico_Block_Form_Ideal} [36]
checkout.payment.methods.child2 = {Appmerce_Ingenico_Block_Form} [36]
checkout.payment.methods.child3 = {Appmerce_Ingenico_Block_Form} [36]
checkout.payment.methods.child4 = {Appmerce_Ingenico_Block_Form} [36]
checkout.payment.methods = {Mage_Checkout_Block_Onepage_Payment_Methods} [36]
checkout.onepage.payment.additional = {Mage_Core_Block_Template} [36]
checkout.onepage.payment.methods_additional = {Mage_Core_Block_Template} [36]
checkout.onepage.review = {Mage_Checkout_Block_Onepage_Review} [42]
bml.center.logo = {Mage_Paypal_Block_Bml_Banners} [38]
form.additional.info = {Mage_Core_Block_Text_List} [28]
captcha = {Mage_Captcha_Block_Captcha} [36]
captcha.guest.checkout = {Mage_Captcha_Block_Captcha} [36]
captcha.register.during.checkout = {Mage_Captcha_Block_Captcha} [36]
persistent.remember.me = {Mage_Persistent_Block_Form_Remember} [36]
persistent.remember.me.tooltip = {Mage_Core_Block_Template} [36]
customer_header_form_login = {Marissen_Customer_Block_Form_Login} [37]
ANONYMOUS_108 = {Mage_Checkout_Block_Cart_Item_Renderer} [42]
ANONYMOUS_109 = {Mage_Core_Block_Html_Select} [29]
ANONYMOUS_110 = {Mage_Customer_Block_Widget_Name} [36]
ANONYMOUS_111 = {Mage_Core_Block_Html_Select} [29]
ANONYMOUS_112 = {Mage_Core_Block_Html_Select} [29]
ANONYMOUS_113 = {Mage_Customer_Block_Widget_Name} [36]
ANONYMOUS_114 = {Mage_Core_Block_Html_Select} [29]
ANONYMOUS_115 = {Mage_GiftMessage_Block_Message_Inline} [39]
Thanks, understood. I guess this issue can be closed due to the new version that does this check.