Eliminar ID de artículo de Joomla 3 url

9

Estoy tratando de eliminar la identificación del artículo de una URL de Joomla 3. Busqué alrededor y la respuesta está en

components\com_content\router.php

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

en las líneas 38 y 290

y también comentó

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

Considero que funciona bien en Joomla 2.5 ya que todos los comentarios mencionan esto.

Pero no hace el trabajo por mí en mi sitio web Joomla 3.3.

¿Cómo puedo lograr esto sin crear elementos de menú para cada artículo?

mordaza
fuente
¿Tienes algun error?
Dmitry Rekun
Simplemente cree un enlace de menú para su artículo.
saibbyweb
Lodder: Sí, obtengo el enlace que quiero, pero tengo una página de error 404 en lugar de mi artículo.
mordaza
Saibbyweb: tengo más de 100 artículos y el número es para crecer hasta 500, por lo que no creo que sea una buena idea crear un menú para todo esto.
mordaza
Si la extensión K2 es una opción para usted, entonces puede lograr esto realmente fácil. K2 tiene opciones de enrutamiento avanzado, con las opciones necesarias. Puede importar sus artículos excitantes en K2. Consulte mi blog K2 y los enlaces readmore generados. Otra solución es usar algo como sh404sef o esperar este indiegogo.com/projects/advance-the-joomla-url-router/x/7216161
Agencia Joomla

Respuestas:

11

Paso 1

Edite "components / com_content / router.php", luego continúe en el paso 2. (Probablemente tendrá que repetir
este paso cada vez que actualice Joomla).

Paso 2

(Hay dos lugares para hacer este cambio, uno cerca de la parte superior, uno en el medio) Reemplace esto:

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

Con este:

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

Paso 3

Reemplazar

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

con

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

y tu estas listo.

saibbyweb
fuente
de nada @gag
saibbyweb
He intentado la solución anterior en mi sitio 3.3.3 en vano. El sitio completo quedaría en blanco.
5

Para cualquiera que no quiera ensuciarse con la edición del código de Joomla, mencionaremos que las extensiones SEF de terceros brindan la capacidad de eliminar los identificadores de las URL de SEF.

Hay muchas extensiones SEF que alguien puede encontrar en JED :

Por ejemplo , SH404SEF , es una de las extensiones de Joomla más populares y usadas, con una larga historia y soporte extendido por muchos componentes de terceros.

En cuanto a una solución más simple, recientemente encontré un nuevo complemento que proporciona algunas características que incluyen "Eliminar identificadores de artículos, categorías y etiquetas URL de SEF". Solución simple y fácil que funciona.

* Nota 1: Ambas extensiones mencionadas anteriormente son descargas pagas.

* Nota 2: hay otra pregunta similar en JSE .

FFrewin
fuente
Aprovechando esto, soy fanático de Direct Alias, que es un complemento que simplemente elimina los ID de artículos / categorías y nada más. Buena solución si no quieres un componente SEF completo. extensiones.joomla.org/extensions/extension/site-management/sef/…
YellowWebMonkey