yireo-magento1 / Yireo_GoogleTagManager

Implement Google Tag Manager in Magento 1 (deprecated)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.