Salut tout le monde, !
Voilà plusieurs jours que je tourne en rond avec mon router, dans mon composant perso, malgré toutes les pages web lues à ce sujet, tout me semble correct, mais visiblement je dois passer à coté de quelque chose, car mon router ne se charge pas.
En faisant volontairement un faute de syntaxe ou de logique dans le code du router, ca n'a aucune incidence à la visite de la page front de mon composant ce qui m'amène à penser qu'il ne se charge même pas.
Voici quelques détails, (à noter que je remplace volontairement la première partie du namespace pour le forum par Monnom)
pour commencer, le principal, le router : components/com_gixcomp/src/Service/Router.php
le lien de menu qui mène à ma page test est bien sûr gixcomp > cpanel et se nom "test" avec pour alias "test"
j'y accède via un module de menu joomla! simple
Le résultat :
l'url générée par Joomla! est :
test?view=cpanel
Le résultat attendu :
l'url qui devrait être générée par Joomla! est :
test
J'aurais beau modifier n'importe quoi dans mon router, ca ne sera bien sûr pas pris en compte, puisque même une erreur php ne fait rien, la question est : pourquoi mon router ne se charge pas, alors que je ne vois pas d'erreur dans le namespace ou dans le chemin de fichier (ou alors je vais chez l'ophtalmo demain)
je tourne en rond avec chat gpt qui me dit de le déclarer ici et là, alors que le namespace devrait suffire dans joomla! 4 &5 non ?
Merci d'avance pour vos lumières, j'ai vu que d'autres avaient le même souci, qui n'a pas été résolu, ou à moitié par des méthodes très sales qui rajoutent plein de fichiers et du code mixé de joomla! 3
Voilà plusieurs jours que je tourne en rond avec mon router, dans mon composant perso, malgré toutes les pages web lues à ce sujet, tout me semble correct, mais visiblement je dois passer à coté de quelque chose, car mon router ne se charge pas.
En faisant volontairement un faute de syntaxe ou de logique dans le code du router, ca n'a aucune incidence à la visite de la page front de mon composant ce qui m'amène à penser qu'il ne se charge même pas.
Voici quelques détails, (à noter que je remplace volontairement la première partie du namespace pour le forum par Monnom)
pour commencer, le principal, le router : components/com_gixcomp/src/Service/Router.php
Code PHP:
<?php
namespace Monnom\Component\Gixcomp\Site\Service;
use Joomla\CMS\Application\SiteApplication;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Component\Router\RouterView;
use Joomla\CMS\Component\Router\RouterViewConfiguration;
use Joomla\CMS\Component\Router\Rules\MenuRules;
use Joomla\CMS\Component\Router\Rules\NomenuRules;
use Joomla\CMS\Component\Router\Rules\StandardRules;
use Joomla\CMS\Menu\AbstractMenu;
\defined('_JEXEC') or die;
class Router extends RouterView
{
public function __construct(SiteApplication $app, AbstractMenu $menu)
{
$cpanel = new RouterViewConfiguration('cpanel');
$this->registerView($cpanel);
parent::__construct($app, $menu);
$this->attachRule(new MenuRules($this));
$this->attachRule(new StandardRules($this));
$this->attachRule(new NomenuRules($this));
}
}
j'y accède via un module de menu joomla! simple
Le résultat :
l'url générée par Joomla! est :
test?view=cpanel
Le résultat attendu :
l'url qui devrait être générée par Joomla! est :
test
J'aurais beau modifier n'importe quoi dans mon router, ca ne sera bien sûr pas pris en compte, puisque même une erreur php ne fait rien, la question est : pourquoi mon router ne se charge pas, alors que je ne vois pas d'erreur dans le namespace ou dans le chemin de fichier (ou alors je vais chez l'ophtalmo demain)
je tourne en rond avec chat gpt qui me dit de le déclarer ici et là, alors que le namespace devrait suffire dans joomla! 4 &5 non ?
Merci d'avance pour vos lumières, j'ai vu que d'autres avaient le même souci, qui n'a pas été résolu, ou à moitié par des méthodes très sales qui rajoutent plein de fichiers et du code mixé de joomla! 3
Commentaire