Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Из всех указанных атрибутов, обязательным к указанию является лишь атрибут id. Остальные атрибуты являются опциональными. В качестве значения, указываемого для атрибута default можно использовать любой набор блоков. Если в блоке нужно указать несколько атрибутов, они должны быть отделены друг от друга символом | (вертикальная черта). При этом, последовательность, в которой выстраиваются атрибуты, не имеет значения. Предположим, что нужно задать формат наименования для продукта, содержащего его номер. Формат, при этом, будет выглядеть так:

Panel
{id=product:number}

Как видно из примера, значение для атрибута id указывается в виде двух элементов, соединенных символом : (двоеточие):

Panel
<объект>:<свойство>

Элемент объект определяет, какому объекту принадлежит свойство, которое необходимо отобразить, а элемент свойство определяется какое именно свойство этого объекта нужно отобразить. В примере выше, указано, что нужно отобразить свойство number, принадлежащее объекту product (список всех объектов и их свойств приведен в конце документа).


Вернемся к примеру из описания простого блока. После слова Авиабилет требуется указать его номер, а в случае, если номер отсутствует, вместо номера нужно подставить значение без номера. Формат примет следующий вид:

Panel
Авиабилет {id=product:number|default=без номера}

В случае, если у билета номер присутствует, результирующая строка будет выглядеть, например, так:

Panel
Авиабилет 1234567890

А в случае, если у билета номера нет, то вместо номера будет подставлено указанное значение по умолчанию:

Panel
Авиабилет без номера

Чтобы не загромождать шаблон, уберем из него атрибут default и немного усложним пример, добавив новое требование: в конце строки должна быть подставлена дата вылета, отделенная от номера символом - (тире):

Panel
Авиабилет

...

{id=product:number}

...

-

...

{id=product:start_date}

Возникает вопрос, в каком виде дата будет отображена в итоговой строке? Как упоминалось ранее, для дат и чисел можно задать атрибут pattern, который как раз и позволяет задать шаблон для их отображения. Воспользуемся этим атрибутом:

Panel
Авиабилет

...

{id=product:number}

...

-

...

{id=product:start_date|pattern=yyyy.MM.dd}

В этом примере, было определено что дата будет отображаться в виде четырех цифр года и двух цифр для месяца и дня, отделенные между собой символом . (точка). Итоговый результат может выглядеть, например, так:

...