Yebaniutky
05-01-2016, 15:42
Witam Państwa,
stawiam swoje www na J 3.4.8. Chciałem sobie pięknie uporządkować nazwy linków poprzez proste adresy i usunięcie z linków znaczników ID danych artykułów. O tyle o ile proste adresy wyszły pięknie tak z numerami ID jest problem. Tzn. numery ID znikły z linków, ale za to po otwarciu artykułów wyskakuje "404 COM_CONTENT_ERROR_PARENT_CATEGORY_NOT_FOUND". Jest tak zarówno w przypadku artykułów utworzonych przed usunięciem nr ID jak również w nowo utworzonych.
Do usunięcia ID stosowałem opis znaleziony w sieci:
Krok drugi - modyfikacja pliku router.php
Otwórz plik w edytorze programisty. Polecam stary, sprawdzony i darmowy Notepad++ (http://notepad-plus-plus.org).
Odszukaj w linii 27 kod:
$advanced = $params->get('sef_advanced_link', 0); Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Komentarz: jak widać, zmianie uległ tylko parametr 0 na 1.
Tak samo postępujemy w okolicy 260:
$advanced = $params->get('sef_advanced_link', 0);
Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Następnie w okolicy linii 282 musimy odszukać i zakomentować kod:
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
} Jednym zdaniem możemy zastąpić go poniższym kodem:
/*
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;<b></b>
}*/ Komentarz: jak widać, powyższy kod został wyłączony (objęty komentarzami).
Informacja: zmiany, które wprowadziliśmy, powinny już działać w Joomla! 2.5.
W Joomla! z linii 3.x konieczna jest jeszcze jedna zmiana:
Odszukujemy linię 386:
->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment))); Zmieniamy ją na:
->where($db->quoteName('alias') . ' = ' . $db->quote($segment)); Zapisujemy zmiany w edytowanym pliku, a następnie kopiujemy go z powrotem na serwer do miejsca, z którego po pobraliśmy: components/com_content/router.php.
Od tej pory możemy cieszyć się z idealnych przyjaznych adresów URL w naszej stronie internetowej zbudowanej w Joomla!
Dodam jeszcze. Że błąd 404 pojawia się wtedy kiedy zmienię linijki:
Odszukaj w linii 27 kod:
$advanced = $params->get('sef_advanced_link', 0); Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Komentarz: jak widać, zmianie uległ tylko parametr 0 na 1.
Tak samo postępujemy w okolicy 260:
$advanced = $params->get('sef_advanced_link', 0);
Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1);
stawiam swoje www na J 3.4.8. Chciałem sobie pięknie uporządkować nazwy linków poprzez proste adresy i usunięcie z linków znaczników ID danych artykułów. O tyle o ile proste adresy wyszły pięknie tak z numerami ID jest problem. Tzn. numery ID znikły z linków, ale za to po otwarciu artykułów wyskakuje "404 COM_CONTENT_ERROR_PARENT_CATEGORY_NOT_FOUND". Jest tak zarówno w przypadku artykułów utworzonych przed usunięciem nr ID jak również w nowo utworzonych.
Do usunięcia ID stosowałem opis znaleziony w sieci:
Krok drugi - modyfikacja pliku router.php
Otwórz plik w edytorze programisty. Polecam stary, sprawdzony i darmowy Notepad++ (http://notepad-plus-plus.org).
Odszukaj w linii 27 kod:
$advanced = $params->get('sef_advanced_link', 0); Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Komentarz: jak widać, zmianie uległ tylko parametr 0 na 1.
Tak samo postępujemy w okolicy 260:
$advanced = $params->get('sef_advanced_link', 0);
Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Następnie w okolicy linii 282 musimy odszukać i zakomentować kod:
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
} Jednym zdaniem możemy zastąpić go poniższym kodem:
/*
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;<b></b>
}*/ Komentarz: jak widać, powyższy kod został wyłączony (objęty komentarzami).
Informacja: zmiany, które wprowadziliśmy, powinny już działać w Joomla! 2.5.
W Joomla! z linii 3.x konieczna jest jeszcze jedna zmiana:
Odszukujemy linię 386:
->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment))); Zmieniamy ją na:
->where($db->quoteName('alias') . ' = ' . $db->quote($segment)); Zapisujemy zmiany w edytowanym pliku, a następnie kopiujemy go z powrotem na serwer do miejsca, z którego po pobraliśmy: components/com_content/router.php.
Od tej pory możemy cieszyć się z idealnych przyjaznych adresów URL w naszej stronie internetowej zbudowanej w Joomla!
Dodam jeszcze. Że błąd 404 pojawia się wtedy kiedy zmienię linijki:
Odszukaj w linii 27 kod:
$advanced = $params->get('sef_advanced_link', 0); Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1); Komentarz: jak widać, zmianie uległ tylko parametr 0 na 1.
Tak samo postępujemy w okolicy 260:
$advanced = $params->get('sef_advanced_link', 0);
Zmień powyższy kod na:
$advanced = $params->get('sef_advanced_link', 1);