- Регистрация
- 10 Фев 2008
- Сообщения
- 331
- Реакции
- 101
- Автор темы
- Заблокирован
- #1
Модуль используется для создания динамического меню сайта для движка DataLife Engine.
Модуль позволяет:
1. Создавать ссылки на публикации с учетом настроек сайта
2. Управлять порядком следования пунктов меню
3. Неограниченный уровень вложения
4. Создавать неограниченное количество меню для сайта с индивидуальными шаблонами
Описание модуля:
$uid - идентификатор уникальный для каждого вызова данного модуля в рамках сайта (значение по умолчанию 0)
$folder - отправная точка для отрисовки меню. Принимает значения АдминПанель->Категории->ID (тип int значение по умолчанию 0). Тоесть $folder задает родительскую категорию а в меню будут выводиться все дочерние категории до заданной глубины вложения. При $folder=0 (значение по умолчанию) будут выводиться все категории до заданной глубины вложения.
$startview - указывает на то отображать ли в меню ссылку на главную страницу сайта (1 - отображать, 0 - не отображать значение по умолчанию 1). Актуально только в случае когда $folder=0.
$template - задает шаблон используемый для отрисовки меню (значение по умолчанию "dm-level-1")
$notview - задает через запятую идентификаторы категорий которые недолжны отображаться в меню (дочерние документы данной категории отображаться токже небудут) принимает значения АдминПанель->Категории->ID[1],АдминПанель->Категории->ID[1],... (значение по умолчанию null)
$cache_file - задает имя кэш-файла (значение по умолчанию menu)
Порядок следования пунктов меню задается параметром АдминПанель->Категории->Position, может принимать как положительные так и отрицательные значения.
menu_view($m=null, $folder=null, $template=null) - вспомогательная функция для отрисовки меню следующего уровня $m - массив содержащий информацию обовсех категориях, $folder - id родительской категории, $template - задает шаблон используемый для отрисовки меню.
Примеры вызова модуля:
{include snippet="menu.php" param=""}
{include snippet="menu.php" param="uid=1&folder=11&template=dm-level¬view=12,13&cache_file=dm-cache"}
{include snippet="menu.php" param="uid=23&template=dm-level"}
Примеры шаблонов меню:
В качестве шаблонизатора используется PHP-native в шаблон из скрипта передаются следующие переменные:
folder - id родительской категории (отправная точка для отрисовки меню)
catid - id активной категории, используется для подсветки активного пункта меню
cat - массив содержащий информацию обовсех категориях
menu - массив содержащий информацию о категориях которые необходимо отрисовать для данного уровня
Простейший пример, меню отрисовывает начиная с уровня $folder на неограниченный уровень вложенности. Отрисовка происходит рекурсивно фукция menu_view вызывается с параметром $template=dm-level-1 тоесть в шаблоне dm-level-1 вновь вызывается шаблон dm-level-1 и так до тех пор, уровень за уровнем, пока для заданного $folder не закончатся дочерние категории. Это самый простой случай, однако при таком подходе нельзя ограничить глубину вложенности.
Если нам необходимо создать одно-уровневое меню, то из шаблона dm-level-1 достаточно удалить строку <?=menu_view($this->cat,$val['id'],'dm-level-1')?>, тоесть вывод подкатегорий производится не будет. Если требуется двух-уровневое меню, то функция menu_view вызывается с параметром $template=dm-level-2 и создается соответствующий шаблон для меню второго уровня, при этом в dm-level-2 функцию menu_view не используем. Если требуется трех-уровневое меню то в шаблоне dm-level-2 функция menu_view вызывается с параметром $template=dm-level-3 и создается соответствующий шаблон для меню третьего уровня. данный подход схематически можно отобразить так: dm-level-1->dm-level-2->dm-level-3->...->dm-level-n. Минусом данного подхода является большое количество шаблонов меню, а точнее, на каждый уровень меню один шаблон, однако это является также и плюсом, можно реализовать практически любую дизайнерскую идею.
Установка:
1. Поместите содержимое архива в папку snippets.
2. Файл snippets/menu/dm-level-1.tpl (стандартный шаблон) переместите в папку с DLE шаблонами.
Установка завершена.
Чтобы вызвать модуль воспользуемся подстановкой {include snippet="menu.php" param=""}
Скачать:
Demo:
Модуль позволяет:
1. Создавать ссылки на публикации с учетом настроек сайта
2. Управлять порядком следования пунктов меню
3. Неограниченный уровень вложения
4. Создавать неограниченное количество меню для сайта с индивидуальными шаблонами
Описание модуля:
$uid - идентификатор уникальный для каждого вызова данного модуля в рамках сайта (значение по умолчанию 0)
$folder - отправная точка для отрисовки меню. Принимает значения АдминПанель->Категории->ID (тип int значение по умолчанию 0). Тоесть $folder задает родительскую категорию а в меню будут выводиться все дочерние категории до заданной глубины вложения. При $folder=0 (значение по умолчанию) будут выводиться все категории до заданной глубины вложения.
$startview - указывает на то отображать ли в меню ссылку на главную страницу сайта (1 - отображать, 0 - не отображать значение по умолчанию 1). Актуально только в случае когда $folder=0.
$template - задает шаблон используемый для отрисовки меню (значение по умолчанию "dm-level-1")
$notview - задает через запятую идентификаторы категорий которые недолжны отображаться в меню (дочерние документы данной категории отображаться токже небудут) принимает значения АдминПанель->Категории->ID[1],АдминПанель->Категории->ID[1],... (значение по умолчанию null)
$cache_file - задает имя кэш-файла (значение по умолчанию menu)
Порядок следования пунктов меню задается параметром АдминПанель->Категории->Position, может принимать как положительные так и отрицательные значения.
menu_view($m=null, $folder=null, $template=null) - вспомогательная функция для отрисовки меню следующего уровня $m - массив содержащий информацию обовсех категориях, $folder - id родительской категории, $template - задает шаблон используемый для отрисовки меню.
Примеры вызова модуля:
{include snippet="menu.php" param=""}
{include snippet="menu.php" param="uid=1&folder=11&template=dm-level¬view=12,13&cache_file=dm-cache"}
{include snippet="menu.php" param="uid=23&template=dm-level"}
Примеры шаблонов меню:
В качестве шаблонизатора используется PHP-native в шаблон из скрипта передаются следующие переменные:
folder - id родительской категории (отправная точка для отрисовки меню)
catid - id активной категории, используется для подсветки активного пункта меню
cat - массив содержащий информацию обовсех категориях
menu - массив содержащий информацию о категориях которые необходимо отрисовать для данного уровня
PHP:
<?#шаблон dm-level-1?>
<ul class="level<?=$this->folder?>">
<?foreach ($this->menu as $val):?>
<li><a href="/<?=$val['link']?><?=$val['alt_name']?>"><?=$val['name']?><?if($val['count'] > 0):?>(<?=$val['count']?>)<?endif?></a>
<?=menu_view($this->cat,$val['id'],'dm-level-1')?>
</li>
<?endforeach?>
</ul>
Простейший пример, меню отрисовывает начиная с уровня $folder на неограниченный уровень вложенности. Отрисовка происходит рекурсивно фукция menu_view вызывается с параметром $template=dm-level-1 тоесть в шаблоне dm-level-1 вновь вызывается шаблон dm-level-1 и так до тех пор, уровень за уровнем, пока для заданного $folder не закончатся дочерние категории. Это самый простой случай, однако при таком подходе нельзя ограничить глубину вложенности.
Если нам необходимо создать одно-уровневое меню, то из шаблона dm-level-1 достаточно удалить строку <?=menu_view($this->cat,$val['id'],'dm-level-1')?>, тоесть вывод подкатегорий производится не будет. Если требуется двух-уровневое меню, то функция menu_view вызывается с параметром $template=dm-level-2 и создается соответствующий шаблон для меню второго уровня, при этом в dm-level-2 функцию menu_view не используем. Если требуется трех-уровневое меню то в шаблоне dm-level-2 функция menu_view вызывается с параметром $template=dm-level-3 и создается соответствующий шаблон для меню третьего уровня. данный подход схематически можно отобразить так: dm-level-1->dm-level-2->dm-level-3->...->dm-level-n. Минусом данного подхода является большое количество шаблонов меню, а точнее, на каждый уровень меню один шаблон, однако это является также и плюсом, можно реализовать практически любую дизайнерскую идею.
Установка:
1. Поместите содержимое архива в папку snippets.
2. Файл snippets/menu/dm-level-1.tpl (стандартный шаблон) переместите в папку с DLE шаблонами.
Установка завершена.
Чтобы вызвать модуль воспользуемся подстановкой {include snippet="menu.php" param=""}
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Demo:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.