ηCMS расширение HTTL

Основы HTTL

ηCMS добавляет в контекст HTTL разметки дополнительные методы, которые позволяют использовать сервисы и полезный функционал CMS на ваших страницах. Эти методы определены в двух классах: com.softmotions.ncms.mhttl.HttlAsmMethods и com.softmotions.ncms.mhttl.HttlUtilsMethods. Вы можете изучить их реализацию в случае необходимости.

com.softmotions.ncms.mhttl .HttlAsmMethods

Методы, предназначенные для доступа объектам ηCMS.

page()

Возвращает объект, соответствующий текущей сборке (странице).

Пример: получение названия страницы в контексте httl шаблона:

${page().hname}
Тип результата:com.softmotions.ncms.asm.Asm
asmHasAttribute(String name)

Возвращает true, если текущая сборка имеет атрибут с именем name, который может быть использован в httl разметке.

Пример:

#if(asmHasAttribute("title"))
    ${"title".asm}
#end
asmAny(String name)
asmAny(Asm asm, String name)

Возвращает rendered значение атрибута сборки. В случае, если атрибут не найден, возвращает null, но в этом случае система не будет сообщать в консоль(log), если атрибут не найден.

Пример:

${asmAny("title")}
Аргументы:
  • asm (com.softmotions.ncms.asm.Asm) – Сборка, для которой будет осуществляться поиска атрибута name.
Тип результата:

java.lang.Object

asm(String name)
asm(Asm asm, String name)

Возвращает rendered значение атрибута текущей сборки.

Аргументы:
  • name (String) – Название атрибута. Данный параметр может включать дополнительные опции рендеринга атрибута. Например: ${asm(“title,option=value”)}.
  • asm (com.softmotions.ncms.asm.Asm) – Сборка для которой будет осуществляться поиска атрибута name.

Ниже перечислены альтернативные формы получения значения атрибутов с опциями отображения:

asm(String name, String optionName, String optionValue)
asm(String name, String optionName, String optionValue, String optionName2, String optionValue2)
asm(String name, String optionName, String optionValue, String optionName2, String optionValue2, String optionName3, String optionValue3)
asm(Asm asm, String name, String optionName, String optionValue)
asm(Asm asm, String name, String optionName, String optionValue, String optionName2, String optionValue2)
asm(Asm asm, String name, String optionName, String optionValue, String optionName2, String optionValue2, String optionName3, String optionValue3)

Возвращает rendered значение атрибута текущей сборки. С дополнительными опциями рендеринга значения атрибута.

Возвращает URL ссылки на страницу идентифицируемую объектом сборки

Тип результата:java.lang.String
link(String guidOrAlias)

Возвращает URL ссылки на страницу, идентифицируемую строковым GUID страницы или псевдонимом страницы

Тип результата:java.lang.String
link(RichRef ref)

Возвращает URL для объекта com.softmotions.ncms.mhttl.RichRef.

Тип результата:java.lang.String
linkHtml(Object ref[, Map<String, String> attrs])

Возвращает <a href=”....”> HTML ссылку для переданных объектов, которые могут иметь следующие типы:

Пример: Ссылка на страницу с GUID: 12d5c7a0c3167d3d21d30f1c43368b32 и классом active

$!{linkHtml('12d5c7a0c3167d3d21d30f1c43368b32', ['class':'active'])}

В результате:

<a href="/siteroot/12d5c7a0c3167d3d21d30f1c43368b32"
   class='active'>
    Название страницы
</a>
Аргументы:
  • String> attrs (Map<String,) – Опциональный параметр, позволяет задать произвольные атрибуты для тега ссылки <a>.
Тип результата:

java.lang.String

ogmeta([Map<String, String> params])

Open Graph - метаинформация о текущей странице. Более подробно в разделе: Генерация мета-информации для интеграции с социальными сетями.

Методы A/B тестирования

abt(String name[, boolean def])

Возвращает true, если в контексте текущей страницы включен режим A/B тестирования с именем name.

abtA()
abtB()
abtC()
abtD()

Возвращает true, если для текущей страницы включен режим A/B тестирования с именем A, B, C или D в зависимости от имени метода.

Дополнительные методы (Advanced)

asmNavChilds([String type][, Number skip][, Number limit])

Возвращает коллекцию страниц, которые являются прямыми потомками в дереве навигации для текущей страницы.

Аргументы:
  • type (String) – Тип страницы
  • skip (Number) – Количество страниц, которые будут пропущены при выборке.
  • limit (Number) – Максимальное количество страниц в выборке.
Тип результата:

Collection<Asm>

asmPageQuery(PageCriteria critObj[, Number skip][, Number limit])

Выполняет свободный запрос страниц сайта. Спецификация запроса задается объектом класса com.softmotions.ncms.asm.PageCriteria

Аргументы:
  • skip (Number) – Количество страниц, которые будут пропущены при выборке.
  • limit (Number) – Максимальное количество страниц в выборке.
Тип результата:

Collection<Asm>

com.softmotions.ncms.mhttl .HttlUtilsMethods

Разнообразные утилиты для использования в контексте HTTL шаблонов.

План

TODO