Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


magzhan9292
 Погделиться

Рекомендованные сообещёния

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

 

кто-нибудь подключал для 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
Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.