Jak korzystać z aliasów URL w menu?

14

Kopię opony na Drupal 7, rozwijając stronę testową.

Wybrałem motyw Danland i utworzyłem różne strony z aliasami URL dla każdego, ale kiedy tworzę link do menu dla każdego, mogę tylko wprowadzić węzeł w polu „Ścieżka” dla łącza menu, a nie alias. Mogę więc tylko wpisać „node / 20”, a nie „about-us” (alias dla węzła) w menu.

Chciałbym, aby elementy menu były rozpoznawane jako aliasy, a nie węzły.
Jak mogę to zrobić?

cpuguru
źródło
3
Po wyświetleniu łącze menu będzie używać zdefiniowanego aliasu ścieżki. Jest jakiś powód, dla którego to nie wystarczy?
Berdir
Mój chyba tego nie robi. Nie jestem pewien, czy brakuje mi gdzieś konfiguracji lub co - patrz: reboot.researchvessels.org/about-us, który działa jako alias, ale nie mogę sprawić, by link do menu tam trafił. Pole ścieżki akceptuje tylko zewnętrzne adresy URL lub odwołania do węzłów.
cpuguru
Mam ten sam problem. Moje „menu główne” działa dobrze z aliasami. Stworzyłem nowe menu. To jedyny, który nie uratuje aliasów. Ponadto psuje się całkowicie, ponieważ kiedy przechodzę do „węzła / 10”, a następnie chcę kliknąć na innej stronie, łącza menu mają dodatkowy „węzeł”, więc wskazuje na „węzeł / węzeł / 10” „węzeł / węzeł / 11” itp. Jeśli użyję ścieżki bezwzględnej, to przejdzie do właściwej strony, ale chcę, aby menu mogło automatycznie rozpoznać, która strona jest aktywna, nie rozpoznaje, że bezwzględny adres URL to ścieżka, na której się znajduję, więc klasa css „active” nie jest ustawiona poprawnie. Mam drupal 7.2

Odpowiedzi:

7

Podobnie jak Berdir wspomniany w komentarzach i Greg wspomniany w swojej odpowiedzi , następujące metody dodawania aliasów ścieżek powinny po prostu działać :

  • Dodanie go w formularzu przesłania węzła podczas tworzenia / edycji węzła
  • Korzystanie z Pathauto do automatycznego tworzenia aliasów dla węzłów.
  • Ręczne dodawanie aliasów poprzez przejście do KonfiguracjaWyszukiwanie i metadaneAliasy URL

To, że tak się nie dzieje, jest dziwne. Spróbuj wyczyścić pamięć podręczną, przechodząc do opcji KonfiguracjaProgramowanieWydajność . To powinno odbudować menu Drupala i sprawić, by aliasy ścieżek były wyświetlane poprawnie.

Społeczność
źródło
1
Myślałem, że globalne przekierowanie wpływa tylko na rozdzielczość adresu URL, a nie na dane wyjściowe łącza? Używam globalnego przekierowania od samego początku na wszystkich moich stronach - nie jestem pewien, jak bez niego zachowuje się Drupal.
Greg
@Greg masz rację; Dodałem to jako możliwe obejście, ale tak naprawdę nie robi nic, aby rozwiązać podstawowy problem, więc go usunąłem.
Aliasy działają, po prostu nie mogę wprowadzić aliasy do menu jako miejsca docelowego, tylko zewnętrzny adres URL lub „node / x”. Nie mogę powiedzieć, żeby poszedł do „about-us” dla pozycji menu, tylko „node / 20”. Pytanie brzmi: jak mogę wprowadzić alias jako miejsce docelowe, a nie węzeł?
cpuguru 16.04.11
Wyczyściłem pamięć podręczną, a nawet usunąłem i ponownie utworzyłem stronę O nas i nadal nie mam radości.
cpuguru 16.04.11
Właśnie zainstalowałem moduł Global Redirect i nadal nie mam szczęścia - drupal.org/project/globalredirect
cpuguru
4

Możliwe, że przeglądasz stronę w innym języku niż alias URL, dla którego został utworzony. Jeśli utworzysz alias podczas przeglądania w języku niemieckim (powiedzmy), użytkownicy przeglądający stronę w trybie angielskim nadal będą widzieć węzeł / 234234. Tylko wskazówka.

yareckon
źródło
0

Jeśli przypiszesz zarówno alias ścieżki, jak i pozycję menu za pomocą formularza dodawania / edycji węzła , wówczas utworzone pozycje menu będą używać aliasowanych ścieżek. W prostych przypadkach użycia nie trzeba ręcznie tworzyć aliasów na admin/config/search/pathstronie ani ręcznie tworzyć pozycji menu na admin/structure/menustronie.

Greg
źródło
Mogę utworzyć aliasy i działają, jeśli przejdę do nich bezpośrednio, ale nie mogę znaleźć sposobu na skonfigurowanie menu, aby z nich korzystać. Jedyną dostępną opcją wydaje się być „węzeł / xx” w polu Ścieżka, a po kliknięciu linku wyświetla się strona / węzeł / xx w polu adresu, a nie alias adresu URL.
cpuguru 14.04.11
@cpuguru - Jeśli usuniesz alias węzła i element menu, a następnie ponownie utworzysz alias i element menu z formularza edycji węzła, czy element menu nadal nie używa aliasu?
Greg
Nie, właśnie spróbowałem ponownie na stronie „Partnerstwa”. Usunięto Alias ​​i pozycję menu, a następnie dodano stronę „Partnerstwa”, dodając Alias ​​i dodając go do menu, a nadal pojawia się w menu jako „węzeł / 21”.
cpuguru
0

Właśnie próbowałem z nową instalacją d7 przy użyciu motywu Danland i działa ona poprawnie. Jeśli nie możesz go uruchomić, zawsze możesz podać zewnętrzny adres URL w swoim menu, prawda? Takich jak „http://twojadomena.com/about-us” intead of „node / 1”

Matthew Hui
źródło
0

Wygląda na to, że aktualizacja mojej instalacji Drupala z Drupal 7 do nowo wydanej Drupal 7.2 naprawiła problem. Było to albo zaktualizowane sterowniki SQL Server, które właśnie zostały wydane, które musisz zainstalować na oryginalnych sterownikach PDO SQL Server, aby skrypty aktualizacji działały, jeśli aktualizujesz do Drupal 7.2.

Tak czy inaczej, teraz aliasowany adres URL pojawia się po kliknięciu łącza menu. Może to być zmiana kodu w rdzeniu Drupal 7.2 LUB aktualizacje sterownika SQL Server. Nie jestem w 100% pewien, który to jest.

cpuguru
źródło