|
|
|
| Вот хочу спросить, кто какие знает алгоритмы для создания меню в cms? Т.е. каким способом лучше задавать меню..Ведь сайты по структуре разные все. Например кому-то надо:
---------------------------------------------
Меню 1 Меню 2
Субменю1
Субменю2
Субменю3
---------------------------------------------
Описание: при нахождении в разделе "Меню 1" показывается субменю. Другому например надо чтоб у всех разделов выводились субменю, в независимости от того, какой раздел открыт...А другому требуется создать в "Субменю2" еще дополнительные разделы...И так практически до бесконечности.
Как лучше всю систему организовать??? Завтра, если придумаю, выложу свой вариант... | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: cheops
(09.03.2005 в 02:12)
| | Меня не интересуют мелкие детали и не интересует как организовать базу..Меня интересует как все это сделать на php, это cms, вариантов организации меню может быть много...Писать тысячи условий нелогично... | |
|
|
|
|
автор: cheops (из ННГУ) (09.03.2005 в 15:57) |
|
|
для: isset
(09.03.2005 в 14:52)
| | Про условия никто и не говорит, в каталоге бесконечной вложенности всё будет делаться автоматически SQL-запросами в зависимости от переданного скрипту значения первичного ключа. | |
|
|
|
|
|
|
|
для: cheops (из ННГУ)
(09.03.2005 в 15:57)
| | Это уже процесс построения меню. Но надо знать же какой алгоритм использовать для построения..Я уже выше сказал структура меню может быть разная, может даже не быть субкатегорий, а еще что-то...Может будут обычные графические кнопки... | |
|
|
|
|
|
|
|
для: isset
(09.03.2005 в 14:52)
| | >Меня не интересуют мелкие детали
Зря вы так. Структура базы - это основа всего. А вот как это делается конкретно на php - вот это, действительно, мелкие детали.
Вам предложили идею организацию многоуровневого меню бесконечной вложенности. На основе этого вы сможете построить множество самых разных меню. Как конкретно - это уже детали.
Чтобы учесть множество вариантов меню нужно все их знать. Невозможно запрограммировать то, что не известно. Посмотрите сайты в интернете - вариантов меню, не так уж и много на самом деле. | |
|
|
|
|
|
|
|
для: 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 может понадобится когда перед меню нужно поставить текст какой-то, например "Меню нашего сайта"
Все есть или что-то я забыл? | |
|
|
|
|
|
|
|
для: isset
(09.03.2005 в 16:19)
| | Мне кажется вы не с той стороны подошли к вопросу. СMS - это прежде всего система управления контентом (содержанием), а то о чем вы говорите - это дизайн.
А вот придумать систему управления дизайном - это, действительно, сложная и нетривиальная задача. И на мой взгляд ее нельзя решить с приемлимым качеством и универсальностью.
Реализуйте все описанные вами элементы, наложите на них дизайн. И ели хотите, то дайте пользователям возможностью управлять дизайном.
Я бы сделал это так:
По возможности, оформление всех элементов описал бы с помощью стилей CSS. И дал бы пользователям возможность менять эти стили. В простейшем случае - это могут быть просто файлы CSS c комментариями. Либо можно сделать WEB-интерфейс.
Я так понял, что у вас основной вопрос: какие элементы использовать для построения меню?
1. Придумайте несколько вариантов меню: вертикальное, горизонтальное, выпадающее и т.д.
2. Найдите у них всех общие элементы, разработйате структуру хранения и отображения.
3. Реализуйте все придуманные варианты меню в коде. Пусть у вас будет 3-4 ветки кода для построения разных меню.
4. Оформление вынесите в CSS.
PS: Мне кажется не стоит сейчас досконально продумывать что может понадобится. Начните делать - и сразу станет видно, что вам нужно. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(09.03.2005 в 21:13)
| | Я сейчас пишу ТЗ, надо все моменты учесть. Меню - содержимое сайта, без него никак.
Спасибо за советы, пропущу пока этот пункт в ТЗ | |
|
|
|