Module réécriture url
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
J'ai fait un module, mais je comprends pas pourquoi la réécriture de l'url ne se fait pas
J'ai pourtant mis ça dans l'index:
Code PHP :
new UrlControllerMapper('ChatMyChannels', '`^/mychannels/?$`'),
mais <a href="http://localhost/chat/mychannels">http://localhost/chat/mychannels</a> => erreur 404
Merci de votre aide
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Est-ce que tu as pensé à l'url_mappings dans ton ExtensionPointProvider ?
Comme ici :
<a href="https://github.com/PHPBoost/PHPBoost/blob/master/articles/phpboost/ArticlesExtensionPointProvider.class.php#L62">https://github.com/PHPBoost/PHPBoost/blob/master/articles/phpboost/ArticlesExtensionPointProvider.class.php#L62</a>
j1.seth
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Oui bien sûr, mais ça ne fonctionne pas
<a href="http://localhost/chat/index.php?url=/mychannels">http://localhost/chat/index.php?url=/mychannels</a> <= Ca fonctionne
<a href="http://localhost/chat/mychannels">http://localhost/chat/mychannels</a> <= Ca ne fonctionne pas, du coup je comprends pas pourquoi :/
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Ah il faut rajouter ça ?
RewriteRule ^chat/([\w/_-]*)$ /chat/index.php?url=/$1 [L,QSA]
Apparemment ça fonctionne en rajoutant ça, c'est la bonne méthodologie ?
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Code PHP :
public function url_mappings() { return new UrlMappings(array(new DispatcherUrlMapping('/chat/index.php'))); }
Puis va dans l'administration avancée et validé la configuration (ou désinstalle et réinstalle ton module) et vidé le cache au cas où.
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
J'ai essayé ce que tu m'as dis mais ça ne fonctionne toujours pas :/
Dans index.php
Code PHP :
<?php //Insérer le copyright ici define('PATH_TO_ROOT', '..'); require_once PATH_TO_ROOT . '/kernel/init.php'; $url_controller_mappers = array( //Admin new UrlControllerMapper('ChatHomeController', '`^/?$`'), new UrlControllerMapper('ChatMyChannels', '`^/mychannels/?$`'), ); DispatchManager::dispatch($url_controller_mappers); ?>
Puis dans ChatUrlBuilder.class.php
Code PHP :
<?php class ChatUrlBuilder { private static $dispatcher = '/chat'; /** * @return Url */ public static function mychannels() { return DispatchManager::get_url(self::$dispatcher, '/mychannels/'); } } ?>
Édité par Myster Le 13/11/2019 à 15h54
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Dans l'index il faut inverser les 2 sinon ça envoie tout vers ChatHomeController.
MickaelFR Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre MickaelFR
- Inscrit le : 20/01/2014
- Site internet
- Groupes :
Je n'apporte rien, mais c'est quoi ton module @Myster ?
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie