web-dev-qa-db-fra.com

Comment modifier les URL SEF pour supprimer la vue d'article de l'URL?

J'ai écrit un composant et créé un fichier router.php à l'aide de documents sur Joomla.org. Mon problème est que comment puis-je supprimer la vue d'article de l'URL?

Par exemple, j'ai cette vue -> musicses, maintenant mon URL SEF est comme ça

/music/99-2016-03-13-06-12-39/musics/3-music77.html?layout=article

Je veux le changer comme ça: /music/music77.html
music77 est mon titre pour cet article.

Ceci est mon code:

http://sandbox.onlinephpfunctions.com/code/bdcb649b90aae2b415e53054be7d65448cf3049

1
user8215

Jetez un coup d'œil sur le routeur com_content, la catégorie vue blog fonctionne comme ça, affiche une liste d'articles sous domain.com/blog et les liens sont générés comme suit domain.com/category/1-my-first-article

Mais cela permet aussi quelque chose comme ça:

domain.com/blog/1-my-first-article

Par conséquent, vous devez modifier votre génération de lien (JROUTE) dans votre composant pour l'élément, en supprimant la vue de l'élément. Vous pouvez créer manuellement le lien en analysant uniquement l'itinéraire vers la vue en liste, en attachant l'alias de l'élément à la chaîne d'URL.

Cela pourrait aussi être utile:

https://stackoverflow.com/questions/22116391/advance-url-sef-for-joomla-custom-component

(Je ne fais pas cela pour mes composants, je redirige simplement tout vers la vue principale puis vérifie les segments avec une classe de routeur externe.)

1
Dennis Heiden