Вставки компонентов шаблона в template.php

Вставки компонентов – в данном контексте будем называть вставками, части PHP кода, которые мы можем встретить и использовать в файлах шаблона подобные этим: <?php layout('cart'); ?> , <?php layout('leftmenu'); ?>,

В данном случае речь идет о php функции движка: layout(); Ее задача проста, функция подключает в заданное место HTML кода шаблона дополнительный файл "layout" из папки mg-template/mytempl/layouts/, а если такая отсутствует в пользовательском шаблоне, то из папки ядра mg-core/layouts/.

Файлы "layout" из папки mg-core/layouts/ - чаще всего это файлы являющиеся некими "компонентами" шаблона, в которых содержится верстка компонента и ссылка на подключаемые js файлы для функционирование данного компонента. Такие файлы начинаются с префикса layout_ , например layout_cart или layout_search.

layout'ы нужны для сегментации и структуризации шаблона и вынесения кода в отдельные компоненты шаблона. Если шаблон разработан сторонней веб-студией по уникальным требования заказчика, то в папке template/mytempl/layouts/ могут оказаться дополнительные файлы, которые в последствии можно будет редактировать из админки сайта в разделе шаблонов.

По умолчанию движок уже предоставляет некоторые из компонентов:

  • <?php layout('cart'); ?> - подключает компонент "маленькой" корзины, обычно размещается в шапке шаблона и показывает количество товара в корзине;
  • <?php layout('auth'); ?> - выводит ссылки для входа и регистрации на сайте;
  • <?php layout('widget'); ?> - выводит коды JS счетчиков и виджетов прописанных в настройках админки;
  • <?php layout('compare'); ?> - информер товаров для сравнения, по умолчанию будет отображен в нижнем правом углу сайта при добавлении товара к сравнению;
  • <?php layout('content'); ?> - содержание страницы сформированное средствами MVC, верстку на месте данной вставки, нужно искать в файлах представлений из папки views;
  • <?php layout('leftmenu'); ?> - выводит левое меню с категориями;
  • <?php layout('topmenu'); ?> - выводит верхнее горизонтальное меню;
  • <?php layout('contacts'); ?> - контакты прописанные в настройках админки;
  • <?php layout('search'); ?> - выводит форму для быстрого поиска товаров;

Некоторые компоненты предлагаемые движком требуют подключения javascript и css файлов для корректной работы и отображения в шаблоне. Все необходимые JS и CSS файлы хранятся в папке ядра mg-core/lib/standard/. При создании собственного шаблона движок позволяет переопределить стандартные JS и CSS файлы на модифицированные.