Данные переменные используются во всех файлах Вашего шаблона в .tpl файлах. При каждой разработке своего шаблона приходится погружаться в код default и разбираться какая переменная за что отвечает. Пользуйтесь данным материалом как справочником при верстки своих шаблонов.
Информация была собрана с разных сайтов в том числе благодарны сайту: wmasteru.org
Переменные в header.tpl
$title
— название магазина, значение его задается в Система > Настройки далее вкладка витрина поле «Заголовок»$base
— url адрес сайта, если на локальном сервере то это значение равно http://127.0.0.1/
$description
— описание документа, обычно располагается в тэге <meta name="description">
, значение задается в витрине.
$keywords
— нет настроек через админ панель (OpenCart v. 1.5.4), есть модули добавляющие данную возможность, переменная пуста$og_url
— url адрес текущей страницы, значение переменной формируется автоматически (c версии ocStore 1.5.4.1.1)$logo
— url адрес логотипа, который указывается в вкладке «Изображения» – Логотип$name
— название магазина, обычно располагается возле логотипа в шапке сайта$icon
— url адрес иконки, указывается в вкладке «изображения» – иконка. Как правило используется в <link href="/…" rel="icon" />
в <head> </head>
страницы, т.е. задает иконку веб сайта при поисковой выдачи.$links
— пустой массив переменных, нигде не задается (OpenCart v 1.5.4)$styles
— пустой двумерный массив переменных: $style['rel']
– тип стиля и $style['href']
– ссылка на стиль. Нигде не задается (OpenCart 1.5.4)$script
— массив содержащий ссылку на скрипт catalog/view/javascript/jquery/jquery.cycle.js
. В админ-панели нигде адрес на скрипты не задается (OpenCart 1.5.4)$google_analytics
— переменная содержащая текст счетчика от Google, код счетчика вводиться на вкладки «Сервер»home
— переменная содержащая ссылку на главную страницу, например для локального сервера ее значение будет следующее «http://127.0.0.1/index.php?route=common/home»
. В админ-панели не задается.$language
— переменная содержащая html код модуля module/language
, если ее напечатать в веб страницу мы получим картинку переключения языков. Картинки в браузере кликабельные, при нажатие изменяется язык. В базовом стиле модуля module/language
курсор не изменяется при наведение на ссылки, что не есть хорошо, добавлять стиль к данным ссылкам придется в своем .css файле
)$currency
— переменная содержащая html код модуля module/currency
, если ее напечатать в веб страницу мы получим: картинку переключения валют, при нажатие изменяется выводимая цена товара. Цена задается в Каталог->Товары в валюте по умолчанию, валюта по умолчанию устанавливается в Система->Локализация->Валюта, остальным валютам прописывается их курс от одной единицы валюты по умолчанию. В базовом стиле модуля module/currency
курсор не изменяется при наведение на ссылки, что не есть хорошо, добавлять стиль к данным ссылкам придется в своем .css файле
)$cart
— переменная содержащая html код модуля module/cart
, если ее напечатать в веб страницу мы получим рисунок изображенный выше.
Есть небольшая сложность, html код модуля cart
состоит из двух частей, первая это div с классом heading
(Корзина покупок Товаров: 0 ($0.00)) и вторая часть это div с классом content
(Ничего не куплено!). Вторая часть в default шаблоне отключена в его css файле:
#header #cart .content { display: none}
В шаблоне сделать стоит также. На «Товаров: 0 ($0.00) » установлен обработчик событий по клику (на элемент «#cart > .heading a»
), обработчик устанавливается в скрипте «catalog/view/javascript/common.js»
. При клике раскрывается отдельное окошко с содержимым корзины, если мы хотим сохранить такую функциональность в нашем шаблоне то нам необходимо подключить скрипты Jquery и common.js
.
<a href="/catalog/view/javascript/jquery/ui/themes/ui-lightness/jquery-ui-1.8.16.custom.css" /> <a href="/catalog/view/javascript/jquery/colorbox/colorbox.css" media="screen" />
А в css файле добавить следующее:
/* по умолчанию окошко закрыто */ .content { display: none; } /* при нажатие на «Товаров: …» скрипт добавляет к окошку класс .active и данный стиль раскрывает его */ .active .content { display: block; } /* Параметры окошка */ .active .heading { margin-top: 5px; padding-top: 10px; padding-bottom: 6px; border-top: 1px solid #EEEEEE; border-left: 1px solid #EEEEEE; border-right: 1px solid #EEEEEE; -webkit-border-radius: 7px 7px 0px 0px; -moz-border-radius: 7px 7px 0px 0px; -khtml-border-radius: 7px 7px 0px 0px; border-radius: 7px 7px 0px 0px; } .active .content { clear: both; position: relative; top: -1px; padding: 8px; min-height: 150px; border-top: 1px solid #EEEEEE; border-left: 1px solid #EEEEEE; border-right: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE; — webkit-border-radius: 0px 7px 7px 7px; — moz-border-radius: 0px 7px 7px 7px; — khtml-border-radius: 0px 7px 7px 7px; border-radius: 0px 7px 7px 7px; — webkit-box-shadow: 0px 2px 2px #DDDDDD; — moz-box-shadow: 0px 2px 2px #DDDDDD; box-shadow: 0px 2px 2px #DDDDDD; background: #FFF; }
При нажатие раскрывающиеся окошко каждый раз заново заполняется html содержимым модуля module/cart
.$filter_name
— по умолчанию пустая (?)$logged
— Переменная служит для определение зашел пользователь или нет, true
или false
.$text_welcome
— приглашение войти или зарегистрироваться. Переменная со значением из языкового файлаcatalog\language\russian\common\header.php
:'<a href="/%s">Войти</a> или <a href="/%s">зарегистрироваться</a>'
Где вместо первой %s
выводиться ссылка на шаблон «ccount/login»
, а вместо второй %s
ссылка на шаблон«account/register»
. Ссылки формирует контроллером header.$text_logged
– сообщение вместо text_welcome для пользователей которые уже зашли в свой аккаунт, это приглашение выйти из него. Переменная со значением из языкового файла catalog\language\russian\common\header.php
:Вы вошли как <a href="/%s">%s</a> <b>(</b> <a href="/%s">Выйти</a> <b>)</b>
Вместо первой %s
выводиться имя пользователя, а вместо второй %s
ссылка на шаблон «account/logout»
. Ссылки формирует контроллером header.$wishlist
— переменная содержит ссылку на шаблон account/wishlist (закладки)
$account
— переменная содержит ссылку на шаблон account/account (личный кабинет аккаунта)
$shopping_cart
— переменная содержит ссылку на шаблон checkout/cart (корзина)
$checkout
— переменная содержит текст – ссылку на шаблон checkout/checkout (оформление заказа)
. Если корзина пуста,шаблон checkout
перенаправляет на шаблон cart
$categories – многомерный массив, состоит из следующих элементов $categories[$i]['href']
, $categories[$i]['name']
,$categories[$i]['active']
и т.д. Где $i
это индекс переменная характеризующею порядковый номер категории. Работают с $categories
в default шаблоне следующим образом:
foreach ($categories as $category) { ?> <?php if ($category['active']) { ?> <a href="/<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="/<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?>
$category['href']
– указывает на ссылку на категорию (на шаблон product/category
с нужным параметром)$category['name']
– имя категории.$category['active']
– активна категория или нет
Задаются категории в Каталок->Категории.
Рисунок выше:
Категория «Компьютеры» и «Ноутбуки» (подчернкутая, раскрывается при ссылки на нее) имеют подкатегории.
Получить ссылки и имена подкатегории данной категории можно таким образом
$category['children'][$i]['href'] и $category['children'][$i]['name']
Где $i
это индекс переменная характеризующею некую подкатегория данной категория.
Переменные в footer.tpl
В Админ панели для работы с статьями необходимо перейти Каталог->Статьи$informations
— многомерный массив (статьи), состоит из следующих элементов $informations[$i]['href']
и$informations[$i]['title']
. Работают с ними в default шаблоне следующим образом:
<ul><?php foreach ($informations as $information) { ?>
<li><a href="/<?php echo $information['href']; ?>">
<?php echo $information['title']; ?></a></li>
</ul><?php } ?>
Где:$information['href']
– ссылка на статью (на шаблон information/information
с нужным параметром);$information['title']
– название статьи.
Обращаться также можно без цикла, зная порядковый номер статьи, например печать ссылки первой статьи.
$contact
— переменная содержит ссылку на шаблон information/contact (контакты)
$return
— переменная содержит ссылку на шаблон account/return/insert
(обращается к контроллеру return
и егофункции insert
), возврат товара.$sitemap
— переменная содержит ссылку на шаблон information/sitemap
(карта сайта, шаблон автоматом выводит все ссылки каталогов, статей и т.п., менять его вряд ли придется)$voucher
— переменная содержит ссылку на шаблон account/voucher
(шаблон «подарочный сертификат», служит для посылки на email адрес подарочного сертификата одним покупателем другому покупателю)$affiliate
— переменная содержит ссылку на шаблон affiliate/account
(шаблон «партнерская программа» это форма обратной связи с владельцем магазина)$special
— переменная содержит ссылку на шаблон product/special
(акции, шаблон автоматом формирует список товаров с акциями, менять его вряд ли придется). Для того что бы добавить акцию, необходимо в Админ панели нажать «Изменить» напротив нужного товара, далее закладка «Акции».$account
— переменная содержит ссылку на шаблон account/account
(личный кабинет аккаунта), данная переменная доступна также и шаблоне header.tpl.$order
— переменная содержит ссылку на шаблон account/order
(история заказов, если не выполнен вход то произойдет редирект на шаблон account/login
(вход в личный кабинет)).$wishlist
— переменная содержит ссылку на шаблон account/wishlist
(закладки, если не выполнен вход то произойдет редирект на шаблон account/login
(вход в личный кабинет)).$newsletter
— переменная содержит ссылку на шаблон account/newsletter
(рассылка, если не выполнен вход то произойдет редирект на шаблон account/login
(вход в личный кабинет)).$powered
— переменная содержит html код, при выводе отображающая следующие: «Работает на OpenCart
Магазин @ 2016»
Переменные начинающиеся с «text_»
Все переменные в шаблонах начинающихся с приставки text_ (например text_information
) содержат просто текст, их значения хранятся в языковых файлах, т.е. в директории /catalog/language/russian/имя_папки_с_представлением/имя_файла_представления
.
Например в /catalog/language/russian/common/header.php
содержится значение переменных "text_…"
для файла представления header.tpl
. Как пример, создадим переменную в данном языковом файле с именем "text_account"
, задаются они так:
$_['text_account'] = 'Личный Кабинет';
Мы присвоили переменной текстовую строку.
В контроллере catalog\controller\common\header.php
в теле функции index()
(в любом месте) необходимо подключить данный языковой файл, т.е. добавить следующую команду:$this->language->load('common/header');
И инициализировать переменную, которая будет доступна в файле представлении. Добавляем данную команду после предыдущей также в любом месте в теле функции index()
$this->data['text_account'] = $this->language->get('text_account');
Теперь в header.tpl
видна переменная $text_account
и при печати<?php $text_account; echo ?>
Мы увидим строку «Личный Кабинет».