Re : Aide pour la réécriture d'URL
Merci Cavo,
Oui en fait j'ai créer un lien de menu pour la page d'accueil du composant, qui est la page de départ vers les différentes fiches contenus dans différentes catégories de la vernithèque.
Joomla a bien trouvé mon composant se référant à l'ItemId, le problème c'est que mon composant ne renvois pas les variables de requete à Joomla.
A la sortie de ParseRoute(), voici ce que j'ai :
En fait si Joomla! affiche un article c'est un pur hasard, c'est parce qu'il se trouve qu'il y a un article ayant cet ID (exemple "http://localhost/lafoliedesvernis/vernitheque/vernis/8-le-vernis-banane.html" 8 est un ID existant), donc du coup il se rabat sur "com_content" et le charge, mais sinon si je tape une autre URL (par exemple : "http://localhost/lafoliedesvernis/vernitheque/vernis.htm") ça m'affiche une erreur 404.
Donc on en revient bien au problème de départ... il s'agit bien de donner à Joomla! les bonnes variables !
Mais diable comment faire ???
Merci Cavo,
Oui en fait j'ai créer un lien de menu pour la page d'accueil du composant, qui est la page de départ vers les différentes fiches contenus dans différentes catégories de la vernithèque.
Joomla a bien trouvé mon composant se référant à l'ItemId, le problème c'est que mon composant ne renvois pas les variables de requete à Joomla.
A la sortie de ParseRoute(), voici ce que j'ai :
Code PHP:
//code récupérant les variables chargées définies au niveau de l'ItemId
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getActive();
var_dump($item->query);
//resultat du var_dump
array
'option' => string 'com_vernitheque' (length=15)
'view' => string 'featured' (length=8)
'sample' => string '' (length=0)
'mytextvalue' => string 'Some text' (length=9)
Donc on en revient bien au problème de départ... il s'agit bien de donner à Joomla! les bonnes variables !
Code PHP:
//Il faut transformer ceci :
array
'option' => string 'com_vernitheque' (length=15)
'view' => string 'featured' (length=8)
'sample' => string '' (length=0)
'mytextvalue' => string 'Some text' (length=9)
//En cela (tout en guardant le même ItemId) :
array
'option' => string 'com_vernitheque' (length=15)
'view' => string 'vernis' (length=8)
'id' => string '8' (length=0)
Commentaire