Подходы к реализации меню
Существует 3 подхода к реализации меню. Первые 2 подхода используют ручное составление списка выводимых объектов. В первом подходе объекты (документы) причисляются к меню через интерфейс редактирования объекта (документа). В этом случае удобнее добавлять (и удалять) объект сразу в несколько меню, однако состав меню проявится только на сайте. Во втором подходе работа ведётся с самим объектом меню, агрегирующим необходимые объекты через собственный интерфейс. В этом случае удобнее быстро менять состав меню, т.к. нет необходимости лезть в соответствующие объекты.
В третьем подходе меню составляются автоматически, согласно некоторым предопределённым правилам вида: все дочерние документы, от документа c id=4, сортируя в порядке createdon DESC
(использовать дату создания + последние в начале). Очевидно, что третий подход облегчает пользование CMS — новые статьи и т.п. не нужно каждый раз добавлять к меню, однако жёстко детерминирует как структуру вывода, так и структуру дерева документов. Впрочем, последнее, в большинстве случаев играет только на пользу качеству сайта: его понятности, предсказуемости и т.д.
Внимательный читатель уже понял, что первый подход — это Push-вариант, второй — Pull-вариант. Эти подходы являются конкурирующим, т.к. решают идентичные задачи концептуально различными образами. Представляется, что одновременная реализация двух этих подходов будет создавать путаницу для пользователей. Третий подход, напротив, отлично сочетается с каждым из первых двух. Тогда возникает вопрос выбора между вариантами 1 и 2.
Вариант 1:
недостатки:
- объект меню отделён от состава меню. Блокировка меню и т.п. будет выполняться в ином месте, чем причисление к меню
- порядок следования пунктов задаётся косвенным образом
- создание вложенных меню требует дополнительных сложностей, особенно в интерфейсе. В варианте 2 вложенность может задаваться очень просто:
1
2 (21, 22)
3 - упрощённый вариант составления вложенных меню может быстро стать нечитаемым, для сложных случаев с более чем одним уровнем вложенности
- интерфейс причисления удалён от повседневной рабочей зоны контентщика
Вариант 2:
недостатки:
Предварительный вывод — вариант 1 больше подходит для часто изменяемых меню и меню с большой сложностью итоговой структуры, в то время как вариант 2, наоборот больше подходит для редко изменяемых меню и меню с ограниченной сложностью.
Сама концепция меню подразумевает постоянство, гомогенность, простоту. Специалисты по интерфейсам рекомендуют ограничивать размеры меню в восемь и менее пунктов. Из всего сказанного следует вывод — вариант 2 является более «натуральным». Своими недостатками он подталкивает пользователей в правильную сторону, в отличие от варианта 1, который побуждает создавать гигантские нечитаемые меню подобные друпаловским монстрам.
Следует отметить, что вариант 1 является значительно более распространённым среди CMS. Скорее всего, причина тому в банальном повторении идей ведущих проектов.
Автор: Клешнин Иван
Полезное
- Подсветка php-кода для сайта
- Сколько зарабатывают веб-разработчики?
- Рассуждения о задачах разработчика
- Правила работы с UTF-8
- Подходы к реализации меню
CMS MODx
CMS MODx — админка
PHP
- Слияние массивов в PHP
- Задачки на знание PHP для начинающих
- Unable to load dynamic library php_curl.dll
- Изображение [] не может быть показано, так как содержит ошибки.
БД
JS, jQuery
Партнёрам по цеху
Copyright © 2008 scabbiaza.net
PHP-программист: программирование сайтов, интернет-магазинов, порталов