Rimuovi l'ID articolo dall'URL di Joomla 3


9

Sto cercando di rimuovere l'id dell'articolo da un URL Joomla 3. Ho cercato in giro e la risposta è dentro

components\com_content\router.php

passare 0a 1in$advanced = $params->get('sef_advanced_link', 1);

sulle linee 38 e 290

e anche commentato

if (strpos($segments[0], ':') === false) {
    $vars['view'] = 'article';
    $vars['id'] = (int)$segments[0];
    return $vars;
}

Penso che funzioni bene in Joomla 2.5 poiché tutti i commenti menzionano questo.

Ma non fa il lavoro per me sul mio sito Web Joomla 3.3.

Come posso raggiungere questo obiettivo senza creare voci di menu per ogni articolo?


Hai qualche errore?
Dmitry Rekun,

Crea semplicemente un link al menu per il tuo articolo.
saibbyweb,

Lodder - Sì, ottengo il link che desidero, ma ho una pagina di errore 404 invece del mio articolo.
Bavaglio

Saibbyweb - Ho più di 100 articoli e il numero è di crescere fino a 500, quindi non credo sia una buona idea creare un menu per tutti questi.
Bavaglio

Se l'estensione K2 è un'opzione per te, puoi ottenerla davvero facilmente. K2 ha opzioni per il routing avanzato, con le opzioni necessarie. Puoi importare i tuoi articoli esistenti in K2. Controlla il mio blog K2 e i collegamenti readmore generati. Un'altra soluzione è utilizzare qualcosa come sh404sef o aspettare per questo indiegogo.com/projects/advance-the-joomla-url-router/x/7216161
Joomla Agency

Risposte:


11

Passo 1

Modifica "componenti / com_content / router.php", quindi continua al passaggio 2.
(Probabilmente dovrai ripetere questo passaggio ogni volta che aggiorni Joomla.)

Passo 2

(Ci sono due posti in cui è necessario apportare questa modifica, uno nella parte superiore, uno nel mezzo) Sostituire questo:

$advanced = $params->get('sef_advanced_link', 0);

Con questo:

$advanced = $params->get('sef_advanced_link', 1);

Passaggio 3

Sostituire

->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));

con

->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));

e hai finito.


prego @gag
saibbyweb,

Ho provato la soluzione di cui sopra sul mio sito 3.3.3 senza risultati. Il sito completo sarebbe vuoto.

5

Per chiunque non voglia sporcarsi con la modifica del codice Joomla, menzioneremo che le estensioni SEF di terze parti offrono la possibilità di rimuovere gli ID dagli URL SEF.

Ci sono molte estensioni SEF che qualcuno può trovare in JED :

Ad esempio SH404SEF , è una delle estensioni Joomla più popolari e utilizzate, con una lunga storia e supporto esteso da molti componenti di terze parti.

Per quanto riguarda una soluzione più semplice, di recente mi sono imbattuto in un nuovo plug-in che offre alcune funzionalità tra cui "Rimuovi ID da articolo, categorie e tag URL SEF". Soluzione semplice e facile che funziona.

* Nota 1: entrambe le estensioni sopra menzionate sono download a pagamento.

* Nota2: c'è un'altra domanda simile in JSE .


A proposito di questo, sono un fan di Direct Alias ​​che è un plug-in che rimuove solo gli ID articolo / categoria e nient'altro. Bella soluzione se non vuoi un intero componente SEF. extensions.joomla.org/extensions/extension/site-management/sef/…
YellowWebMonkey

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.