J'ai un composant avec plusieurs détaillants, basé sur les données d'une API.
Chaque détaillant a un lien "en savoir plus".
Maintenant, ce dont j'ai besoin, c'est de donner à chaque détaillant son propre alias, sans avoir à ajouter un alias/un élément de menu pour chaque détaillant dans le backend.
Donc, si je clique sur un lien spécifique "en savoir plus", l'URL normale (non-sef) ressemble à quelque chose comme:
https://www.mysite.com?index.php&option=com_wherecanisave&retailerID=1
Maintenant, dans la page cible, je fais à nouveau un appel à l'API et cherche le nom du détaillant. Ensuite, je veux que l'URL ressemble à ceci:
http://www.mysite.com/joes-car-wash
Comment puis-je y parvenir sans avoir à ajouter des alias au backend ou à la base de données?
Il y a au moins 2 façons de le faire et chacune d’elles nécessite un programmeur expérimenté:
Si vous utilisez un composant personnalisé, vous pouvez étendre le Router
et définir cette vue de composant comme page d'accueil (ainsi, son routeur de composant deviendra un routeur par défaut pour le site Web). Ici, vous trouverez une explication appropriée sur la manière de procéder.
https://docs.joomla.org/Supporting_SEF_URLs_in_your_component
Vous pouvez également essayer de créer un plugin système approprié et de le connecter à onAfterInitialise
et de travailler sur des redirections ou peut-être le routeur d'applications.