Функции
-
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.
Примеры
//массив данных
[
[
'id' => 1,
'name' => 'Обувь',
'url' => '/footwear/',
],
[
'id' => 2,
'name' => 'Одежда',
'url' => '/apparel/',
'childs' => [
[
'id' => 3,
'name' => 'Мужская',
'url' => '/apparel/men/',
],
[
'id' => 4,
'name' => 'Женская',
'url' => '/apparel/women/',
'childs' => [
[
'id' => 5,
'name' => 'Юбки',
'url' => '/apparel/women/skirts/',
],
[
'id' => 6,
'name' => 'Платья',
'url' => '/apparel/women/dresses/',
'childs' => [
[
'id' => 7,
'name' => 'Вечерние',
'url' => '/apparel/women/dresses/evening-gowns/',
],
],
],
],
],
],
],
[
'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









