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

Twig файлы в модулях Opencart 2.3.x


magzhan9292

Recommended Posts

Коллеги, разработчики модуля, нужна помощь

 

кто-нибудь подключал для 2.3 версии twig?

 

У меня есть модуль и он сильно возросся. Он для 3 версии опенкарта там twig. 

 

Контроллеры все настроил только остался вьюшка

 

Можно ли как-то сделать так что-бы если клиент с версией 2.3 устанавливает мой модуль то автоматический устанавливаем ему twig и показываем ему наш файл для 3 версии?

 

У кого какой опыт был?

 

я создаю один модуль для этих двухверсии

 

 

Не хочется создать еще tpl  файл и поддерживать ее

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

Жесть, я на оборот tpl поддерживаю и включаю его в тройке. А в 2.3 твига нету, пока вы его не добавите.

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

25.04.2022 в 18:13, buslikdrev сказал:

Жесть, я на оборот tpl поддерживаю и включаю его в тройке. А в 2.3 твига нету, пока вы его не добавите.

Изначально проект был реализован на 3 версии. Теперь нужна адаптация для 2.3.x

 

 

 

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

25.04.2022 в 14:17, magzhan9292 сказал:

Изначально проект был реализован на 3 версии. Теперь нужна адаптация для 2.3.x

 

Я так под твіг делаю:

Скрытый текст
		if ($this->version_oc >= 3) {
			$template_engine = $this->registry->get('config')->get('template_engine');
			$this->registry->get('config')->set('template_engine', 'template');
		}

		$template = $this->load->view('extension/module/mymodule', $data);

		if ($this->version_oc >= 3) {
			$this->registry->get('config')->set('template_engine', $template_engine);
			$this->response->addHeader('Content-Type: text/html; charset=utf-8');
		}

 

 

Вам же нужно:

Скрытый текст
		if ($this->version_oc == 2.3) {
			$template_engine = $this->registry->get('config')->get('template_type');
			$this->registry->get('config')->set('template_type', 'mytwig');
		}

		$template = $this->load->view('extension/module/mymodule', $data);

		if ($this->version_oc == 2.3) {
			$this->registry->get('config')->set('template_type', $template_engine);
			$this->response->addHeader('Content-Type: text/html; charset=utf-8');
		}

 

 

Также с модулем вести библиотеку твига и загружать по пути:

system/library/template/mytwig/

system/library/template/mytwig.php

И шаблон переименовывать в extension/module/mymodule.tpl т.к. в 2.3 жёстко в коде,

или вешать событие до загрузки шаблона вашего модуля и делать, что хотите.

Скрытый текст
		$this->load->model('extension/event'); 

		$code = $this->model_extension_event->getEvent('mymoduletwig', 'catalog/view/extension/module/mymodule/before', 'extension/module/mymodule/view');

		if (!$code) {
			$this->model_extension_event->addEvent('mymoduletwig', 'catalog/view/extension/module/mymodule/before', 'extension/module/mymodule/view', 1, 1);
		}

 

	public function view(&$route, &$data, &$output) {
		$template = new Template('mytwig');

		foreach ($data as $key => $value) {
			$template->set($key, $value);
		}

		$output = $template->render($route . '.twig');

		return $output;
	}

 

 

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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