Bonjour à tous,
Après avoir modifié les structure simplifiées dans "CONFIGURER > Paramètres de la boutique > Trafic et SEO" afin que l'identifiant s'affiche tout à la fin, j'observe que cela fonctionne correctement pour les URL de pages CMS (p. ex. "Mentions légales", "Conditions générales", etc.), mais pas pour les celles de catégories telles que présentes dans le menu principal, pour lesquelles l'identifiant de catégorie reste au début.
Dans le gestionnaire, la valeur du champ "Route vers la catégorie" est établie sur : {rewrite}-{id}
mais le menu s'obstine à créer les liens vers les catégories dans l'ordre {id}-{rewrite}.
J'ai jeté un coup d'oeil à classes/Link.php, ou la règle pour les catégories semble définie dans la fonction getCategoryLink:
$rule = 'category_rule'; // ligne 455 (...) return $url . Dispatcher::getInstance()->createUrl($rule, $idLang, $params, $this->allow, '', $idShop); // ligne 470
et surtout à classes/Dispatcher.php qui contient la méthode createUrl.
J'ai créé un double de "classes/Dispatcher.php", comme "/overrides/classes/Dispatcher.php" et j'ai modifié ce fichier à la ligne 31
class Dispatcher extends DispatcherCore
et à la ligne 63 et suivantes (cf. ligne 65):
'category_rule' => [ 'controller' => 'category', 'rule' => '{rewrite}-{id}', 'keywords' => [ 'id' => ['regexp' => '[0-9]+', 'param' => 'id_category'], 'rewrite' => ['regexp' => self::REWRITE_PATTERN], 'meta_keywords' => ['regexp' => '[_a-zA-Z0-9-\pL]*'], 'meta_title' => ['regexp' => '[_a-zA-Z0-9-\pL]*'], ],
Mais rien n'y fait : mon menu principal continue d'insérer l'identifiant de catégorie au début (et on à la fin) des URL simplifiées.
Je pense que le problème doit se trouver du côté de la fonction createUrl débutant à la ligne 945 de Dispatcher.php.
Cette fonction a une section "// Build an url which match a route" débutant à la ligne 987
et une section construisant une url par défaut, dès la ligne 1019.
Mon hypothèse est donc qu'une route n'est pas appelée pour construire l'URL de la catégorie.
Qui saurait m'indiquer la bonne direction ?