Добавьте код менеджера тегов Google в голову и тело
У меня есть вопрос относительно magento. Я хотел бы знать, где находятся голова и тело. Я хочу сделать это, потому что хотел бы добавить в него код менеджера тегов Google. Я почему-то не могу найти, где он находится.
Заранее благодарю.
5 answers
Вы можете добавить файлы JS следующим образом:
Дублируйте файл:
app/code/Magento/Theme/view/frontend/layout/default_head_blocks.xml
До
app/code/*your_vendor*/*your_theme*/Magento_Theme/layout/default_head_blocks.xml
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<!-- Add local resources -->
<css src="css/my-styles.css"/>
<!-- The following two ways to add local JavaScript files are equal -->
<script src="Magento_Catalog::js/sample1.js"/>
<link src="js/sample.js"/>
<!-- Add external resources -->
<css src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css" src_type="url" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" src_type="url" />
<link src="http://fonts.googleapis.com/css?family=Montserrat" src_type="url" />
</head>
</page>
Для получения дополнительной информации:
Http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-manage.html
РЕДАКТИРОВАТЬ:
Чтобы добавить блокировку содержимого на все страницы: https://magento.stackexchange.com/a/139772/48355
Базовый код GTM можно легко добавить, выполнив следующие три шага -:
Шаг 1
Gtm_head.phtml---> Ваша тема/magento_theme/шаблоны/html/gtm_head.phtml
Добавьте следующий сценарий:
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- End Google Tag Manager -->
Шаг 2
Gtm_body.phtml---> Ваша тема/magento_theme/шаблоны/html/gtm_body.phtml
Добавьте следующий сценарий:
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
Шаг 3
XML-файл по умолчанию: --->YourTheme/Magento_Theme/layout/default.xml и добавьте это:
<referenceContainer name="head.additional">
<block class="Magento\Framework\View\Element\Template" name="gtm.head" before="-" template="Magento_Theme::html/gtm_head.phtml" />
</referenceContainer>
<referenceContainer name="after.body.start">
<block class="Magento\Framework\View\Element\Template" name="gtm.body" before="-" template="Magento_Theme::html/gtm_body.phtml" />
</referenceContainer>
Вышеизложенное добавит базовый сценарий кода GTM в ваш магазин Magento 2, но GTM - это все о данных и слоях данных без них очень мало что можно сделать с помощью базового сценария GTM.
Например, для расширенной электронной коммерции Google вам необходимо создать слои данных для всех перечисленных ниже действий/страниц
Показы товаров (для категории, распродажи, перекрестные продажи и результаты поиска) - Везде, где вы показываете список товаров.
Клики по товарам (для категории, распродаж, перекрестных продаж и результатов поиска) - Везде, где вы показываете список товаров.
Показы сведений о продукте (для страницы сведений о продукте)
Добавить/Удалить из корзины (для действия добавить в корзину или удалить из корзины)
Рекламные показы (для списка баннеров/объявлений)
Рекламные клики (для клика изображение баннера/рекламы)
Оформление заказа (для оформления заказа /шагов оформления заказа)
Покупки (для страницы подтверждения заказа)
Возврат средств (от администратора для отправки возврата в GA в случае возврата)
Если вы разработчик, вы можете добавить вышеуказанные слои данных в свой код, используя следующие обработчики компоновки -:
Default.xml
Catalog_category_view.xml
Catalog_product_view.xml
Catalogsearch_advanced_result.xml
Catalogsearch_result_index.xml
Checkout_cart_index.xml
Checkout_index_index.xml
Checkout_onepage_success.xml
Если нет, то существует довольно мало расширений, доступных для покупки за небольшую сумму. Лично Я бы рекомендовал следующие два расширения для M1 и M2
M1 Менеджер тегов Google с улучшенной электронной коммерцией
M2 Менеджер тегов Google с улучшенной электронной коммерцией
Источник -: Как передавать данные в слое данных в magento 2.1 - Менеджер тегов Google /Аналитика
Я также хотел бы отметить, что Magento 2 Enterprise Edition имеет некоторую встроенную поддержку GTM:
Http://docs.magento.com/m2/ee/user_guide/marketing/google-tag-manager.html
Это также актуальный вопрос об обмене стеками, который может вам понравиться, если вам нужно реализовать его самостоятельно в CE:
В то время как вы можете успешно добавить свой скрипт Google Analytics, разместив его в default_head_blocks.xml , вы также можете просто добавить свой идентификатор GA от администратора Magento.
Магазины > Конфигурация > Продажи > Google API
Затем из панели администратора GA вам следует перейти в Настройки электронной коммерции, включить электронную коммерцию и включить расширенную отчетность по электронной коммерции.
*Это для Magento 2.1
-
Попробуйте использовать этот код с учетом категории google_tag_param, типа страницы и цены продукта.
<?php /** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ /** * @var \Magento\Theme\Block\Html\Header\Logo $block */ ?> <script src="<?php echo $this->getViewFileUrl("js/jquery-1.11.3.min.js"); ?>"></script> <script src="<?php echo $this->getViewFileUrl("js/menumaker.js"); ?>"></script> <script src="<?php echo $this->getViewFileUrl("js/jquery.bxslider.min.js"); ?>"></script> <link rel="stylesheet" href="<?php echo $this->getViewFileUrl("css/menumaker.css"); ?>" /> <link rel="stylesheet" href="<?php echo $this->getViewFileUrl("css/jquery.bxslider.css"); ?>" /> <?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $request = $objectManager->get('Magento\Framework\App\Action\Context')->getRequest(); $category = $objectManager->get('Magento\Framework\Registry')->registry('current_category');//get current category $product = $objectManager->get('Magento\Framework\Registry')->registry('current_product');//get current product $category_urlkey = ""; $pagetype = ""; $product_price = ""; if ($request->getFullActionName() == 'cms_index_index') { $category_urlkey = "index"; $pagetype = "home" ; } else if($product){ //echo $category->getId(); //echo $category->getName(); $category_urlkey = $product->getSku(); $pagetype = "product" ; $product_price = $product->getFinalPrice(); }else if($category){ $category_urlkey = $category->getUrlKey(); $pagetype = "category" ; } ?> <script type="text/javascript"> var google_tag_params = { ecomm_prodid: <?php echo $category_urlkey; ?>, ecomm_pagetype: <?php echo $pagetype; ?>, ecomm_totalvalue: <?php echo $product_price; ?> }; </script> <?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('head-top')->toHtml();?> <?php $storeName = $block->getThemeName() ? $block->getThemeName() : $block->getLogoAlt();?> <span data-action="toggle-nav" class="action nav-toggle"><span><?php /* @escapeNotVerified */ echo __('Toggle Nav') ?></span></span> <?php if ($block->isHomePage()):?> <strong class="logo"> <?php else: ?> <a class="logo" href="<?php echo $block->getUrl(''); ?>" title="<?php /* @escapeNotVerified */ echo $storeName ?>"> <?php endif ?> <img src="<?php /* @escapeNotVerified */ echo $block->getLogoSrc() ?>" alt="<?php /* @escapeNotVerified */ echo $block->getLogoAlt() ?>" <?php echo $block->getLogoWidth() ? 'width="' . $block->getLogoWidth() . '"' : '' ?> <?php echo $block->getLogoHeight() ? 'height="' . $block->getLogoHeight() . '"' : '' ?> /> <?php if ($block->isHomePage()):?> </strong> <?php else:?> </a> <?php endif?>
Пожалуйста, проверьте короткий экран