Шаблоны вывода навигации

    В каждом макете дизайна есть поле с названием «Шаблоны вывода навигации» (настройки макета). В нем содержатся массивы данных. Например, для вывода навигации на сайте используется s_browse_level(), вторым параметром у которой как раз и указан один из массивов, в котором содержится оформление меню в виде HTML.
    Шаблоны используются в таких функциях, как: s_browse_level, s_browse_cc, s_browse_sub, s_browse_catalogue, s_browse_path_range, s_browse_path, browse_messages. Описание всех функций Вы можете найти в Приложении 2 данного руководства.
    Рассмотрим пример:



    Элементы указывают:
    • prefix предшествует списку выводимых объектов. Например, в нем можно открыть таблицу.     • suffix идет после списка выводимых объектов. Например, в нем можно закрыть таблицу.
    • active выводит активный элемент, одна его ссылка (%URL) не совпадает с адресом текущей страницы. Например, мы находимся в полном выводе «Новости».
    • active_link выводит активный элемент, и его ссылка (%URL) совпадает с адресом текущей страницы. Например, мы находимся на странице списка новостей.
    • unactive выводит неактивный элемент.
    • divider – разделитель между элементами списка навигации, например, Раздел 1 / Раздел 2. / - это разделитель.
    • sortby позволяет сортировать выводы списка в нужном порядке. Чаще всего этот элемент не указывается, тогда список сортируется по приоритету (Priority).
    Функция s_browse_level(1,$browse_sub[1]) в элементах active и active_link выводит следующий уровень в текущем разделе, т.е. список его подразделов. Это условие выполняется только для 1-го и второго уровня вложенности.
    В шаблонах вывода навигации есть ряд макропеременных:
    • %NAME – название элемента (раздела)
    • %PARENT_SUB – номер родительского раздела (только для разделов)
    • %KEYWORD – ключевое слово раздела (только для разделов)
    • %SUB – номер раздела (только для разделов)
    • %COUNTER – номер выводимого элемента в списке (начиная с нуля)
    Если Вам не хватает данных макропеременных, Вы можете использовать внутренний массив $data[]. Он содержит все данные из таблицы Subdivision о текущей выводимой функции в разделе.
    Например:



    равносильно записи



    Обратите внимание на слэши перед знаками $ и “, они обязательны, поскольку обработка этого массива должна осуществляться внутри функции, а не на этапе обработки макета дизайна.
    В качестве наглядного примера шаблона можно привести шаблон вывода навигации Карты сайта. Одна функция строит полную иерархическую структуру сайта:



    В данном примере каждый элемент шаблона вызывает функцию еще раз с одинаковым шаблоном, а в качестве номера раздела передается ID текущего выводимого раздела. Обратите внимание на слэши, они необходимы.
    Почти все массивы из стандартных макетов являются необзятальными. Вы можете называть их как угодно. Обязательным массивом данных является $browse_msg. Если Вы используете в компонентах функцию browse_messages, в макете дизайна обязательно должен быть данный шаблон вывода навигации, иначе функция ничего отображать не будет.

« Назад          Содержание          Далее »


Сайты по теме:


    

Интересное в сети: