Готовые плагины Smarty

Содержание...

Функции

  • 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