Функции
-
wa_header
Формирует главное меню навигации бекенда.
-
wa_pagination
Формирует элементы постраничной навигации.
-
wa_print_tree
Формирует древовидное представление для массива иерархических данных.
Модификаторы
-
wa_date
Форматирует указанную метку времени в виде даты.
-
wa_datetime
Форматирует указанную метку времени в виде даты и времени.
-
wa_format_amount_currency
Форматирует число в виде денежной суммы.
-
wa_format_amount
Форматирует число в виде денежной суммы с указанием пользовательского формата.
-
wa_format_file_size
Форматирует число в виде размера файла.
-
wa_format_number
Форматирует число по правилам указанной локали.
-
wa_format
Форматирует число по правилам текущей локали.
{wa_header}
Формирует главное меню навигации бекенда.
Пример
{wa_header}
{wa_pagination}
Формирует элементы постраничной навигации.
Параметры
-
total
Общее количество страниц.
-
page
Номер текущей страницы.
-
nb
Количество ссылок, которое должно отображаться по другую сторону от разрыва между номерами страниц.
-
prev
Текст, который должен использоваться в ссылке для перехода к предыдущей странице. По умолчанию используется символ
←
. -
next
Текст, который должен использоваться в ссылке для перехода к следующей странице. По умолчанию используется символ
→
. -
url
Основной URL, относительно которого должны формироваться ссылки постраничной навигации. По умолчанию используется URL текущей страницы.
-
attrs
Ассоциативный массив атрибутов и их значений, которые необходимо присвоить списку (
ul
) с элементами постраничной навигации.
Пример
{wa_pagination total=100 page=5 prev="«" next="»" nb=3 attrs=['class' => 'menu-h']}
Результат
<ul class="menu-h"> <li><a class="inline-link" href="/webasyst/myapp/?page=4">«</a></li> <li><a href="/webasyst/myapp/">1</a></li> <li><a href="/webasyst/myapp/?page=2">2</a></li> <li><a href="/webasyst/myapp/?page=3">3</a></li> <li><a href="/webasyst/myapp/?page=4">4</a></li> <li class="selected"><a href="/webasyst/myapp/?page=5">5</a></li> <li><a href="/webasyst/myapp/?page=6">6</a></li> <li><span>...</span></li> <li><a href="/webasyst/myapp/?page=98">98</a></li> <li><a href="/webasyst/myapp/?page=99">99</a></li> <li><a href="/webasyst/myapp/?page=100">100</a></li> <li><a class="inline-link" href="/webasyst/myapp/?page=6">»</a></li> </ul>
{wa_print_tree}
Формирует древовидное представление для массива иерархических данных.
Параметры
-
tree
Массив данных. Если у какого-то элемента есть дочерние элементы, то они должны содержаться в поле
'childs'
такого родительского элемента. -
unfolded
Флаг, обозначающий необходимость сформировать раскрытое дерево элементов. Значение по умолчанию: true. Если указано значение
false
, то дерево формируется максимально скрытым:- Если указано значение для параметра
selected
, соответствующее элементу 2-го уровня или ниже, то раскрытой формируется только та часть дерева, которая содержит элемент, чье значениеid
указано в параметреselected
. - В остальных условиях формируется список, состоящий только из элементов 1-го уровня.
- Если указано значение для параметра
-
selected
Значение
id
, принадлежащее элементу (li
) дерева, которому должен присвоен CSS-класс'selected'
. -
class
Имя CSS-класса, которое необходимо присвоить элементу (
ul
), содержащему HTML-код дерева. -
attrs
HTML-атрибуты, которые необходимо присвоить элементу (
ul
), содержащему HTML-код дерева. -
elem
Шаблон формирования HTML-кода элемента, содержащегося в каждом элементе (
li
) дерева. Для подстановки значений свойств элемента из массиваtree
необходимо указывать их в шаблонеelem
с двоеточием перед именем свойства. Например, чтобы добавить в HTML-код элемента дерева значение свойстваname
соответствующего элемента массива, необходимо указать его в виде:name
. -
collapsible_class
Имя CSS-класса, которое необходимо присвоить каждому элементу (
li
) для элементов массиваtree
, у которых есть свойствоchilds
, содержащее массив дочерних элементов. -
depth
Количество уровней дочерних элементов, которые необходимо отобразить в дереве, если для параметра
unfolded
указано значениеtrue
.
Примеры
//массив данных array( array( 'id' => 1, 'name' => 'Обувь', 'url' => '/footwear/', ), array( 'id' => 2, 'name' => 'Одежда', 'url' => '/apparel/', 'childs' => array( array( 'id' => 3, 'name' => 'Мужская', 'url' => '/apparel/men/', ), array( 'id' => 4, 'name' => 'Женская', 'url' => '/apparel/women/', 'childs' => array( array( 'id' => 5, 'name' => 'Юбки', 'url' => '/apparel/women/skirts/', ), array( 'id' => 6, 'name' => 'Платья', 'url' => '/apparel/women/dresses/', 'childs' => array( array( 'id' => 7, 'name' => 'Вечерние', 'url' => '/apparel/women/dresses/evening-gowns/', ), ), ), ), ), ), ), array( 'id' => 8, 'name' => 'Аксессуары', 'url' => '/accessories/', ), );
Пример 1 (все дерево развернуто, элемент с id=3 выделен)
{wa_print_tree tree=$data elem='<a href=":url">:name</a>' selected=3 class="category-tree" attrs="title='Дерево категорий'" collapsible_class="parent"}
Результат
<ul class="category-tree" title="Дерево категорий"> <li><a href="/footwear/">Обувь</a></li> <li class="parent"><a href="/apparel/">Одежда</a> <ul> <li class="selected"><a href="/apparel/men/">Мужская</a></li> <li class="parent"><a href="/apparel/women/">Женская</a> <ul> <li><a href="/apparel/women/skirts/">Юбки</a></li> <li class="parent"><a href="/apparel/women/dresses/">Платья</a> <ul> <li><a href="/apparel/women/dresses/evening-gowns/">Вечерние</a></li> </ul> </li> </ul> </li> </ul> </li> <li><a href="/accessories/">Аксессуары</a> </li> </ul>
Пример 2 (дерево развернуто на 1 уровень вглубь)
{wa_print_tree tree=$data elem='<a href=":url">:name</a>' selected=3 class="category-tree" attrs="title='Дерево категорий'" collapsible_class="parent" depth=1}
<ul class="category-tree" title="Дерево категорий"> <li><a href="/footwear/">Обувь</a></li> <li class="parent"><a href="/apparel/">Одежда</a> <ul> <li class="selected"><a href="/apparel/men/">Мужская</a></li> <li class="parent"><a href="/apparel/women/">Женская</a></li> </ul> </li> <li><a href="/accessories/">Аксессуары</a></li> </ul>
Пример 3 (дерево свернуто за исключением элементов, необходимых для отображения выделенного элемента с id=5)
{wa_print_tree tree=$data elem='<a href=":url">:name</a>' class="category-tree" attrs="title='Дерево категорий'" collapsible_class="parent" selected=5 unfolded=false}
<ul class="category-tree" title="Дерево категорий"> <li><a href="/footwear/">Обувь</a></li> <li class="parent"><a href="/apparel/">Одежда</a> <ul> <li><a href="/apparel/men/">Мужская</a></li> <li class="parent"><a href="/apparel/women/">Женская</a> <ul> <li class="selected"><a href="/apparel/women/skirts/">Юбки</a></li> <li class="parent"><a href="/apparel/women/dresses/">Платья</a></li> </ul> </li> </ul> </li> <li><a href="/accessories/">Аксессуары</a></li> </ul>
Пример 4 (все дерево свернуто, отображаются только элементы первого уровня)
{wa_print_tree tree=$data elem='<a href=":url">:name</a>' class="category-tree" attrs="title='Дерево категорий'" unfolded=false}
<ul class="category-tree" title="Дерево категорий"> <li><a href="/footwear/">Обувь</a></li> <li><a href="/apparel/">Одежда</a></li> <li><a href="/accessories/">Аксессуары</a></li> </ul>
{...|wa_date [:'format'[:'timezone'[:'locale']]]}
Форматирует указанную метку времени в виде даты.
Параметры
-
format
Строка формата, предназначенная для использования в методе format класса waDateTime. Если не указано, по умолчанию используется значение 'date'.
-
timezone
Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.
-
locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
{1400248772|wa_date}
Результат
16.05.2014
{...|wa_datetime [:'format'[:'timezone'[:'locale']]]}
Форматирует указанную метку времени в виде даты и времени.
Параметры
-
format
Строка формата, предназначенная для использования в методе format класса waDateTime. Если не указано, по умолчанию используется значение 'datetime'.
-
timezone
Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.
-
locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
{1400248772|wa_datetime}
Результат
16.05.2014 16:59
{...|wa_format_amount_currency [:'currency_id'[:'locale']]}
Форматирует число в виде денежной суммы.
Параметры
-
currency_id
Строковый идентификатор валюты.
-
locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
{'123456'|wa_format_amount_currency:'RUB'}
Результат
123,456 руб.
{...|wa_format_amount [:'currency_id'[:'format'[:'locale']]]}
Параметры
-
currency_id
Строковый идентификатор валюты.
-
format
Строка формата, предназначенная для использования в методе format класса waCurrency. Если не указано, по умолчанию используется значение '%'.
-
locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
{123456|wa_format_amount:'RUB':'%2i{n}'}
Результат
123 456,00 рублей
{...|wa_format_file_size [:'format'[:'dimensions']]}
Форматирует число в виде размера файла.
Параметры
-
format
Обозначение формата для отображения числового значения, поддерживаемое функцией
sprintf
. -
dimensions
Строка со списком единиц измерения размера файла, разделенных запятой. Если не указано, используется следующая строка:
'B,KB,MB,GB'
.
Пример
{123456|wa_format_file_size:'%0.2f':'Б,кБ,МБ,ГБ'}
Результат
120,56 кБ
{...|wa_format_number [:'decimals'[:'locale']]}
Форматирует число по правилам указанной локали.
Параметры
-
decimals
Количество знаков, которые необходимо отображать после десятичной запятой.
-
locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
{123456|wa_format_number:3:'en_US'}
Результат
123,456.000
{...|wa_format [:'decimals']}
Форматирует число по правилам текущей локали.
Параметры
-
decimals
Количество знаков, которые необходимо отображать после десятичной запятой.
Пример
{123456|wa_format:3}
Результат
123 456,000 //в этом примере локаль по умолчанию — ru_RU