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

Seo_pro обрезает метки UTM


Recommended Posts

Добрый день!

 

Подскажите пожалуйста, как поправить файл seo_pro.php в контроллере, чтобы не обрезались метки такого типа:

site.ru/?utm_source=test&utm_medium=e_commerce

(OpenCart 2.x)

 

Ссылка на код seo_pro.php

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

Вроде должно работать, все есть:

$allowed_parameters = array(
    'product_id', 'tracking',
    // Compatibility with "OCJ Merchandising Reports" module.
    // Save and pass-thru module specific GET parameters.
    'uri', 'list_type',
    // Compatibility with Google Analytics
    'gclid', 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
    'type', 'source', 'block', 'position', 'keyword',
    // Compatibility with Yandex Metrics, Yandex Market
    'yclid', 'ymclid', 'openstat', 'frommarket',
    'openstat_service', 'openstat_campaign', 'openstat_ad', 'openstat_source'
    );
foreach($allowed_parameters as $ap) {
    if (isset($tmp[$ap])) {
        $data[$ap] = $tmp[$ap];
    }
}
Надіслати
Поділитися на інших сайтах

Чтобы заработало на всех страницах нужно переместить этот код после или до switch.

 

Переместил выше switch - не помогло, ниже - тоже не помогло.

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

Переместил выше switch - не помогло, ниже - тоже не помогло.

 

А должно было. Надо еще посмотреть .чтобы этот участок кода правильно работал с массивом $tmp, который равняется массиву $data. Т.е. перед перемещаемым кодом должно быть:

$tmp = $data;
Надіслати
Поділитися на інших сайтах

 

А должно было. Надо еще посмотреть .чтобы этот участок кода правильно работал с массивом $tmp, который равняется массиву $data. Т.е. перед перемещаемым кодом должно быть:

$tmp = $data;

 

Переносил вместе с ними, но так и не заработало..

 

Если делать такой запрос:

http://technohaus.com.ua/?utm_source=test&utm_medium=e_commerce

 

то перекидывает просто на главную со слешем.

 

Если отключить 

return link;

тогда появляется ссылка вида 

http://technohaus.com.ua/index.php?route=common/home&utm_source=test&utm_medium=e_commerce

 

Но все что до &utm_source мне нужно убрать..

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

 

А должно было. Надо еще посмотреть .чтобы этот участок кода правильно работал с массивом $tmp, который равняется массиву $data. Т.е. перед перемещаемым кодом должно быть:

$tmp = $data;

 

Проблему решил.

 

Вынес этот кусок кода повыше (вставил перед "rewrite($link, $code = '') {" ) - для того чтобы его не дублировать

$allowed_parameters = array(
'product_id', 'tracking',
// Compatibility with "OCJ Merchandising Reports" module.
// Save and pass-thru module specific GET parameters.
'uri', 'list_type',
// Compatibility with Google Analytics
'gclid', 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
'type', 'source', 'block', 'position', 'keyword',
// Compatibility with Yandex Metrics, Yandex Market
'yclid', 'ymclid', 'openstat', 'frommarket',
'openstat_service', 'openstat_campaign', 'openstat_ad', 'openstat_source'
);

Находим строку: 

case 'common/home':

опускаемся к ближайшему

return $link;

вставляем туда след. код:

// Whitelist GET parameters
$tmp = $data;
$data = array();

foreach($allowed_parameters as $ap) {
	if (isset($tmp[$ap])) {
		$data[$ap] = $tmp[$ap];
	}
}

if (count($data)) {
	$link .= '?' . urldecode(http_build_query($data, '', '&'));
}

Все, работает. :-)

 

Не работало из-за того, что я не присоединил разрешенные параметры к ссылке, видимо спешил)

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

  • 1 year later...

Здравствуйте!

 

Opencart (ocStore 1.5.5.1.2) срезает UTM метки с блоговых страниц (например: https://immunitet.org/kak_povysit_immunitet) и с категорий faq (https://immunitet.org/faq/voprosi-vitafon)! 

Со страницами товаров сам справился, теперь не срезает. Информационные страницы, страницы категорий товаров, faq и главная изначально не срезали.

Подскажите пожалуйста в чем может быть дело?

Может кто поможет за отдельную плату решить эту проблему? ;)

Сайт immunitet.org

 

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

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

Important Information

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