TPL шаблонизатор в UMI.CMS

Шаблонизатор в UMI.CMS

Шаблонизатор позволяет отделить представление данных от исполняемого кода. В UMI.CMS используется 3 его варианта: TPL, PHP или XSLT.

Использование TPL дает следующие преимущества:

  • Легче разобраться в уже готовых шаблонах.
  • Для работы с ним достаточно владения HTML.

Но есть и сложность в TPL:

  • Для реализации сложных «дизайнерских креативов» необходимо использование кастомов, то есть нестандартного функционала, который пишет программист.

Категории TPL-шаблонов в UMI CMS

Размещение tpl файлов на хостинге в umi cms

TPL делят на 2 категории:

Шаблон страницы

Представляет собой файл с HTML-разметкой и макросами. Эти файлы используются для формирования структуры страниц сайта, в результате они отображаются по этим шаблонам. Например, создаём и назначаем шаблон страниц блога, которые имеют одинаковый вид и функционал. Сами TPL файлы шаблонов размещаются в папке по адресу ~/tpls/content/

Тогда получается, что шаблон страницы блога состоит из HTML-разметки, в которую включены макросы вызова разных функциональных возможностей. Например, на странице есть место для поля поиска по сайту. Для этого в код шаблона в месте, где предусмотрена форма поиска, вписывается макрос

Искать
.

Шаблон модуля

Это файлы с определенным форматом. Они поделены на разные блоки, одни из которых описывают сценарии работы макроса, а другие используются для вывода в нужном формате результатов его выполнения. Находятся в разделе ~/tpls/имя_модуля/. Там же иногда размещаются дополнительные файлы макросов, которые представляют собой методы модуля (иногда их выносят в специальные отдельные папки). Например, для названной выше формы в дополнительных файлах хранится алгоритм работы поиска и в них можно изменить код работы.

Проблемы TPL-шаблонизатора

Создать файл default.tpl в системе umi cms

  • Отсутствие файла default.tpl в некоторых компонентах, чаще всего предлагаемых сторонними разработчиками. Из-за этого при вызове того или иного компонента на сайте будет возникать ошибка. Чинится созданием дефолтного файла и прописыванием в нем нужного кода. Головную боль здесь представляет то, что в большинстве случаев приходится искать в интернете документацию по конкретному компоненту, которая не всегда есть. Тогда остается или ждать (а это недели), или обратиться с вопросом к разработчикам. Но последние тоже не всегда оперативно реагируют на запросы, а то и вовсе их игнорируют. Третий вариант – дождаться мануала от какого-нибудь умельца, который столкнется с аналогичной проблемой, но справится с ней раньше.
  • При вызове макросов можно получить не всю информацию от функции. Например, когда вместо наименования элементов справочника выводится их ID – пользователь пытается перейти на карточку товара, где предусмотрен выпадающий список свойств, а вместо текстового перечня видит числовое значение. Приходится писать специальный кастом, чтобы это исправить.
  • Нужно создавать очень много шаблонов: для главной страницы, внутренней, новостей, ajax-запросов (добавление товаров в корзину, калькулятор, фильтр, отправка формы) и пр. Кстати говоря, в случае с ajax-запросами приходится даже создавать в структуре отдельную страницу. Если на разных страницах блоки расположены по-разному, также придется создавать шаблон для каждой. То же самое, если есть собственное меню у страниц разделов или подразделов. Тут либо писать кастомы, либо делать разные шаблоны. Пример. Сайт с большим количеством поддоменов. У каждого должна быть своя информация в шапке, футере, а у некоторых еще и разная структура главной страницы. Чтобы не создавать отдельный tpl-шаблон для каждого поддомена пришлось писать кастом, который брал из файла данные для шапки и футера и формировал нужную структуру главной каждого поддомена.
  • Устаревшая технология (сейчас в основном используется XSLT и PHP) и приходится писать много лишнего кода. Для интернет-магазинов или каких-то крупных порталов TPL-шаблоны точно не подойдут. Какое-то время назад мы занимались интернет-магазином на TPL (пока не сменили шаблон на PHP). Во время доработки корзины возникла ситуация, когда, тестируя возможность заказа в 1 клик, программист хотел поменять блоки со способами оплаты или доставки, но из-за конфликта скриптов возникала ошибка. Пришлось писать свои кастомы, чтобы решить эту проблему. С сайтами на PHP такого не бывает. Там более широкий спектр возможностей.
  • Долгая обработка данных, потому что берутся ненужные. В PHP все происходит в разы быстрее, т.к. возникает меньше запросов к БД.

Так все-таки стоит ли использовать TPL-шаблонизатор?

Ответ на этот вопрос можете дать только вы сами. Но если у вас простой сайт, состоящий из нескольких страниц, без каких-либо наворотов, то с версткой шаблона на TPL вряд ли возникнут проблемы. А вот владельцам интернет-магазинов или крупных порталов мы советуем обратить внимание на PHP. Так веб-программисту и работать с функционалом будет проще, и скорость обработки запросов будет выше, а значит, увеличится скорость работы всего сайта.

Обсудим сотрудничество?

Какие задачи нужно решить:
Разработка сайта / интернет-магазина
Продвижение (SEO, Директ и т.п.)
Контент-маркетинг
Поддержка сайта (информационная, техническая)
Аудит сайта / интернет-магазина
Консультация
Задать вопрос специалисту
Заполните форму и мы вам быстро ответим

Комментарии

Добавить комментарий

* Поля, обязательные для заполнения
Добавляйся в наши социальны сети:
Каждый день интересные материалы про маркетинг и не только.

Провести бесплатный SEO-аудит вашего сайта?

Провести бесплатный SEO-аудит вашего сайта?

Хочу бесплатный аудит
Заказ сайта
Оставить заявку
Заявка на расчет
Оставить заявку
Оставить заявку
Заказ услуги
Заказ услуги
Заказ работ
Продвижение от 10.000 рублей
Form
X
Хочу быть автором