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

Динамический контент в зависимости он GET параметров в частности UTM меток


wowez

Recommended Posts

Здравствуйте, появилась необходимость вывести в категории  какой либо контент типа заголовок, изображение в зависимости от содержимого utm метки, именно в моём случае подошло utm_campaign, и я вот нашёл решение и доработал его под себя (сам я в php на 2с плюсом). 

 

	public function index() {


		if (isset($_GET['utm_campaign'])) {
		 $_SESSION['utm_campaign'] = $_GET['utm_campaign'];
	   }
	   $title = $_SESSION['utm_campaign'];
	   if (isset($_GET['utm_campaign'])) {
	   $title_text = '<img class="changed-img" src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">';
	   }
	   switch ($title) {
		 case "78466906":
		   $title_text = 'ЗАГОЛОВОК_1';
		   break;
	   
		 case "78466906_1":
		   $title_text = '<h2>ЗАГОЛОВОК_2</h2> <img src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">';
		   break;
	 				   }

	   $data['title_text_n'] = $title_text;

 

 

 

И поставил я всё это дело в controller/category.php сразу после  public function index() {  как вы можете видеть, добавил переменную $data['title_text_n'] = $title_text;,  и в шаблоне category.twig вызвал всё это дело таким образом 

 

	{% if title_text_n is empty %}
		{{ content_top }}
		{% else %}
		<div class="change-content">{{ title_text_n }}</div>
		{% endif%}	

 

И в итоге то, всё работает, если нет в get запросе переменной utm_campaign то content top, если есть но не попадает под заданные switch case параметры то просто изображение, если есть то всё в соответствии с case.

 

 

Но чувствую что творю я лютую дичь. ))) (Да и х... с ним), но всё же вот вопрос(ы).

 

Как я понимаю  вот это всё такое в контроллер помещать я не должен.

 

$title_text = '<h2>ЗАГОЛОВОК_2</h2> <img src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">';

 

я могу пометить это в языковые переменные, то есть создать в language/category.php

 

например text_cahged_def  - $_['text_cahged_def']     = 'Преимущества: <img class="changed-img-lang" src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">';

 

и вот так 

 

 switch ($title) {
         case "78466906":
           $title_text = $this->language->get('text_cahged_one');
           break;
       
         case "78466906_1":
           $title_text = $this->language->get('text_cahged_two');
           break;
                        }

 

 

И так работает. Но чувство что творю дичь не покидает. ))..

 

В общем вопрос подскажите пожалуйста как это сделать по уму - правильно, не надо мне готовых решений, вы подскажите пожалуйста куда смотреть, обратить внимание, ну и вообще от любых подсказок буду безумно признателен. 

 

 

Змінено користувачем wowez
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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