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
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.)