Автоматическое формирование меню. Срочно!

Главные вкладки

Аватар пользователя Fresher Fresher 20 октября 2007 в 18:01

Приветствую всех участников форума, я недавно начал изучать Drupal и зарегистрировался здесь.

Возникла необходимость формирования меню. Нужно, чтобы у каждой страницы был код идентификации, который задавался бы пользователем, например "products". И чтобы к этой странице можно было добавлять подстраницы (т. е. создать иерархическую страктуру). А ссылки должны формироваться автоматически и состоять из кодов идентификации родительских элементов, разделенных слешами.

Например:
1. Создаю страницы Продукты (id="products"), Ноутбуки (id="notebooks") и Компьютеры (id="computers").
2. Привязываю страницы Ноутбуки и Компьютеры как подразделы страницы Продукты.
3. Получаю доступ к странице Ноутбуки по адресу "/products/notebooks/"

PS
Кстати, почему Drupal не ставит закрывающий слеш?

Комментарии

Аватар пользователя Fresher Fresher 20 октября 2007 в 20:01

Да, это первое, что я посмотрел. Но к сожалению я не нашел как можно там задать произвольные id и как вывести меню.
Облазил уже весь Интернет.... Это вообще реально?

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 20 октября 2007 в 21:23

Если вы хотя бы раз создавали страницу материала, то должны были заметить, что там есть возможность задать произвольный адрес этого материала, как он вам нужен - например, "/products/notebooks/".
Аналогично, там же можно задать пункт меню, который ведет на этот материал.
Такая возможность вас устроит?

Или необходимо, чтобы пользователь указывал только, в какой раздел отнести новую страницу? Тогда это таксономия и модуль taxonomy_menu.

Аватар пользователя Fresher Fresher 20 октября 2007 в 21:54

Да, именно сейчас я так и делаю.
Однако такой способ мне не кажется хорошим решением, так как на сайте будет около 150 информативных страниц и каталог с примерно 700-800 товарами. Все бы ничего, но время от времени структура меняется и приходится целые ветви перемещать по иерархии.
Например, возможен вариант, когда придется изменить "/products/notebooks/" на "/products/portable/notebooks/" в нескольких сотнях страниц.

Аватар пользователя Fresher Fresher 21 октября 2007 в 15:56

Вроде бы изучил Pathauto частично.
С позиции моих представлений о нем, это - не выход. Т. к.
- нет возможности задавать id для страниц. Приходится прописывать сопоставление слов из названий английским эквивалентам в i18n-ascii.txt ручками.
- для изменения алиаса нужно править каждую страницу, нельзя автоматически перегенерировать алиас при измененении меню.

Реально все.
Это пока только слова. Как?

Снова ручками, как в Джумле что ли делать? Грустно...

Аватар пользователя andron13 andron13 21 октября 2007 в 16:09

Mенять адрес ноды при изменении таксономии не рекомендую. Изучите views и вывод материала взависимости от категорий.

Аватар пользователя lsass lsass 21 октября 2007 в 17:20

Присмотритесь в настройка Pathauto к пункту
Bulk update node paths
Generate aliases for all existing nodes which do not already have aliases.

Мне кажется, что этот модуль - именно то, что Вам нужно, т.к. он решает задачи, сходные с Вшими.
Если владеете английским, посетите http://drupal.org/handbook/modules/pathauto
Там содержатся отличные рекомендации.