Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как вывести главную категорию товара ?


Recommended Posts

Всем доброго дня.
Совсем недавно задавал вопросы по поводу настройки Google tag manager и отправки в analytics необходимой информации,(создавал в платных услугах)
Желающих помочь было (только 1 человек)
4 ночи за компьютером -  и пол дела сделано)
Теперь не могу вывести название главной категории товара для отправки в analytics
В категории - вывел категорию
В карточке товара  вывел категорию но только получилось вывести полный путь категорий  от начальной до последней ( категория=категория1)

  • Сейчас не могу вывести категорию товара на страницу успешного заказа.
  • Нужно вывести только сумму товаров для отправки - 
  • Не могу вывести код купона который применяли

Помогите кто чем может
Направьте пожалуйста по правильному пути?

Код страницы успешного заказа прилагается-
 

<?php echo $header; ?>


<div class="container">
  <ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
    <?php } ?>
  </ul>
  <div class="row"><?php echo $column_left; ?>
    <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?>
      <h1><?php echo $heading_title; ?></h1>
      <?php echo $text_message; ?>

<?php if (isset($order_id)) { ?>
<div id="print">
<div style="padding: 0px 0px 20px 0px;">
<?php echo $store_name; ?><br />
<?php echo $store_address; ?><br />
<?php echo $store_emal; ?><br />
<?php echo $store_tel; ?>
</div>
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-left" colspan="2"><?php echo $text_order_detail; ?></td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-left" style="width: 50%;"><?php if ($invoice_no) { ?>
<b><?php echo $text_invoice_no; ?></b> <?php echo $invoice_no; ?><br />
<?php } ?>
<b><?php echo $text_order_id; ?></b> #<?php echo $order_id; ?><br />
<b><?php echo $text_date_added; ?></b> <?php echo $date_added; ?></td>
<td class="text-left"><?php if ($payment_method) { ?>
<b><?php echo $text_payment_method; ?></b> <?php echo $payment_method; ?><br />
<?php } ?>
<?php if ($shipping_method) { ?>
<b><?php echo $text_shipping_method; ?></b> <?php echo $shipping_method; ?>
<?php } ?></td>
</tr>
</tbody>
</table>
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-left" style="width: 50%;"><?php echo $text_payment_address; ?></td>
<?php if ($shipping_address) { ?>
<td class="text-left"><?php echo $text_shipping_address; ?></td>
<?php } ?>
</tr>
</thead>
<tbody>
<tr>
<td class="text-left"><?php echo $payment_address; ?></td>
<?php if ($shipping_address) { ?>
<td class="text-left"><?php echo $shipping_address; ?></td>
<?php } ?>
</tr>
</tbody>
</table>
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-left"><?php echo $column_name; ?></td>
<td class="text-left"><?php echo $column_model; ?></td>
<td class="text-right"><?php echo $column_quantity; ?></td>
<td class="text-right"><?php echo $column_price; ?></td>
<td class="text-right"><?php echo $column_total; ?></td>
</tr>
</thead>
<tbody>
<?php foreach ($products as $product) { ?>
<tr>
<td class="text-left"><?php echo $product['name']; ?>
<?php foreach ($product['option'] as $option) { ?>
<br />
&nbsp;<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small>
<?php } ?></td>
<td class="text-left"><?php echo $product['model']; ?></td>
<td class="text-right"><?php echo $product['quantity']; ?></td>
<td class="text-right"><?php echo $product['price']; ?></td>
<td class="text-right"><?php echo $product['total']; ?></td>
</tr>
<?php } ?>
<?php foreach ($vouchers as $voucher) { ?>
<tr>
<td class="text-left"><?php echo $voucher['description']; ?></td>
<td class="text-left"></td>
<td class="text-right">1</td>
<td class="text-right"><?php echo $voucher['amount']; ?></td>
<td class="text-right"><?php echo $voucher['amount']; ?></td>
</tr>
<?php } ?>
</tbody>
<tfoot>
<?php foreach ($totals as $total) { ?>
<tr>
<td colspan="3"></td>
<td class="text-right"><b><?php echo $total['title']; ?></b></td>
<td class="text-right"><?php echo $total['text']; ?></td>
</tr>
<?php } ?>
</tfoot>
</table>
</div>
<?php if ($comment) { ?>
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-left"><?php echo $text_comment; ?></td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-left"><?php echo $comment; ?></td>
</tr>
</tbody>
</table>
<?php } ?>
<?php if ($histories) { ?>
<h3><?php echo $text_history; ?></h3>
<table class="table table-bordered table-hover">
<thead>
<tr>
<td class="text-left"><?php echo $column_date_added; ?></td>
<td class="text-left"><?php echo $column_status; ?></td>
<td class="text-left"><?php echo $column_comment; ?></td>
</tr>
</thead>
<tbody>
<?php foreach ($histories as $history) { ?>
<tr>
<td class="text-left"><?php echo $history['date_added']; ?></td>
<td class="text-left"><?php echo $history['status']; ?></td>
<td class="text-left"><?php echo $history['comment']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
  <!--Скрипт отправки данных в analytics-->
<?php if (isset($order_id)) { ?>      
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'currencyCode': 'RUB',
'purchase': {
'actionField': {
'id': '<?php echo $order_id; ?>',
'affiliation': '<?php echo $store_name; ?>',

'revenue': '<?php echo $total['text']; ?>', //Тут выводиться только общая сумма заказа

<?php foreach ($vouchers as $voucher) { ?>    //Тут думал что получиться но не получилось
'shipping': '<?php echo $voucher['amount']; ?>',
'coupon': '<?php echo $voucher['amount']; ?>'
<?php } ?>
},

'products': [<?php foreach ($products as $product) { ?>{  
'name': '<?php echo $product['name']; ?>',
'id': '<?php echo $product['product_id']; ?>',
'price': '<?php echo $product['price']; ?>',
'brand': '<?php echo $product['manufacturer']; ?>',
'category': ' ',
<?php foreach ($product['option'] as $option) { ?>
'variant': '<?php echo $option['value']; ?>',
<?php } ?>
'quantity': <?php echo $product['quantity']; ?>

},<?php } ?>
]

}
},
'event': 'gtm-ee-event',
'gtm-ee-event-category': 'Расширенная торговля',
'gtm-ee-event-action': 'Покупка',
'gtm-ee-event-non-interaction': 'False',
});
</script>
<?php } ?>
  <!--Скрипт отправки данных в analytics Конец-->
<?php } ?>
</div>
<?php } ?>

      
      <div class="buttons">
        <div class="pull-right"><a href="<?php echo $continue; ?>" class="btn btn-primary"><?php echo $button_continue; ?></a></div>
      </div>
      <?php echo $content_bottom; ?></div>
    <?php echo $column_right; ?></div>
</div>


			<?php if (isset($script_order)) { echo $script_order; } ?>
			<?php echo $footer; ?>
			

 

Надіслати
Поділитися на інших сайтах


Вам нужно создать свою функцию в модели product, например getMainCategory($product_id)

которая будет выбирать из базы данные по ней и потом вызывать ее по необходимости в произвольных местах.

public function getMainCategory($product_id) {
	$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "product_to_category ptc LEFT JOIN " . DB_PREFIX . "category_description cd ON (ptc.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (ptc.category_id = c2s.category_id) WHERE ptc.product_id = '" . (int)$product_id . "' AND ptc.main_category = '1' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
	return $query->row;
}

что-нибудь вроде такого, где вместо * можно оставить только те данные, которые Вам нужны по главной категории и работать с полученным массивом. Если нужны какие-то доп поля кроме названия, вроде картинки- нужно в запрос подцепить еще и выборку из таблицы category, но для GA это не нужно.

  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.