Тимофей И.
92 сообщения
#16 лет назад
Всем привет, вот уже несколько дней бьюсь над задачей создания многоуровнего меню. И не могу понять, как же это реализовать, если данные берутся с базы данных. Допустим, у нас есть несколько параметров:
name - Имя
path – путь к странице
weight – вес, т.е. по нему можно управлять положение, задается числом, по умолчанию 0
showInMenu – Показывать в меню или скрыть, булево значение. По умолчанию true

Хочется что бы строилось виде древовидной структуры. Не получается заставить контролировать вес меню, что бы они становились в нужную позицию. В контроллере задаю парметры вот таким образом (так что бы потом было легко их задать считывая параметры с базы данных):

$menu = Array();
$options = Array();
$options = "Административная система";
$options = true;
$options = "moderator/";
$menu = new Page($options);

$options = Array();
$options = "База пользователей";
$options = true;
$options = "moderator/people/";
$options = 3;
$menu = new Page($options);

$options = Array();
$options = "Вопросы";
$options = true;
$options = "moderator/questions/";
$options = 2;
$menu = new Page($options);


Кто подскажет, буду очень благодарен, хотя бы идею?
Мухаметшин Д.
196 сообщений
#16 лет назад
Создайте функцию с нужными входными параметрами и используйте рекурсию.
Константинович С.
658 сообщений
#16 лет назад
Интересно а что такое вес меню.
Тимофей И.
92 сообщения
#16 лет назад
Интересно а что такое вес меню - может я не правельно выразился, имелось ввиду вес каждой ссылки, что бы самы легкие были на верху а самие тяжелые внизу, это позволит переставлять ссылки местами.
Тут М.
626 сообщений
#16 лет назад
Оффтопик
Обычно это называют не вес, а порядок (order)