Nowy system routingu w Joomla! 3.8

  1. Wprowadzenie
  2. Uwaga!
  3. Zmiany adresu URL
  4. Jak włączyć nowy routing w Joomla! 3.8
  5. Uwaga
  6. Co czeka na routing Joomla! w przyszłości?
  7. Wnioski
  8. Uwaga

Wraz z wydaniem Joomla! 3.8 był jednym z najbardziej oczekiwanych ulepszeń dla tego systemu CMS - nowych adresów URL (linków) systemu routingu strony. Jak zawsze, podczas opracowywania nowej funkcji, pozostawiono zgodność ze starą wersją routingu, która pozwoli komponentom, które jeszcze nie przełączyły się na nowy router, na normalne działanie. Jednocześnie komponenty systemowe (Materiały, Kontakty, Użytkownicy i kanały informacyjne) już obsługują nowy router ze wszystkimi jego możliwościami, które omówiono bardziej szczegółowo poniżej.

Wprowadzenie

Nowy system routingu pozwala programistom uprościć proces pisania kodu routera, a administratorzy mogą użyć więcej parametrów routingu, aby dostosować proces generowania adresów URL (w tym bardzo ważną możliwość usuwania elementów ID z adresu URL).

Począwszy od Joomla! 3.8, w przypadku komponentów obsługujących nowy router, możliwe jest uruchomienie go w jednej z trzech różnych konfiguracji:

  • aktualny system routingu (który pozostanie domyślny dla nowych instalacji i jest zalecany podczas aktualizowania istniejących witryn)
  • nowy system routingu
  • nowy system routingu ze zdalnym identyfikatorem elementu

W rezultacie możesz aktualizować bez obawy, że witryna nagle zmieni adres URL stron.

Uwaga!

Nowe adresy URL wygenerowane przez nowy system routingu nie są w 100% zgodne z istniejącym routerem. W związku z tym w przypadku istniejących witryn nie zaleca się przełączania na nowy router bez uprzedniego dokładnego sprawdzenia wszystkich istniejących adresów URL. Podczas przełączania na nowy router musisz wyeliminować zmiany adresu URL lub wykonać przekierowanie 301 ( Przeniesiony na stałe ) od starego adresu URL do nowego.

W przypadku nowych witryn zaleca się korzystanie z nowego systemu routingu.

Zmiany adresu URL

Rozważ kilka przykładów adresów URL z włączoną opcją SEF. Są to dwie strony z zestawu materiałów testowych dla każdej z powyższych opcji routingu:

  • Galeria kategorii zwierząt Strona
    • Aktualne trasy - / kategorie artykułów / 72-park-strona / galeria zdjęć / zwierzęta
    • Nowy routing z identyfikatorami przedmiotów - / kategorie artykułów / 26-park-site / 28-photo-gallery / 72-animals
    • Nowy routing bez elementów ID - / kategorie artykułów / park-strona / galeria zdjęć / zwierzęta
  • Strona artykułu Koala
    • Aktualne trasy - / kategorie artykułów / 72-park-strona / foto-galeria / zwierzęta / 25-koala
    • Nowy routing z identyfikatorami przedmiotów - / kategorie artykułów / 26-park-strona / 28-galeria zdjęć / 72-zwierzęta / 25-koala
    • Nowy routing bez elementów ID - / article-categories / park-site / photo-gallery / animals / koala

Liczby w adresie URL są identyfikatorami odpowiednich kategorii i artykułów w bazie danych Joomla !.

Jeśli nowy router i opcja Usuń identyfikator są włączone, identyfikatory są usuwane z adresu URL strony. Pozwala to tworzyć bardziej czyste i przyjazne adresy URL, które będą przydatne zarówno dla użytkowników witryny, jak i SEO.

Jak włączyć nowy routing w Joomla! 3.8

Routing dla adresów URL w Joomla! Zawarte jak zawsze w ogólnych ustawieniach witryny. Jeśli chcesz włączyć nowy algorytm pracy, na przykład dla materiałów Joomla !, musisz przejść do ustawień komponentu materiałów. W tym celu przejdź do pozycji Menedżer treści / materiałów w menu głównym części administracyjnej witryny i kliknij przycisk Ustawienia w prawym górnym rogu strony. Następnie przejdź do karty Ustawienia integracji i zobacz nowy element Routing URL z wartościami Stabilny i Eksperymentalny.

Następnie przejdź do karty Ustawienia integracji i zobacz nowy element Routing URL z wartościami Stabilny i Eksperymentalny

Po wybraniu opcji Eksperymentalne, aby skonfigurować opcję Routing URL, dostępna będzie opcja Usuń identyfikatory z adresów URL. Po ustawieniu opcji Tak identyfikatory elementów (w tym przypadku kategorie i materiały) zostaną usunięte z adresu URL materiału.

