J'essaie de supprimer l'ID d'article d'une URL Joomla 3. J'ai cherché autour et la réponse est
components\com_content\router.php
changement 0
à 1
en$advanced = $params->get('sef_advanced_link', 1);
sur les lignes 38 et 290
et a également commenté
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}
Je considère que cela fonctionne bien dans Joomla 2.5 car tous les commentaires le mentionnent.
Mais il ne fait pas le travail pour moi sur mon site Joomla 3.3.
Comment puis-je y parvenir sans créer d'éléments de menu pour chaque article?
joomla-3.x
php
url
gag
la source
la source
Réponses:
Étape 1
Modifiez «components / com_content / router.php», puis passez à l'étape 2.
(Vous devrez probablement refaire cette étape chaque fois que vous mettrez à jour Joomla.)
Étape 2
(Il y a deux endroits nécessaires pour effectuer ce changement, un près du haut, un au milieu) Remplacez ceci:
$advanced = $params->get('sef_advanced_link', 0);
Avec ça:
$advanced = $params->get('sef_advanced_link', 1);
Étape 3
Remplacer
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));
avec
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));
et tu as fini.
la source
Pour tous ceux qui ne veulent pas se salir avec l'édition de code Joomla, nous mentionnerons que les extensions SEF tierces offrent la possibilité de supprimer les identifiants des URL SEF.
Il existe de nombreuses extensions SEF que quelqu'un peut trouver dans JED :
Par exemple SH404SEF , est l'une des extensions Joomla les plus populaires et utilisées, avec une longue histoire et une prise en charge étendue par de nombreux composants tiers.
Quant à une solution plus simple, je suis récemment tombé sur un nouveau plugin qui fournit quelques fonctionnalités dont "Supprimer les identifiants des articles, des catégories et des balises des URL SEF". Solution simple et facile qui fonctionne.
* Remarque 1: les deux extensions mentionnées ci-dessus sont des téléchargements payants.
* Remarque 2: il existe une autre question similaire dans JSE .
la source
En plus des réponses existantes, un nouveau routeur est inclus dans Joomla 3.7.0 qui résoudra probablement ce problème.
Joomla 3.7.0 devrait bientôt sortir. Pour plus de détails, voir:
https://www.joomla.org/announcements/release-news/5695-joomla-3-7-0-alpha-2-released.html
la source