Мы не работаем с клиентами из страны-оккупанта РФ и их пособников - РБ.

Нет войне в Украине! Остановите убийства мирных жителей Украины! Остановите путина!

Интеграция кода Google Отзывы клиентов в OpenCart

OpenCartBot - 04.04.2025
Интеграция кода Google Отзывы клиентов в OpenCart

Статья о том, как интегрировать код Google Отзывы клиентов в интернет-магазин OpenCart. Это краткий пример с инструкцией по интеграции скрипта от гугл в файлы CMS OpenCart. Благодаря этому вы сможете получать отзывы клиентов, уже сделавших заказ на вашем сайте. Покупатели будут получать напоминания от Google о том, что они могут оставить отзыв о вашей компании.


Как и куда добавить код Google Отзывы клиентов в OpenCart

Google рекомендует добавить код на страницу успешного оформления заказа на вашем сайте, что мы сделаем. Наша инструкция подходит для OpenCart 3 и OpenCart 4. Если же у вас OpenCart 2 – нужно конвертировать код twig в php.


1. В файле catalog/controller/checkout/success.php

сразу после строки:

if (isset($this->session->data['order_id'])) {

нужно добавить:

$this->load->model('checkout/order');
$data['order_info'] = $this->model_checkout_order->getOrder($this->session->data['order_id']);

$data['country_code'] = 'UA';
if (isset($data['order_info']['shipping_country_id'])){
	$this->load->model('localisation/country');
	$country = $this->model_localisation_country->getCountry($data['order_info']['shipping_country_id']);
	if ($country) {
		$data['country_code'] = $country['iso_code_2'];
	}
}

$data['delivery_date'] = date('Y-m-d', strtotime('+7 days'));

$data['gtins'] = [];
$products = $this->model_checkout_order->getOrderProducts($this->session->data['order_id']);
if ($products) {
	$eans_query = $this->db->query("SELECT ean FROM ".DB_PREFIX."product WHERE product_id IN ('".implode(', ', array_column($products, 'product_id'))."') AND ean != ''");
	$data['gtins'] = $eans_query->rows;
}


2. В файле catalog/view/theme/шаблон/template/common/success.twig

перед строкой:

{{ footer }}

нужно добавить:

{% if order_info %}
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
  window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          "merchant_id": ID_ВАШОГО_МЕРЧАНТУ,
          "order_id": "{{ order_info.order_id }}",
          "email": "{{ order_info.email }}",
          "delivery_country": "{{ country_code }}",
          "estimated_delivery_date": "{{ delivery_date }}"
          {% if gtins %},
          "products": [{% for gtin in gtins %}{"gtin":"{{ gtin.ean }}"}{% if not loop.last %}, {% endif %}{% endfor %}]
          {% endif %}
        });
    });
  }
</script>
{% endif %}

Следует заметить, что артикулы товаров (gtin) необязательны, поэтому если у вас нет артикулов – вы можете их не передавать. В этом примере мы передаем артикул EAN.


3. После этого нужно обновить все возможные кэши, которые у вас есть, это можно сделать в админке: кэш модификаторов, кэш шаблонов twig (кэш темы), кэш специальных модулей кэширования.


4. Сделайте тестовый заказ, вы должны видеть всплывающее окно согласия на странице успешного оформления заказа. Если вы его видите – все работает должным образом.


В общем, как видите, интеграция скрипта Google отзывов в OpenCart является простой задачей. Но она требует внимательности и сосредоточенности, чтобы не допустить ошибку. Удачных продаж!



Связанные статьи