Добрый вечер! Столкнулся с проблемой настройки динамического ремакертинга на ocStore 2.1.0.2.1, а именно правки кода движка сайта для отправки в гугл нужных данных. В интернете есть решение для 1.5 но два дня поиска, кроме платных модулей ничего не принесли. Предлагаю свое решение:
1) Берем файл footer.tpl из catalog/view/theme/ваша_тема/template/common/
2) Перед тегом </body> (в самом низу кода) вставляем код ремаркетинга гугл, где ХХХХХХ ваш ID, жирным выделил доработку от себя, в остальном код идентичен стандартному
<!--Dynamic Remarketing Tag --//--> <script type="text/javascript">
var google_tag_params = {
dynx_itemid: '<?php echo $dynx_itemid; ?>',
dynx_pagetype: '<?php echo $dynx_pagetype; ?>',
dynx_totalvalue: '<?php echo $dynx_totalvalue; ?>',
};
</script>
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = XXXXXXXXXXX;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/XXXXXXXXX/?guid=ON&script=0"/>
</div>
</noscript>
3) Берем файл footer.php из /catalog/controller/common/
4) После строки $data['powered'] = sprintf($this->language->get('text_powered'), $this->config->get('config_name'), date('Y', time())); добавляем следующее:
if (! isset ($this->request->get['route'])) {
$data['dynx_itemid']='';
$data['dynx_pagetype'] = "home";
$data['dynx_totalvalue']='';
$data['product_id'] = '';
$data['product_id_q'] = '';
$data['price'] = '';
} else {
$data['dynx_totalvalue']='';
$data['product_id'] = '';
$data['product_id_q'] = '';
$data['price'] = '';
if ($this->request->get['route'] == 'product/category') {
$data['dynx_pagetype'] = "other";
} elseif ($this->request->get['route'] == 'product/product'){
$data['dynx_pagetype'] = "offerdetail";
} elseif ($this->request->get['route'] == 'checkout/cart'){
$data['dynx_pagetype'] = "cart";
} elseif ($this->request->get['route'] == 'search/?search'){
$data['dynx_pagetype'] = "searchresults";
} elseif ($this->request->get['route'] == 'checkout/success'){
$data['dynx_pagetype'] = "purchase";
} elseif ($this->request->get['route'] == 'checkout/success'){
$data['dynx_pagetype'] = "conversion";
} elseif ($this->request->get['route'] == 'checkout/fastorder/fastorder'){
$data['dynx_pagetype'] = "conversionintent";
} elseif ($this->request->get['route'] == ''){
$data['dynx_pagetype'] = "home";
} elseif ($this->request->get['route'] == ''){
$data['dynx_pagetype'] = "other";
} elseif ($this->request->get['route'] == 'common/home'){
$data['dynx_pagetype'] = "home";
} else {
$data['dynx_pagetype'] = "other";
}
if (isset($this->request->get['product_id'])) {
$Id=$this->request->get['product_id'];
$product_info = $this->model_catalog_product->getProduct($Id );
$data['product_id'] = $Id;
If ($product_info['special'] > 0)
$data['price'] = $product_info['special'];
else
$data['price'] = $product_info['price'];
}
if ($this->request->get['route'] == 'product/product') {
$data['dynx_itemid'] = $this->request->get['product_id'];
} else {
$data['dynx_itemid'] = "";
}
if ($this->request->get['route'] == 'product/product') {
$data['dynx_itemid'] = $data['product_id'];
$data['dynx_totalvalue'] = $data['price'];
} elseif ($this->request->get['route'] == 'checkout/cart'){
$data['dynx_totalvalue'] = round($this->cart->getTotal(),2);
} elseif ($this->request->get['route'] == 'checkout/fastorder/fastorder'){
$data['dynx_totalvalue'] = round($this->cart->getTotal(),2);
}
}
5) Сохраняем файлы на сервере, обновляем модификаторы и смотрим код, на странице товара (Пример: https://basispro.com.ua/loft-5552.html ) в самом низу видим заветные строки:
var google_tag_params = {
dynx_itemid: '627',
dynx_pagetype: 'offerdetail',
dynx_totalvalue: '258.0000',
};
На данный момент не могу понять почему не работает на странице поиска и при оформлении заказа не цыпляет dynx_itemid:, если у кого есть идеи как решить просьба написать. Спасибо за внимание!