На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Вывод переменной в Twig на OpenCart 3



После того, как долгое время работал с OpenCart 1 или 2, переход к опенкарт 3 таит в себе несколько подводных камней. Первый из них – это шаблонизатор twig. Мы привыкли, что в прошлых версиях можно писать код PHP, подключаться к базе и вообще делать все, что угодно прямо в файлах вывода фронтэнд сайта. А вот OpenCart 3 такое не прокатит – придётся почти все писать в контроллере, а в шаблоне twig логики будет самый минимум.



Начинаем разбираться с twig. Если отвлечься, то этот шаблонизатор можно назвать простейшим языком программирования. Есть какие-то переменные, есть некоторые функции (условия). Давайте, например, решим простую задачу – определить в карточке товара URL страницы. Задача выдуманная, но наглядно показывает общий подход, если вам захочется залезть в код шаблона и что-то там немного изменить для себя.

Итак, смотрим в файл catalog/controller/product/product.php (это контроллер вывода карточки товара в опенкарт)

<?php

class ControllerProductProduct extends Controller {
	
	private $error = array();

	public function index() {

		$this->load->language('product/product');

		$data['breadcrumbs'] = array();
		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);
Ну и так далее. Что мы тут видим? А видим мы функцию, которая запускается при первоначальной загрузке страницы с товаром. Дальше в дебри лезть не надо, после

$data['breadcrumbs'] = array();
например вставляем свой код:

$data['mid'] =  $_SERVER["REQUEST_URI"];
Здесь мы занесли в ячейку ассоциативного массива data урл текущей страницы (без домена и протокола соединения). Теперь переходим к файлу catalog/view/theme/default/template/product

{% if mid %}

   {{ mid }}

{% endif %}   
Выводим значение переменной во второй строке, но конструкция if не помешает – а вдруг нет переменной. Вы спросите, зачем она, если мы знаем, что есть? А я отвечу: надо привыкать к хорошему стилю. В следующий раз в этой переменной будет какое-то значение из базы данных. Может, атрибут товара или еще что. А если его нет, то twig споткнётся тут. Так что проверить, есть ли вообще переменная или что-то в ней не помешает.

Теперь в том месте, где будет стоять {{ mid }}, выведется в карточке товара магазина текущий адрес страницы.

Итак, если вам требуется помощь с шаблонизатором twig, с созданием или изменением интернет магазина на OpenCart 3, то вы всегда можете написать мне. Не бесплатно, но недорого я вам помогу.



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, opencart, twig

Читайте также:




С. Визгорев - AI Factory's Chess, уровень 8, 30 августа 2015
Как оптимизировать php скрипт


© upread.ru 2013-2022
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.