+7 499 753-40-53

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

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-разметки в которую включены макросы вызова разных функциональных возможностей. Например, на странице есть место для поля поиска по сайту. Для этого в код шаблона в месте, где предусмотрена форма поиска, вписывается макрос %search insert_form()%.

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

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

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

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

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

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

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

18.07.2019 в 16:37 | Полушкин Николай (dius)

test3
Комментировать

18.07.2019 в 16:38 | test2

test4
Комментировать


* Заголовок комментария: 
* Ваш ник:
Ваш email:
* Текст комментария:
* Поля, отмеченные звездочкой, являются обязательными для заполнения:

Наши партнеры

Контакты
Офис продаж:
г. Москва, ул. 4-я Кабельная, 2 строение 1А, 5-й этаж, офис №2
Пн - Пт: 9.00-18.00

SEO-Продвижение:
узнайте стоимость для вашего сайта!

Студия DIUS работает с продвижением сайтов:

Бесплатное составление
бюджета
5
шагов для рассчета стоимости
продвижения онлайн!
 
  • По трафику
  • По позициям
  • Продвижение молодых сайтов
  • Продвижение интернет-магазинов

Ваш расчет готов. Пожалуйста, заполните форму ниже для связи с вами по данному вопросу:

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