USD
Дополнения для Opencart
Всё самое необходимое для разработки сайта на CMS Opencart

Нужен хороший, но недорогой хостинг?

Используйте Ukrlines Рекомендуем SSL хостинг + HTTP/2 (от 1.70$)

Покупай модули на 15$

И получай VIP на 25 дней!

VIP - статус даёт возможность скачивать все модули бесплатно в течении 25 дней.

Советы по использованию Twig в Opencart 3.x

Советы по использованию Twig в Opencart 3.x

1. Проверка на главную страницу


Простая инструкция о том как сделать проверку или вывод контента только на главной, либо остальных страницах:


Добавьте код в файл контроллера (catalog\controller\common\header.php)

if (!isset($this->request->get['route']) || (isset($this->request->get['route']) && $this->request->get['route'] == 'common/home')) { $data['isHome'] = true;} else { $data['isHome'] = false;}


Добавьте код в Twig - файл (catalog\view\theme\default\template\common\header.twig)

{% if isHome %} home {% else %} not home {% endif %}


2. Храните в закладках конвертер из PHP в Twig


У Twig своеобразный синтаксис)). И он вызывает в начале некоторые трудности. В настоящее время можно пользоваться конвертером для перевода PHP в Twig


Синтаксис Twig вызывает множество вопросов, если вы с ним никогда не работали. Если у вас уже имеются наработки PHP кода, то воспользуйтесь обычным конвертером из PHP в Twig.


Он находится по ссылке: https://phptotwig.com/


Но будь-те осторожны и проверяйте код, иногда появляются ошибки!



3. Прочтите документацию про Twig


Для справки, Opencart использует Twig версии 1.0, версия 2.0 поддерживается только на PHP7+




4. Вывод массивов через Twig


$data = [ 'topics' => [ 'topic1' => ['Message 1 of topic 1', 'Message 2 of topic 1'], 'topic2' => ['Message 1 of topic 2', 'Message 2 of topic 2'], ], ];

Показываем все сообщения из массива:

{% for topic, messages in topics %} * {{ loop.index }}: {{ topic }} {% for message in messages %} - {{ loop.parent.loop.index }}.{{ loop.index }}: {{ message }} {% endfor %} {% endfor %}

У вас должен быть следующий результат:

* 1: topic1 - 1.1: The message 1 of topic 1 - 1.2: The message 2 of topic 1 * 2: topic2 - 2.1: The message 1 of topic 2 - 2.2: The message 2 of topic 2



5. Отображение дампов в Twig


Когда вы пишите собственный модуль, то вам точно необходимо видеть перед собой дамп с переменными. В Opencart 3.x необходимо включить режим разработчика для этого, для этого в файле /system/library/template/Twig/Environment.php установите True в строчке:

'debug' => И добавьте код $this->addExtension(new Twig_Extension_Debug($options['debug'])); А в шаблоне выведите {{ dump() }} Либо способ №2 {% for key, value in _context %} {% if key starts with '_' %} {% else %} <pre style="background: #eee">{{ key }}</pre> {{ dump(value) }} {% endif %} {% endfor %}

Комментарии (0)

Пожалуйста, поставьте свою оценку

Случайные модули

Дополнения из любой категории