В примера с оформление, има три вида навигация: менюта на едно ниво, менюта на няколко нива, както и галета.
Навигация на сайта се формира от следните характеристики:
- nc_browse_level () - отнемане на определен меню ниво гнездене;
- nc_browse_path () - изходните галета;
- nc_browse_path_range () - изходните галета (с параметри);
- nc_browse_sub () - отнемане на определен участък от менюто;
- nc_cond_browse_sub () - отнемане на определен участък от менюто (с условието);
- nc_browse_cc () - изходната секция на информация меню блок;
- nc_browse_catalogue () - отнемане на меню сайтове.
Нека разгледаме примерите за всяка от функциите.
Има три функции за показване на менюто:
- nc_browse_level (ниво $, $ browse_template).
Заключение определено ниво на вложени менюта. - nc_browse_sub ($ browse_parent_sub, $ browse_template, $ ignore_check = 0, $ where_cond = "", ниво $ = 0)
Изход от менюто специален раздел. - nc_cond_browse_sub ($ browse_parent_sub, $ browse_template, $ where_cond = "")
Изход от менюто специален раздел за състоянието. Функцията е специален случай на предишната.
менюто на едно ниво
Първият тип меню в оформлението-пример - едно ниво:
В кода състоянието на менюто, е както следва:
Можете да използвате първия или втория функцията за формирането на менюто на едно ниво.
Функцията трябва да преминат необходимите параметри:
- $ Ниво - ниво брой секции (най-високото ниво съответства на стойност 0);
- $ Browse_template - навигация шаблон изход.
навигация шаблон изход е едномерен масив тип $ browse_template:
Шаблоните навигация следните макро променливи са налични:
- % NAME - име на елемента (точка);
- % URL - път към списъка;
- % PARENT_SUB - брой на секцията майка (за информация);
- % КЛЮЧОВА ДУМА - раздел ключова дума (само за информация);
- % Под - брой дял;
- % COUNTER - брой показва елемент от списъка (като се започне от нула);
- % NEXT_LEVEL - Показване на следващото ниво на менюто. Използва се в строителството на меню на много нива.
- Imya_polya_v_sistemnoy_tablitse% - случайна променлива, дадени в "Категории" блок в таблиците на системата.
Някои от променливите са предназначени само за да се образува в менюто.
Твърда форма навигация може да има елементи:
Промяна browse_template масива $ в съответствие с даден HTML-кода:
Поставете масива в шаблона за навигация дисплей.
Шаблонът вместо HTML-код списък на функцията:
Броят 0 в менюто с функции показва нивото на изход. В този случай, то ще бъде показано на всички включени предмети са основната преграда.
Секциите на фигура маркирани в сиво не са оттеглени.
Сега фрагмент горната част на сайта е, както следва:
менюта няколко нива
В страничната колона на сайта е представена от менюто на няколко нива:
В случай, че ще бъде необходимо страничната колона, за да донесе на хоризонталната подменю (т.е. само на едно ниво), то е възможно да се използва една и съща функция, но с параметър, който е равен на 1, 2 и т.н., в зависимост от нивото на вмъкване ..:
В този случай, на изхода на определен подраздел и да използвате функцията за сключването му:
Функция може да се използва, за да се образува менюта на едно ниво, както и мулти-ниво. Функцията трябва да преминат необходимите параметри:
- $ Browse_parent_sub - ID на дяла от родителското трябва да се появяват елементи от менюто. дял на корен е номериран 0.
- $ Browse_template - навигация шаблон изход. Функцията трябва да премине променлива с изходното ниво на менюто и шарката на масив.
Можете също да укажете незадължителните параметри:
- $ Ignore_check = 0 - ако е настроено на 1, всички раздели с увреждания ще бъдат премахнати.
- $ Where_cond = "" - опция определя допълнителни условия за подбор на подразделението на масата.
- $ Ниво = 0
Използването на избираеми параметри ще бъдат описани по-долу.
Кодът в менюто изход все още изглежда така:
AMIS изход от менюто на няколко нива:
От менюто е на няколко нива, новият макро променлива% NEXT_LEVEL добавя към шаблона за навигация.
В оформлението, вместо списък на HTML код на поканата функция:
където 299 - брой на дяла от родителското изходните участъци. В картата на сайта си, той изглежда така:
Помислете например, в кои случаи можете да използвате nc_browse_sub на $ where_cond () и nc_cond_browse_sub ().
Да предположим, че картата на сайта има около петнадесет позиции в корен дял. Някои от елементите, които искате да покажете най-горното меню, някои най-отдолу. В зависимост от дизайна, менюто може да се намира в различни места и може да има повече от две.
Без използването на условията на параметър $ where_cond задачата става много по-сложно. Решението е просто - в системните таблици, в "секции" Блокиране трябва да добавите ново поле.
Полетата трябва да са толкова, колкото вида менюта.
В резултат на това в раздела разширени настройки във всяка секция ще бъде опция, която трябва да бъде настроен на правилната стойност.
Функцията за изход сега трябва да добавите параметър $ where_cond на, съдържащ името на полето. Например,
Подобен вложка да се направи и за други случаи на менюто на дисплея.
Използването s_browse_ функции
Ако ви липсват тези макро променливи, или искате да използвате PHP среда можете да използвате функциите, с s_browse_ префикс. ги предоставят данни вътрешен $ масив [] и изпълнени от Оценка () шаблони, което ви позволява да прехвърляте по образец в PHP код (екраниран). Array $ данни [] съдържа всички данни от текущата таблица Подразделение подраздели изход функция.
Например:
Само на допълнителни заявки могат да бъдат използвани в шаблона. Например, трябва да се покаже броя на елементите в секции. За това искане се добавя в края на шаблона:
където XX - брой на компонента, свързан към секциите.
Обърнете внимание на знаците пред наклонени черти и $ ", те са необходими, тъй като обработката на масива и вложените функция трябва да се извършва в рамките на s_browse_ функция, а не по време на инициализация на масива $ browse_sub на.
Важно: s_browse_ функции достъпно macrovariable% NEXT_LEVEL.
Важно: s_browse_ функции не автоматично да избират нивото на шаблона, както това е направено в% NEXT_LEVEL, така че е необходимо да се премине определено ниво на шаблон функцията прави, например
За да се покаже на следващото ниво на масива, е необходимо да се регистрирате функция покана за следващото ниво в рамките на шаблона и се пресява така prozoshel разговор в рамките на сегашното ниво на функции.
Също следващото ниво шаблон $ left_menu1 [1], няма да бъде на разположение в s_browse_sub функция обхват, така че трябва да го отворите, чрез глобализацията:
Пълен например в продължение на 3 нива на влагане:
Важно: ако шаблона за навигация е описан в компонента за шаблон (префикс / системни настройки), трябва също да предяви модел масив от видимостта на полето компонент като цяло:
Карта на сайта
Списък на всички секции (карта на сайта) се показва на сайта също е много проста. което трябва да се създаде нов раздел, за да го свържете към оформлението дизайн на следващия съдържанието на картата на сайта:
- навигация шаблон изход регистър:
- на мястото на O карта, за да се регистрирате извикване на функция:
В този пример всеки шаблон елемент предизвиква функция отново със същия модел, но броят на текущата секция се прехвърля в изходната секция ID. По този начин имате една единствена страница ще показва пълна йерархия структурата на сайта.
галета
Последно навигация елемент на страницата - галета. Се формира от функции:
- nc_browse_path ($ browse_template)
Изходна по предварително определен рисунък - nc_browse_path_range ($ от, $ до $ browse_template, $ обратен = 0, $ показват = 0)
Изходна с конкретни параметри на
променливи $ browse_template също трябва да се уточни масив от данни. В кода галета са показани в реда:
Необходимо е да се създаде набор от изход:
и да предпише сключване на разпределение:
Общо показвания
навигационни елементи адаптирани и сега е в "шаблони навигация О" се намира на 4 блока спектър:
Горната част на оформлението е значително намалена и сега изглежда така:
- nc_browse_sub () - Отваряне на списъка на предварително определени секции подраздели в съответствие с $ шаблона на модел
- nc_browse_catalogue () - отнемане на списъка с обекти
- nc_browse_level () - отнемане на менюто (списък от теми) на определено ниво
- nc_browse_messages () - генерира списък на страници с обекти
- nc_browse_path () - пътя на изхода "галета"
- nc_browse_path_range () - изход пътя ( "галета") определения диапазон
Свързани статии