Podobne ustawienia są dostępne dla komponentów Kontakty, Użytkownicy i Kanały informacyjne.

Uwaga

Jeszcze raz zauważamy, że zastosowanie nowego algorytmu routingu Joomla! może zmienić adres URL strony, w wyniku czego istniejący (i indeksowany przez wyszukiwarki) adres URL strony może dać odpowiedź 404 (strona nie znaleziona). Deweloperzy nadal omawiają pomysły planu migracji w celu zachowania starych adresów URL.

Co czeka na routing Joomla! w przyszłości?

Sądząc po wywiad z Hannes Papenberg (który jest wiodącym twórcą nowego routera) w Joomla! 4 planowane jest całkowite pozbycie się starego systemu routingu. Jest to dość logiczne, ponieważ podczas zmiany wersji głównej w wersji nie jest wymagana zgodność wsteczna, a usunięcie starego kodu upraszcza obsługę i dalszy rozwój CMS. W końcu wraz z wydaniem Joomla! 4 deweloperzy rozszerzeń będą musieli uwzględnić te zmiany i wprowadzić odpowiednie zmiany w swoim kodzie, aby obsługiwać nowy system routingu.

Tutaj Hannes Papenberg koncentruje się na zaletach nowego routera dla programistów i administratorów witryn, wśród których można przetrwać:

  • mniej kodu podczas pisania routera, sam kod jest prostszy i bardziej zrozumiały
  • router jest napisany w formie klasy php opartej na bazie, zgodnie z zasadami OOP
  • zewnętrzni programiści będą mogli modyfikować zachowanie routera bez edycji podstawowych plików aplikacji
  • bardziej wydajny kod
  • brak duplikatów treści

Po usunięciu starego routera w Joomla! 4 zespół programistów planuje zwrócić uwagę na rozszerzenie opcjonalnej funkcjonalności nowego routera.

Wnioski

Właściciele witryn przed aktualizacją Joomla! przed wersją 4 warto sprawdzić wszystkie rozszerzenia w celu poprawnego działania z nowym routerem, debugować proces migracji starych łączy do nowych i przełączyć się na nowy routing Joomla !. Do tego czasu wszystkie popularne komponenty Joomla! powinien już korzystać z możliwości nowego systemu routingu i rozwiązać problem poprawnego ruchu po zmianie adresów URL. Nie powinieneś panikować, ponieważ zawsze istnieje opcja przekierowania 301 ze starych adresów na nowe. Pytanie dotyczy tylko automatyzacji procesu.

Warto również zauważyć, że istniejący (stary) algorytm routingu dla komponentów systemu (Materiały, kontakty, kanały informacyjne itp.) Od dawna był używany do zapewnienia, że ​​identyfikator elementu zostanie usunięty z adresu URL strony. Na tym koncie napisano wiele materiałów, wyszukiwane jest słowo kluczowe sef_advanced_link. Jest to nazwa parametru, który można dodać do pliku konfiguracyjnego komponentu i osiągnąć pożądany efekt. Dla tych, którzy korzystają z tej możliwości, przejście na nowy router powinno być całkowicie bezbolesne, jeśli w nowym routerze wybierzesz opcję usunięcia identyfikatora elementów. W takim przypadku linki stron powinny pozostać takie same.

Uwaga

Zauważ, że podczas dodawania parametru sef_advanced_link, na przykład do Joomla! Nie wpływasz na kod samego routera, wszystko czego potrzebujesz jest już w nim zawarte. Ale ponieważ sam parametr sef_advanced_link nie znajduje się w pliku konfiguracyjnym, może zostać zniszczony podczas aktualizacji Joomla !. Jeśli programiści wprowadzą zmiany w pliku konfiguracyjnym komponentu treści i wejdą w następną wersję Joomla !, to po aktualizacji parametr sef_advanced_link znika z pliku i ze strony ustawień, ale (UWAGA!) Nie z bazy danych, gdzie ustawienia są zapisywane po zapisaniu. Okazuje się, że po aktualizacji Joomla! Nie ma parametru na stronie ustawień, ale nadal działa. Problemy mogą wystąpić tylko wtedy, gdy ponownie zapiszesz ustawienia po aktualizacji Joomla !. W takim przypadku wartości ustawień zostaną przepisane w bazie danych już bez parametru sef_advanced_link, a kod użyje domyślnej wartości 0. W tym przypadku identyfikator elementów (na przykład materiały na stronie) zostanie ponownie dodany do adresu URL. Zachowaj ostrożność podczas zapisywania ustawień komponentu treści (lub innych komponentów systemu, w których musisz usunąć identyfikatory elementów z adresu URL) po aktualizacji Joomla!

W przyszłości?
W przyszłości?