Questo metodo funziona sia per la versione 2.5 Joomla sia per la versione 3. Lo svantaggio di questo metodo è che ogni volta che si aggiorna la versione di Joomla bisogna rifare le modifiche al file, o semplicemente sovrascriverlo con uno che terremo conservato.
Il file oggetto di modifica è router.php che si trova nel percorso:
tuosito / components / com_content / router.php.
Cercare la riga (circa 27):
$advanced = $params->get('sef_advanced_link', 0);
E sostituirla con:
$advanced = $params->get('sef_advanced_link', 1);
Trovare la riga (in Joomla 2,5 - circa la riga 228; in Joomla 3 - 250):
$advanced = $params->get('sef_advanced_link', 0);
Sostituirla con:
$advanced = $params->get('sef_advanced_link', 1);
Ora scendiamo un po’ giù (in Joomla 2.5 – la riga 228; in Joomla 3 – la riga 272) e troviamo questo pezzo di codice:
if (strpos($segments[0], ':') === false)
{
$vars['view'] = 'article';
$vars['id'] = (int) $segments[0];
return $vars;
}
Lo commentiamo, facendo cosi il codice non sarà più attivo. Per inserire i commenti usiamo: /**/
Quindi avremo:
/*if (strpos($segments[0], ':') === false)
{
$vars['view'] = 'article';
$vars['id'] = (int) $segments[0];
return $vars;
}*/
Ora i link dei articoli sul vostro sito in Joomla 2.5/3 vengono visualizzati senza ID. In Joomla 3 potrete trovare l'errore 404 utilizzando questo metodo, in particolar modo nelle prime versioni, consigliamo di aggiornare prima di eseguire la modifica e non sarà necessario proseguire oltre a quello già fatto, perché la parte che vedremo tra poco la troveremo già modificata nelle nuove versioni.
Sempre nello stesso file router.php:
tuosito/ components / com_content / router.php
trovare la riga 376 (in diverse versioni di Joomla questa riga può essere diversa):
->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));
E sostituirla con:
->where($db->quoteName('alias') . ' = ' . $db->quote($segment));
Fatto ciò, tutti i link apriranno le pagine correttamente e senza errori, senza riportare ID.