Próbuję usunąć identyfikator artykułu z adresu URL Joomla 3. Rozejrzałem się i odpowiedź jest gotowa
components\com_content\router.php
zmiana 0
do 1
IN$advanced = $params->get('sef_advanced_link', 1);
na liniach 38 i 290
i również skomentował
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}
Uważam, że działa dobrze w Joomla 2.5, ponieważ wszystkie komentarze o tym wspominają.
Ale to nie działa dla mnie na mojej stronie Joomla 3.3.
Jak mogę to osiągnąć bez tworzenia pozycji menu dla każdego artykułu?
joomla-3.x
php
url
knebel
źródło
źródło
Odpowiedzi:
Krok 1
Edytuj „components / com_content / router.php”, a następnie przejdź do kroku 2.
(Prawdopodobnie będziesz musiał powtórzyć ten krok przy każdej aktualizacji Joomla.)
Krok 2
(Są dwa miejsca, w których trzeba dokonać tej zmiany, jedno u góry, jedno w środku) Zastąp to:
$advanced = $params->get('sef_advanced_link', 0);
Z tym:
$advanced = $params->get('sef_advanced_link', 1);
Krok 3
Zastąpić
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));
z
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));
i jesteś skończony.
źródło
Dla każdego, kto nie chce się ubrudzić edycją kodu Joomla, wspomnimy, że rozszerzenia SEF innych firm umożliwiają usuwanie identyfikatorów z adresów URL SEF.
Istnieje wiele rozszerzeń SEF, które można znaleźć w JED :
Na przykład SH404SEF , jest jednym z najbardziej popularnych i używanych rozszerzeń Joomla, z długą historią i rozszerzoną obsługą wielu komponentów innych firm.
Jeśli chodzi o prostsze rozwiązanie, niedawno natknąłem się na nową wtyczkę, która oferuje kilka funkcji, w tym „Usuń identyfikatory z artykułów, kategorii i tagów adresów URL SEF”. Proste i łatwe rozwiązanie, które działa.
* Uwaga 1: oba wyżej wymienione rozszerzenia są płatnymi plikami do pobrania.
* Uwaga 2: w JSE istnieje inne podobne pytanie .
źródło
Oprócz istniejących odpowiedzi w Joomla 3.7.0 znajduje się nowy router, który prawdopodobnie rozwiąże ten problem.
Joomla 3.7.0 zostanie wkrótce wydana. Aby uzyskać szczegółowe informacje, zobacz:
https://www.joomla.org/announcements/release-news/5695-joomla-3-7-0-alpha-2-released.html
źródło