Как использовать псевдонимы URL в меню?


14

Я пинаю шины на Drupal 7, раскручивая тестовую площадку.

Я выбрал тему Danland и создал различные страницы с псевдонимами URL для каждой, но когда я создаю ссылку «Меню» для каждой, я могу ввести только узел в поле «Путь» для ссылки меню, а не псевдоним. Таким образом, я могу ввести только «узел / 20», а не «о нас» (псевдоним для узла) в меню.

Я бы хотел, чтобы пункты меню разрешались по псевдонимам, а не по узлам.
Как мне это сделать?


3
При отображении ссылка на меню будет использовать определенный псевдоним пути. Есть причина, почему этого недостаточно?
Бердир

Моя, похоже, этого не делает. Не уверен, что где-то пропущен какой-то конфиг или что-то еще - см .: reboot.researchvessels.org/about-us, который работает как псевдоним, но я не могу заставить ссылку меню перейти туда. Поле Path принимает только внешние URL или ссылки на узлы.
cpuguru

У меня та же проблема. Мое "главное меню" отлично работает с псевдонимами. Я создал новое меню. Это единственное, что не спасет псевдонимы. Кроме того, он полностью ломается, потому что когда я перехожу на «узел / 10», то я хочу нажать на другую страницу, ссылки меню имеют дополнительный «узел», поэтому он указывает на «узел / узел / 10» «узел / узел / 11» и т. д. Если я использую абсолютный путь, то он приведет меня к правильной странице, но я хочу, чтобы меню могло автоматически распознавать, какая страница активна, он не распознает, что абсолютный URL-это путь, по которому я нахожусь, поэтому класс css "активный" не установлен должным образом. У меня есть drupal 7.2

Ответы:


7

Как Бердир упоминал в комментариях и Грег упоминал в своем ответе , следующие методы добавления псевдонимов пути должны просто работать :

  • Добавление его в форму отправки узла при создании / редактировании узла
  • Использование Pathauto для автоматического создания псевдонимов для узлов.
  • Добавить псевдонимы вручную, выбрав КонфигурацияПоиск и метаданныеПсевдонимы URL

То, что он не делает это странно. Попробуйте очистить кэш, выбрав КонфигурацияРазработкаПроизводительность . Это должно перестроить меню Drupal и заставить псевдонимы пути показываться правильно.


1
Я думал, что Global Redirect влияет только на разрешение URL, а не на вывод ссылок? Я использую Global Redirect с самого начала на всех своих сайтах - я не уверен, как Drupal ведет себя без него.
Грег

@ Грег, ты прав; Я добавил его в качестве возможного обходного пути, но он ничего не сделал для решения основной проблемы, поэтому я удалил его.

Псевдонимы работают, просто я не могу ввести путь с псевдонимом в меню в качестве пункта назначения, только внешний URL или "узел / х". Я не могу сказать, чтобы перейти к «о нас» для входа в меню, только «узел / 20». Итак, вопрос в том, как я могу ввести псевдоним в качестве пункта назначения, а не узла?
cpuguru

Я очистил кеш и даже удалил и заново создал страницу «О нас», но все равно не испытывал радости.
cpuguru

Я только что установил модуль Global Redirect и все еще не повезло - drupal.org/project/globalredirect
cpuguru

4

Я также могу предположить, что вы просматриваете сайт не на том языке, для которого был создан псевдоним URL. Если вы создадите псевдоним во время просмотра на немецком языке (скажем), посетители, просматривающие сайт в английском режиме, все равно увидят node / 234234. Просто совет.


0

Если вы назначите псевдоним пути и пункт меню, используя форму добавления / редактирования узла , то созданные пункты меню будут использовать псевдонимы пути. Для простых случаев использования вам не нужно вручную создавать псевдонимы на admin/config/search/pathстранице или вручную создавать пункты меню на admin/structure/menuстранице.


Я могу создать псевдонимы, и они будут работать, если я зайду к ним напрямую, но я не могу найти способ настроить меню для их использования. Похоже, что единственной доступной опцией является «узел / xx» для поля «Путь», и когда вы нажимаете на ссылку, в поле адреса отображается сайт / узел / xx, а не псевдоним URL.
cpuguru

@cpuguru - Если вы удаляете псевдоним узла и пункт меню, а затем воссоздаете псевдоним и элемент меню из формы редактирования узла, этот пункт меню все еще не использует псевдоним?
Грег

Нет, я просто попробовал снова со страницей "Партнерство". Удалили Псевдоним и пункт меню, а затем добавили страницу «Партнерства», добавили Псевдоним и добавили его в Меню, и он по-прежнему отображается в меню как «узел / 21».
cpuguru

0

Я только что попробовал с новой установкой d7, используя тему Danland, и она работает правильно. Если вы не можете заставить его работать, вы всегда можете указать внешний URL в вашем меню, верно? Например, "http://yourdomain.com/about-us" intead для "node / 1"


0

Похоже, что обновление моей установки Drupal с Drupal 7 до недавно выпущенной Drupal 7.2 решило проблему. Это было либо это, либо только что выпущенные обновленные драйверы SQL Server, которые вам нужно будет установить поверх оригинальных драйверов PDO SQL Server, чтобы скрипты обновления работали при обновлении до Drupal 7.2.

В любом случае, теперь URL с псевдонимом появляется, когда я нажимаю на ссылку меню. Так что это могут быть либо изменения кода в ядре Drupal 7.2, либо обновления драйверов SQL Server. Я не уверен на 100%, какой это.


0

Шаблоны тем могут быть переопределены с помощью псевдонима URL следующим образом.

  1. Добавить функцию препроцессора в файл шаблона темы
  2. Получите псевдоним URL и выберите файл шаблона

Полное объяснение с кодом приведено в разделе Как создать шаблон для страницы, созданной в drupal Admin, с псевдонимом URL .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.