Статьи

XSLT шпаргалка: <xsl:apply-templates />

Сегодня мы поговорим о конструкции <xsl:apply-templates />. Данная конструкция очень активно используется при формировании таких xslt шаблонов, как:

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

Данная конструкция позволяет обработать часть текущего xml и вывести его, используя отдельный шаблон. Чем-то она похожа на <xsl:value-of />, но если первый выводит конкретное значение, то текущая конструкция позволяет обработать  кусок xml и вывести результат по отдельному шаблону.

читать дальше

XSLT шпаргалка: <xsl:value-of />

В данной статье хотелось бы рассказать про xslt конструкцию <xsl:value-of />.

читать дальше

Автоматический эффект lightbox для всех картинок из контента (by fancybox)

Сегодня мы поговорим о том, как вставлять картинки с эффектом lightbox через поля типа "wysiwyg".
Часто, при написании контента (статей, новостей, теста о компании) вам требуется вставить в текст картинку или несколько картинок. При этом, дать возможность посетителю сайта посмотреть увеличенную версию данной картинки, во всплывающем окне (lightbox эффект). В большинстве случаев, такие вещи реализуются через отдельное поле, в котором вы можете задать картинку. А разработчик шаблона сайта может вывести эту картинку специальным образом, с эффектом lightbox. Но такие вопросы хорошо решать в процессе создание сайта, а мы поговорим о том, как сделать это через админку при минимальными изменениями в шаблоне.

Этот код будет особенно полезен если вам:

  • Надо разместить фотогалерею на странице, при том что у вас нет модуля «Фотогалереи»
  • Хочется избежать необходимости, заставлять пользователя прикреплять фотографии через другой фотоальбом связанный с этой страницей
  • Хочется обойтись без создания дополнительных полей на этой страницы для прикрепления фотографий
  • Хочется чтобы ваши картинки на странице раскрывались lightbox

читать дальше

Как добавить Doctype в XSLT шаблон

При адаптации верстки в xslt шаблон, часто возникают проблемы с iexplorer. В смысле, с этим браузером, вообще, часто возникают проблемы, но мы  сейчас говорим о том случае, когда html верстка отображается в iexplorer корректно, а вот перенесенная в xslt, эта же самая верстка выводится не верно. В первую очередь, проверьте doctype xslt верстки, вернее, начните с того, что просто его добавьте, так как если вы делаете сайт на основе, например, шаблонов demodizzy, то его там просто нет.
читать дальше

Установка UMI.CMS (localpack)

Появилось новое видео о том, как установить UMI.CMS у себя на компьютере. Больше всего будет полезна тем, кто только начинает работать с UMI.CMS

Описание (ссылки с таймингом открываются на youtube канале):
0:12 - в каких ситуациях стоит использовать localpack
1:50 - где скачать localpack (http://www.umi-cms.ru/product/downloads/)
2:47 - как запустить установку виртуального сервера (denwer) и файлов UMI.CMS для установки
4:30 - как запустить или остановить denwer
6:30 - шаги установки UMI.CMS
8:27 - выбор демосайта

читать дальше

Макрос для поиска по названию страниц (упрощенный search search_do())

В данной статье мы рассмотрим пример макроса для поиска по сайту. У umi уже существует макросы для поиска: catalog search() — выводит фильтр по товарам и search search_do() — выводит результаты поиска по сайту. Наш макрос будет представлять из себя упрощенный вариант search search_do(). Он будет искать только по названию страниц, а также может быть ограничен определенным разделом или типом данных.
читать дальше

Создание двухсторонней сортировки order_by для xslt шаблонов

сортирока, не такое уж и сложное дело custom order_by

Наверное, все, кто работал над созданием интернет-магазинов, встречались с задачей вывода ссылок для сортировки товаров по цене, по названию и т.п. Для этих целей в umi есть макрос system order_by() , который выводит ссылку для сортировки страницы каталога (или других списков, поддерживающих сортировку и фильтрацию) по указанному свойству. Но для удобной и полноценной задачи его сил не хватало.

Из недостающего функционала можно отметить 2 принципиальных момента:
1.
Отсутствие сортировки в обе стороны (а-я, я-а). И хотя технически данная возможность в самом механизме заложена, но ссылки для выполнения данной сортировки приходилось генерить своими силами.
2. Потребность в шаблоне указывать тип данных объекта каталога (object type id). То есть для вывода ссылки на сортировку по цене в каталоге, приходилось прописывать в шаблоне system/order_by/price/72, а в виду того, что в разных версиях umi тип данных "объект каталога" имеет разный object type id, приходилось всегда держать это в голове. Что такое object type id и где его найти в системе umi смотрите в статье "В чем разница hierarchyTypeId и objectTypeId"

читать дальше

Заготовка xslt шаблона для вывода альбомов

Что нужно добавить в xslt шаблоны демо сайта "современный" (demodizzy), чтобы при просмотре альбома выводились дочерние к нему альбомы? Вопрос был задан на форуме в ветке Вывод списка вложенных галерей по типу альбома с фото
читать дальше

Многоуровневое меню на usel

Сегодня я буду рассказывать, как вывести многоуровневое меню средствами usel протокола на примере и tpl, и xslt шаблонизатора. 
Как вывести меню, используя usel протокол, вы можете почитать на wiki.umisoft в статье Меню с помощью Usel (для tpl-шаблонизатора)
Видеокаст прикреплен снизу.

Вся задумка состоит в том, чтобы обращаться через usel протокол только к одному уровню и, при выводе каждого найденного пункта, пытаться вывести через usel протокол подпункты. Поэтому мы создаем, также как и в статье на wiki, новое поле типа "кнопка-галочка" с именем "Новое меню" (вы можете назвать поле как угодно, главное, правильно написать латинский вариант в usel файле, см.ниже). Затем отмечаем некоторые страницы этой галочкой, создаем файл usel выборки и файлы вывода результата.

читать дальше

В чем разница hierarchyTypeId и objectTypeId

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

В системе есть разные id. Одни мы видим в модуле "Шаблоны данных", вкладка "Типы данных", другие id мы можем посмотреть в html коде, находять на странице настроей модуля "Шаблоны данных".
читать дальше