Документация разработчика сайтов

Шаблоны и макросы
1. Модель данных UMI.CMS
Типы данных
Объекты в UMI.CMS
Страницы в UMI.CMS
2. XSLT-шаблонизатор UMI.CMS
Общие сведения
Создание и подключение XSLT-шаблона
Формат UMI Data
Макросы: протокол UData
Страницы: протокол UPage
Объекты: протокол UObject
Выборки из БД: протокол USel
Файловая система: протокол UFS
Отладка и тестирование XSLT-шаблонов
3. TPL-шаблонизатор UMI.CMS
Общие сведения
Создание и подключение TPL-шаблона
Макросы в TPL-шаблонизаторе
4. Обработка и отображение ошибок макросов
Ошибки вызова макроса
Ошибки выполнения макроса
5. Edit-in-place
Условия работы
Особенности верстки TPL-шаблона
Особенности верстки XSL-шаблона
Описание атрибутов из пространства имен umi
Примеры назначения редактируемых регионов
Настройка внешнего вида панели быстрого редактирования
Практические примеры
1. Различные меню средствами XSLT-шаблонизатора
Общие сведения
Меню в виде списка
Меню с изображениями
Многоуровневое меню
Несколько меню на сайте
2. Карта сайта средствами XSLT-шаблонизатора
Общие сведения
Постановка задач
Верстка шаблонов
Итоговый набор шаблонов
3. Ленты новостей средствами XSLT-шаблонизатора
Постановка задач
Необходимые шаблоны
Верстка шаблона разметки
Шаблоны обработки результатов используемых модулей
Список использованных файлов
4. Подписка на рассылки с сайта средствами XSLT-шаблонизатора
Постановка задач
Верстка шаблонов
Итоговый набор шаблонов
5. Комментарии средствами XSLT-шаблонизатора
Постановка задач
Верстка шаблонов
Итоговый набор шаблонов
6. Постраничный вывод (пейджинг) стредствами XSLT-шаблонизатора
Общие сведения
Постановка задач
Верстка шаблонов
Итоговый набор шаблонов
7. Ленты новостей средствами tpl-шаблонизатора
Постановка задач
Необходимые шаблоны
Верстка шаблонов дизайна
Верстка шаблонов используемых модулей
Список использованных файлов
Справочник макросов UMI.CMS
1. Глобальные макросы
%catched_errors% — Выводит сообщения об ошибках при некорректном вызове макроса на странице.
%content% — Выводит содержание (контент) страницы.
%curr_time% — Выводит текущее время в формате UNIX TIMESTAMP.
%current_user_id% — Выводит id текущего пользователя.
%description% — Выводит содержание meta-тега description.
%domain% — Выводит домен, который система определила в качестве текущего.
%header% — Выводит заголовок страницы (тег h1).
%keywords% — Выводит содержание meta-тега keywords.
%menu% — Выводит меню сайта.
%parent_id% — Выводит id родительской страницы.
%pid% — Выводит id текущей страницы.
%pre_lang% — Выводит языковой префикс текущей языковой версии сайта.
%title% — Выводит title текущей страницы (тег title)
2. Баннеры
%banners insert()% — Выводит баннер, соответствующий указанному рекламному месту.
3. Блоги
%blogs blog()% — Выводит содержание блога — информацию о блоге и список его постов.
%blogs blog_comment()% — Выводит содержание комментария блога — комментарий и список подкомментариев к нему.
%blogs blog_message()% — Выводит содержание поста блога — пост и список комментариев к нему.
%blogs countSubitems()% — Выводит количество вложенных записей (постов или комментариев) указанной записи (блога, поста или комментария) с учетом прав доступа текущего посетителя.
%blogs list_blogs()% — Выводит список блогов всех сайтов системы, обладающих самыми свежими сообщениями либо в случайном порядке
%blogs list_comments()% — Выводит список комментариев на посты блогов всех сайтов системы; сортирует по дате добавления либо в случайном порядке.
%blogs list_messages()% — Выводит список постов блогов всех сайтов системы; сортирует по дате добавления либо в случайном порядке.
%blogs list_siteblogs()% — Выводит список блогов текущего сайта системы, обладающих самыми свежими сообщениями либо в случайном порядке.
%blogs list_sitecomments()% — Выводит список комментариев на посты блогов сайта системы; сортирует по дате добавления либо в случайном порядке.
%blogs list_sitemessages()% — Выводит список постов блогов текущего сайта системы; сортирует по дате добавления либо в случайном порядке.
%blogs tag_blogs()% — Выводит список блогов всех сайтов системы, обладающих самыми свежими сообщениями либо в случайном порядке, но только содержащих заданный тег.
%blogs tag_messages()% — Выводит список самых свежих постов с блогов всех сайтов системы, либо в случайном порядке, но только содержащих заданный тег.
%blogs tag_siteblogs()% — Выводит список блогов сайта, обладающих самыми свежими сообщениями либо в случайном порядке, но только содержащих заданный тег.
%blogs tag_sitemessages()% — Выводит список самых свежих постов с блогов текущего сайта, либо в случайном порядке, но только содержащих заданный тег.
%blogs userBlogs()% — Выводит форму настроек блога пользователя на странице изменения настроек пользователя на сайте.
4. Блоги 2.0
%blogs20 blogsList()% — Выводит список блогов
%blogs20 postsList()% — Выводит список публикаций блога/блогов
%blogs20 postsByTag()% — Выводит сообщения, содержащие указанный тег
%blogs20 draughtsList()% — Выводит список черновиков текущего пользователя
%blogs20 commentsList()% — Выводит список (дерево) комментариев к указанной публикации.
%blogs20 postView()% — Выводит содержимое публикации
%blogs20 postEdit()% — Выводит форму для редактирования публикации
%blogs20 postAdd()% — Выводит форму для добавления публикации
%blogs20 commentAdd()% — Выводит форму для добавления комментария
%blogs20 editUserBlogs()% — Выводит форму редактирования/добавления пользовательских блогов
%blogs20 viewBlogAuthors()% — Выводит список авторов блога
%blogs20 placeControls()% — Выводит элементы управления комментарием или публикацией
5. Каталог
%catalog category()% — Выводит информацию о разделе каталога.
%catalog getCategoryList()% — Выводит список подразделов в указанном разделе каталога.
%catalog getObjectsList()% — Выводит список объектов каталога в указанном разделе.
%catalog search()% — Выводит фильтр по товарам.
%catalog viewObject()% — Выводит подробное описание объекта каталога.
6. Комментарии
%comments countComments()% — Выводит кол-во комментариев на странице с указанным id.
%comments insert()% — Выводит список комментариев для страницы.
%comments smilePanel()% — Вставляет панель со смайлами.
7. Структура и контент
%content get_page_id()% — Выводит id страницы по ее пути.
%content get_page_url()% — Выводит путь до страницы
%content insert()% — Вставляет содержание (контент) страницы element_id_or_path.
%content menu()% — Выводит меню сайта по определенному шаблону.
%content pagesByAccountTags()% — Выводит элементы иерархии (страницы сайта), которым назначен один из указанных тегов, на основании анализа страниц всего аккаунта (всех доменов системы).
%content pagesByDomainTags()% — Выводит элементы иерархии (страницы сайта), которым назначен один из указанных тегов, на основании анализа страниц текущего домена.
%content redirect()% — Совершает перенаправление на указанный url.
%content sitemap()% — Выводит карту сайта.
%content tagsAccountCloud()% — Выводит облако тегов аккаунта (всех сайтов системы).
%content tagsAccountEfficiencyCloud()% — Выводит облако эффективности тегов аккаунта (всех сайтов системы).
%content tagsAccountUsageCloud()% — Выводит облако используемых тегов аккаунта (всех сайтов системы).
%content tagsDomainCloud()% — Выводит облако тегов текущего домена.
%content tagsDomainEfficiencyCloud()% — Выводит облако эффективности тегов текущего домена.
%content tagsDomainUsageCloud()% — Выводит облако используемых тегов текущего домена.
%filemanager list_files()% — Выводит список доступных для скачивания файлов.
%filemanager shared_file()% — Выводит подробную информацию о доступном для скачивания файле.
8. Виртуальный модуль "core"
%core curr_module()% — Выводит название текущего модуля.
%core insertCut()% — Выводит блок для постраничного перехода в том случае, если использован макрос %cut% для быстрого разбиения страниц контента.
%core navibar()% — Выводит навибар для текущей страницы
9. Шаблоны данных
%data doSelection()% — Отображает результаты выборки из базы данных UMI.CMS по заданному шаблону USel.
%data getAllGroups()% — Выводит все группы полей страницы по определенному шаблону.
%data getAllGroupsOfObject()% — Выводит все группы полей объекта по определенному шаблону.
%data getAtomMeta()% — Выводит meta-тег для ATOM-ленты.
%data getAtomMetaByPath()% — Выводит meta-тег для ATOM-ленты.
%data getCreateForm()% — Выводит список свойств для добавления объекта.
%data getEditForm()% — Выводит список свойств для редактирования объекта с указанным id.
%data getProperty()% — Выводит свойство страницы по определенному шаблону.
%data getPropertyGroup()% — Выводит группу свойств страницы по определенному шаблону.
%data getPropertyGroupOfObject()% — Выводит группу свойств объекта по определенному шаблону. Макрос используется для вывода свойств у объектов UMI.CMS, не имеющих представления в структуре, например, у пользователей или баннеров.
%data getPropertyOfObject()% — Выводит свойство объекта по определенному шаблону
%data getRssMetaByPath()% — Выводит meta-тег для RSS-ленты.
%data getRssMeta()% — Выводит meta-тег для RSS-ленты.
10. Рассылки
%dispatches subscribe()% — Выводит форму подписки на рассылки.
11. Интернет-магазин
%emarket basket()% — Осуществляет взаимодействие с корзиной для текущего пользователя.
%emarket basketAddLink()% — Возвращает ссылку на добавление указанного товара в корзину.
%emarket cart()% — Выводит содержимое корзины для текущего пользователя.
%emarket compare()% — Выводит список добавленных к сравнению товаров и список сравниваемых характеристик.
%emarket currencySelector()% — Выводит список валют, доступных в магазине.
%emarket customerDeliveryList()% — Выводит список адресов доставки, ранее использовавшихся этим покупателем в магазине.
%emarket discountInfo()% — Выводит информацию о скидке.
%emarket getCompareList()% — Выводит список товаров, добавленных к сравнению.
%emarket getCompareLink()% — Выводит ссылку для добавления или удаления товара из сравнения.
%emarket getCustomerInfo()% — Выводит информацию о текущем покупателе.
%emarket price()% — Возвращает стоимость товара.
%emarket purchase()% — Осуществляет поэтапный процесс оформления заказа для текущего пользователя.
%emarket stores()% — Возвращает список складов, где есть в наличии указанный товар.
%emarket order()% — Возвращает информацию о заказе.
%emarket ordersList()% — Возвращает список заказов текущего пользователя.
12. Интернет-магазин (до 2.8)
%eshop address_choice()% — Выводит список известных адресов доставки для данного пользователя с возможностью выбрать один из адресов.
%eshop addtobasket()% — Выводит кнопку или ссылку для добавления товара в корзину.
%eshop basket()% — Выводит корзину товаров.
%eshop compare()% — Выводит таблицу сравнения товаров.
%eshop delivery_add()% — Выводит форму добавления нового адреса доставки.
%eshop discountCardEditForm()% — Выводит форму для ввода/редактирования информации о дисконтной карте текущего пользователя.
%eshop getCompareList()% — Выводит список товаров, добавленных к сравнению.
%eshop order()% — Формирует заказ, отправляет письма о новом заказе ответственному менеджеру и заказчику.
%eshop stores_info()% — Выводит информацию о наличии товара на складах.
%eshop user_orders()% — Выводит список оформленных заказов, позволяет отменить заказ, просмотреть подробную информацию о заказе.
13. FAQ
%faq addQuestionForm()% — Выводит форму для добавления вопроса.
%faq category()% — Выводит список всех вопросов необходимой категории.
%faq project()% — Выводит список категорий вопросов указанного проекта.
%faq projects()% — Выводит список всех проектов.
%faq question()% — Выводит расширенную информацию о вопросе.
14. Форум
%forum conf()% — Выводит темы текущей конференции.
%forum confs_list()% — Выводит список конференций
%forum conf_last_message()% — Выводит список последних сообщений указанной конференции
%forum message_post()% — Выводит форму для добавления сообщения
%forum topic()% — Выводит список сообщений текущей темы конференции.
%forum topic_last_message()% — Выводит последнее сообщение указанной темы конференции.
%forum topic_post()% — Выводит форму для создания темы конференции.
15. Новости
%news lastlents()% — Выводит список лент новостей в определенном разделе.
%news lastlist()% — Выводит список последних новостей.
%news listlents()% — Выводит список лент новостей в разделе element_path. Этот макрос является дубликатом .
%news related_links()% — Выводит список последних новостей, связанных по сюжету с указанной новость.
%news view()% — Выводит содержание новости.
16. Фотогалереи
%photoalbum album()% — Выводит фотографии, указанного фотоальбома.
%photoalbum albums()% — Выводит список всех фотоальбомов.
%photoalbum photo()% — Выводит подробную информацию о фотографии.
17. Поиск по сайту
%search insert_form()% — Выводит форму поиска по сайту.
%search search_do()% — Выводит результаты поиска по сайту.
18. Статистика
%stat tagsCloud()% — Выводит облако собранных тегов сайта.
19. Пользователи
%users auth()% — Выводит форму авторизации для пользователя либо информацию об авторизованном пользователе.
%users count_users()% — Выводит общее количество зарегистрированных и активированных пользователей.
%users list_users()% — Выводит список зарегистрированных и активированных пользователей.
%users login()% — Выводит форму авторизации пользователя.
%users profile()% — Выводит профиль пользователя.
%users registrate()% — Выводит форму регистрации пользователя на сайте.
%users settings()% — Выводит форму изменения настроек пользователя.
%users viewAuthor()% — Выводит информацию об авторе сообщения, топика, комментария и т.п.
%users welcome()% — Выводит информацию об авторизованном пользователе.
20. Опросы
%vote insertlast()% — Выводит опрос, который Вы добавили последним.
%vote insertvote()% — Выводит указанный опрос.
%vote poll()% — Выводит указанный опрос или его результаты, если посетитель уже голосовал.
%vote results()% — Выводит результаты опроса.
21. Обратная связь
%webforms insert()% — Выводит форму обратной связи (depricated).
%webforms add()% — Выводит форму обратной связи.
22. Виртуальный модуль "system"
%system captcha()% — Выводит CAPTCHA.
%system convertDate()% — Форматирует дату из формата UNIX TIMESTAMP в формат.
%system getCurrentURI()% — Выводит URI (адрес) текущей страницы.
%system getFilteredPages()% — Возвращает список страниц указанного типа, у которых заданное свойство равно указанному значению.
%system getLangsList% — Выводит список существующих языковых версий сайта.
%system getNext()% — Выводит ссылку на следующую страницу.
%system getObjectName()% — Возвращает имя объекта по его Id.
%system getOuterContent()% — Выводит содержание удаленной страницы, либо локального файла шаблона.
%system getPrevious()% — Выводит ссылку на предыдущую страницу.
%system getSize()% — Выводит размер файла filePath.
%system getVideoPlayer()% — Выводит видеоплеер.
%system googleAnalyticsCode()% — Выводит код для сбора статистики Google Analytics.
%system ifClause()% — Выводит параметр ifTrue, если condition не равно пустой строке (") и не равное нулю (0), либо выводит параметр ifFalse в случае, если condition равно ", либо 0.
%system IncludeEditInPlaceJs()% — Служит для подключения js-скриптов для функции edit-in-place.
%system includeQuickEditJs()% — Служит для подключения js-скриптов для клиентской части сайта (панель быстрого редактирования, скрипты для модулей и т.п.), в зависимости от прав текущего пользователя
%system listErrorMessages()% — Выводит ошибки, которые произошли при запросе.
%system makeThumbnail()% — Создает и выводит уменьшенное изображение (миниатюру) указанной картинки.
%system makeThumbnailFull()% — Создает и выводит уменьшенное изображение (миниатюру) указанной картинки с возможностью обрезки.
%system numpages()% — Выводит список страниц при постраничном выводе.
%system order_by()% — Выводит ссылку для сортировки страницы каталога (или других списков, поддерживающих сортировку и фильтрацию) по указанному свойству.
%system referer_uri()% — Выводит адрес ссылающейся страницы (REFERER_URI).
Настройка системы
1. Синтаксис config.ini
2. Доступные секции
Секция [system] — Основные системные настройки
Секция [kernel] — Настройки ядра системы
Секция [debug] — Настройки режима отладки
Секция [connections] — Настройки подключения к базе данных
Секция [streams] — Настройки REST-протоколов
Секция [includes] — Список путей, используемых системой
Секция [cache] — Настройки кеширования системы
Секция [stub] — Настройки страницы-заглушки
Секция [seo] — Настройки SEO
Секция [anti-spam] — Настройки защиты от спама
Секция [messages] — Настройки подсистемы внутренних сообщений
Секция [modules] — Индивидуальные настройки модулей
Секция [edit-in-place] — Настройки edit-in-place
Секция [casual-skins] — Настройки сторонних скинов