Плюсы и минусы нового формата хранения шаблонов UMI CMS

С недавнего времени в UMI CMS появился новый формат хранения шаблонов. Статья об этом есть в официальной документации ЮМИ и я бы не хотел останавливаться здесь на технических особенностях. Обо всем этом можно прочитать здесь.

Я бы хотел поговорить именно о тонкостях использования данной технологии.

На самом деле стремление ЮМИ к обособленности шаблонов было весьма логично. Во всех более-менее уважающих себя системах это реализовано по-умолчанию. Однако, историческое наследие UMI, начавшееся еще с TPL шаблонизатора, влечет за собой неизменные подводные камни.

Но начнем по порядку.

1. Итак, шаблоны ЮМИ стали настолько самостоятельны, что теперь перенесение их из одного проекта в другой сводится лишь к копированию одной папки.

ПЛЮС:
Быстрый способ развертывания шаблона.

МИНУС:
Другая структура данных.
На системе, куда вы переносите шаблон, тип "Страница контента" может иметь идентификатор 7 или 39 или любой другой, какой заблагорассудится. И, если в шаблоне вы каким-то образом задействовали привязку к этому или любому другому идентификатору системного типа — вам придется все это перенастраивать.
Мало того, все созданные вами сущности в одной системе не будут автоматически перенесены в другую. И тут уж точно придется потрудиться, чтобы вспомнить, куда и какие типы вы добавляли, где меняли поля и так далее.

РЕЗЮМЕ:
Если я когда-то буду использовать шаблон в другом проекте, то буду делать это с большой осторожностью.

2. Шаблоны в UMI CMS стали логически более понятны.

ПЛЮС:
Открывая систему с шаблонами нового формата я знаю, где искать файлы, которые мне потребуются.

МИНУС:
Не стоит слишком сильно обольщаться. Все еще существует целый ряд файлов, подключаемых, к примеру, для обеспечения EIP-технологии (Edit In Place — редактирование на месте). Они разрозненны, их множество и они точно не располагаются в папке с вашим шаблоном.

РЕЗЮМЕ:
Даже при такой локализации шаблона иногда требуется обращаться к файлам, находящимся в корневых папках: JS, CSS, CLASSES. Об этом следует помнить.

3. Новый формат хранения шаблонов в UMI CMS стал более предсказуем в поведении, за счет хранения всех зависимостей в одном месте.

ПЛЮС:
Если что-то работает не так, как мы задумали, мы всегда можем это отыскать.

МИНУС:
Не все, что обещано разработчиками, работает именно так, как ожидается. По крайней мере на версиях 2.9.3-2.9.6. В частности, речь идет о технологии USEL и её применении в рамках новой технологии хранения шаблонов. Подробнее об этом написано в статье "USEL и шаблоны новой технологии в UMI CMS".

РЕЗЮМЕ:
Многое стало лучше, но иногда возникают абсолютно непредсказуемые варианты действий системы. И отследить это можно только после дебага кода или обращения в службу заботы.

Подводя итог, хочется отметить, что новый формат хранения шаблонов в UMI CMS безусловно является долгожданным и важным. Им конечно же следует пользоваться при разработке проектов. Однако, делать это нужно с осторожностью, понимая какие зависимости могут лежать вне поля вашего шаблона.

Простой и понятный online-курс для обучения XSLT-программиста с любого базового уровня

Май02

Один отзыв на «Плюсы и минусы нового формата хранения шаблонов UMI CMS»

  1. 1. Вместо цифрового идентификатора можно использовать соковый, тогда привязка будет менее жесткой и проще решаемой.

    2. Доступ к реализации EiP обычно не требуется это системная возможность, странно хотеть переносить ее.

    + Недавно появилась возможность хранить в области шаблона перегрузку админки, фалы размещаются в папке ~/templates/{имя_шаблона}/admin/, в названии не надо писать custom т.е. просто form.modify.xsl.

Ваш отзыв