web-dev-qa-db-fra.com

URL dynamiques (alias) basées sur une variable

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?

2
Jacques

Il y a au moins 2 façons de le faire et chacune d’elles nécessite un programmeur expérimenté:

Création d'un routeur personnalisé

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

Créer un plugin système personnalisé

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.

0
Artur Stępień