Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: CMS: Меню сайта
 
 автор: isset   (09.03.2005 в 01:40)   письмо автору
 
 

Вот хочу спросить, кто какие знает алгоритмы для создания меню в cms? Т.е. каким способом лучше задавать меню..Ведь сайты по структуре разные все. Например кому-то надо:
---------------------------------------------
Меню 1 Меню 2
Субменю1
Субменю2
Субменю3
---------------------------------------------
Описание: при нахождении в разделе "Меню 1" показывается субменю. Другому например надо чтоб у всех разделов выводились субменю, в независимости от того, какой раздел открыт...А другому требуется создать в "Субменю2" еще дополнительные разделы...И так практически до бесконечности.
Как лучше всю систему организовать??? Завтра, если придумаю, выложу свой вариант...

   
 
 автор: cheops   (09.03.2005 в 02:12)   письмо автору
 
   для: isset   (09.03.2005 в 01:40)
 

Для начала необходимо создать таблицу меню с дополнительным полем, в котором бы размещалась ссылка на первичный ключ родительского меню. Меню корневого раздел имеют значение равное 0, т.е. по сути бесконечно-вложенный каталог
id name id_parent
1 "Меню 1" 0
2 "Меню 2" 0
3 "Субменю1" 1
4 "Субменю1" 1
5 "Субменю1" 1

Подробно это обсуждалось по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=701

   
 
 автор: isset   (09.03.2005 в 14:52)   письмо автору
 
   для: cheops   (09.03.2005 в 02:12)
 

Меня не интересуют мелкие детали и не интересует как организовать базу..Меня интересует как все это сделать на php, это cms, вариантов организации меню может быть много...Писать тысячи условий нелогично...

   
 
 автор: cheops (из ННГУ)   (09.03.2005 в 15:57)
 
   для: isset   (09.03.2005 в 14:52)
 

Про условия никто и не говорит, в каталоге бесконечной вложенности всё будет делаться автоматически SQL-запросами в зависимости от переданного скрипту значения первичного ключа.

   
 
 автор: isset   (09.03.2005 в 16:00)   письмо автору
 
   для: cheops (из ННГУ)   (09.03.2005 в 15:57)
 

Это уже процесс построения меню. Но надо знать же какой алгоритм использовать для построения..Я уже выше сказал структура меню может быть разная, может даже не быть субкатегорий, а еще что-то...Может будут обычные графические кнопки...

   
 
 автор: glsv (Дизайнер)   (09.03.2005 в 16:12)   письмо автору
 
   для: isset   (09.03.2005 в 14:52)
 

>Меня не интересуют мелкие детали
Зря вы так. Структура базы - это основа всего. А вот как это делается конкретно на php - вот это, действительно, мелкие детали.
Вам предложили идею организацию многоуровневого меню бесконечной вложенности. На основе этого вы сможете построить множество самых разных меню. Как конкретно - это уже детали.

Чтобы учесть множество вариантов меню нужно все их знать. Невозможно запрограммировать то, что не известно. Посмотрите сайты в интернете - вариантов меню, не так уж и много на самом деле.

   
 
 автор: isset   (09.03.2005 в 16:19)   письмо автору
 
   для: glsv (Дизайнер)   (09.03.2005 в 16:12)
 

С мелкими деталями я сам разберусь.
Объясняю еще раз, как владелец cms будет задавать меню?Ведь у него может быть неактивная ссылка оформлятся как "<h4><u><font color=green>Ссылка</font></u></h4>", а активная "<h2><b><font color=reg>- Ссылка</font></b></h2>"
Получается необходимо указывать:
1. Стиль активной ссылки
2. Стиль неактивной ссылки
3. Разделитель
4. Начало меню
5. Конец меню

4 и 5 может понадобится когда перед меню нужно поставить текст какой-то, например "Меню нашего сайта"

Все есть или что-то я забыл?

   
 
 автор: glsv (Дизайнер)   (09.03.2005 в 21:13)   письмо автору
 
   для: isset   (09.03.2005 в 16:19)
 

Мне кажется вы не с той стороны подошли к вопросу. СMS - это прежде всего система управления контентом (содержанием), а то о чем вы говорите - это дизайн.
А вот придумать систему управления дизайном - это, действительно, сложная и нетривиальная задача. И на мой взгляд ее нельзя решить с приемлимым качеством и универсальностью.
Реализуйте все описанные вами элементы, наложите на них дизайн. И ели хотите, то дайте пользователям возможностью управлять дизайном.
Я бы сделал это так:
По возможности, оформление всех элементов описал бы с помощью стилей CSS. И дал бы пользователям возможность менять эти стили. В простейшем случае - это могут быть просто файлы CSS c комментариями. Либо можно сделать WEB-интерфейс.

Я так понял, что у вас основной вопрос: какие элементы использовать для построения меню?
1. Придумайте несколько вариантов меню: вертикальное, горизонтальное, выпадающее и т.д.
2. Найдите у них всех общие элементы, разработйате структуру хранения и отображения.
3. Реализуйте все придуманные варианты меню в коде. Пусть у вас будет 3-4 ветки кода для построения разных меню.
4. Оформление вынесите в CSS.

PS: Мне кажется не стоит сейчас досконально продумывать что может понадобится. Начните делать - и сразу станет видно, что вам нужно.

   
 
 автор: isset   (09.03.2005 в 22:01)   письмо автору
 
   для: glsv (Дизайнер)   (09.03.2005 в 21:13)
 

Я сейчас пишу ТЗ, надо все моменты учесть. Меню - содержимое сайта, без него никак.
Спасибо за советы, пропущу пока этот пункт в ТЗ

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования