Навигация на основе таксономии и пространство имен URL в Drupal

Я пытаюсь обновить старый сайт PHP (http://cordair.com/) для работы с Drupal работает Ubercart. Одна из ключевых вещей - убедиться, что URL-адреса, которые люди добавили в закладки, остаются неизменными.

Моя таксономия выглядит примерно так

Catalog
 + Artists
    + Pablo Picaso
    + Lenardo DaVinci
 + Medium
    + Sculpture
    + Painting
    + Print

Таксономия предусматривает множественный выбор. Таким образом, у каждого есть 1 художник и, возможно, несколько сред (например, что-то может быть как оригинальной картиной, так и доступным в виде печати). Я хочу, чтобы сайт мог обслуживать страницу http://foo.com/picaso, в которой перечислены все предметы у Пабло Пикасо или под его именем. Я также хочу иметь такую ​​страницу, как http://foo.com/paintings, на которой перечислены все картины всех художников.

Как лучше всего это осуществить? Похоже, мне нужно использовать Path Auto, но очень сложно понять, какие настройки правильные. Я также не вижу способа настроить способ преобразования термина таксономии в URL-адрес; сейчас я просто получаю удостоверения личности. Похоже, что есть способ использовать имя термина, но URL-адреса, которые я пытаюсь создать, используют только фамилию, а не имя.

Простите мою глупость в отношении Drupal, поскольку я уверен, что это все возможно и, вероятно, проще, чем я думаю.


person KevinM    schedule 28.06.2010    source источник


Ответы (2)


Возможный, но сомнительный подход:

Чтобы извлечь только фамилии, вам потребуется реализовать собственный токен для таксономии. термины, которые будут выполнять необходимые манипуляции со строками. (Вы хотите создать вариант токена по умолчанию [cat]. Этот пример для токена заголовка настраиваемого узла также может помочь понять процесс.)

Однако у этого подхода есть серьезные недостатки:

Рекомендуемый альтернативный подход:

Чтобы избежать проблем с вышеупомянутой двусмысленностью и учитывая, что сайт, который вы хотите заменить, пока имеет довольно небольшой набор целевых имен, я бы просто использовал стандартный токен [cat], используя полные имена для URL-адресов (Pathauto позволяет вам для указания замены специальных символов по умолчанию, например пробелов на подчеркивания или тире). Затем вы можете добавить правила перенаправления для всех старых URL-адресов, использующих только фамилию, в файлы .htaccess сайтов, чтобы поддерживать их работоспособность при продвижении новых версий:

# http://example.com/picasso  => http://example.com/pablo_picasso
RewriteRule ^picasso $ http://example.com/pablo_picasso [L,R=301]
# ... and so on for all old urls that changed

(Вы также можете проверить модуль перенаправления пути как «внутреннюю» альтернативу Drupal манипуляции с .htaccess) .


Кроме того, я бы рекомендовал разделить иерархию «Каталог» на два отдельных словаря, например «художники» и «медиумы». Хотя это приведет к появлению двух отдельных полей таксономии в форме ввода узла, это соответствует семантической разнице и даст больше гибкости для фильтрации, сортировки и группировки узлов в дальнейшем.

person Henrik Opel    schedule 04.07.2010

Автоматический путь предназначен для автоматического создания псевдонимов пути для содержимого на основе атрибутов этого содержимого.

Похоже, вы больше говорите о разных типах контента (cck) и связывает эти типы с модулем ссылки на узел. Тогда ваши URL-адреса picaso и рисунков представляют собой простые представления, которые могут принимать аргументы или использовать открытые фильтры для дальнейшего ограничения отображаемых узлов.

person Eric M    schedule 02.07.2010