Ticket #2006 (closed defect: fixed)
SimpleMenu : permettre URL commençant par "?"
Reported by: | Mirovinben | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | 2.13 |
Component: | module:plugins | Version: | |
Severity: | normal | Keywords: | |
Cc: |
Description
Dans le plugin SimpleMenu?, si l'on saisit une URL commençant par "?", le mécanisme qui ajoute "active" au style de l'item si la page/billet affichée correspond à cette URL ne fonctionne plus.
Proposition : Dans _public.php après la ligne #84 :
$href = $m['url'];
insérer :
if (strpos($href,'?') === 0){$href = rtrim($home_url,'?').$href;}
Change History
comment:3 Changed 9 years ago by Mirovinben
Je suppose et espère qu'une URL commençant par "?" et qui fonctionne bien actuellement est pérenne et valide...
Je souhaite l'implémentation de cette modif pour me faciliter l'import en local d'un nouveau multiblog en ligne qui utilise ce plugin. Pas facile de convertir simplement les URL stockées dans l'unique setting de SimpleMenu? présent dans system. A moins que je trouve un autre moyen (.htaccess ?) pour faire une transposition des URL "lignes" vers URL "locales".
Remarques :
-1- bien sûr, cette modification ne vaut que si le blog est en QUERY_STRING.
-2- si elle n'est pas mise en œuvre "officiellement", elle le sera de toute façon chez moi...
comment:4 Changed 9 years ago by Mirovinben
Complément : j'ai besoin de faire un import en local assez souvent, genre une fois par semaine.
comment:5 Changed 9 years ago by franck
En effet ton URL est bien valide et conforme à la RFC.
Par contre ta proposition de patch me gène, virer un ? en début de ligne ne me semble pas la bonne solution (à vérifier), ou alors le contrôle n'est pas suffisant…
Peux-tu m'indiquer un exemple d'URL enregistrée dans simpleMenu et l'URL effectivement affichée dans ton navigateur, et pour lesquelles la classe active n'est pas positionnée correctement ?
comment:6 Changed 9 years ago by Mirovinben
Je vire le "?" en début pour ne pas en avoir 2 (un à la fin de $home_url + celui qui est au début de $href dans mon cas) dans l'URL finalisée.
Exemple (site en local) où la classe "active" manque :
- dans l'admin de SimpleMenu? / Liste des items de menu URL enregistrée : "?pages/Association"
- dans la barre d'adresse de Firefox : " http://mrvb/www.autrepart39.com/index.php?pages/Association"
Exemple (site en local) où la classe "active" est ok :
- dans l'admin de SimpleMenu? / Liste des items de menu URL enregistrée : "/www.autrepart39.com/index.php?pages/Outils"
- dans la barre d'adresse de Firefox : " http://mrvb/www.autrepart39.com/index.php?pages/Outils"
Remarque : Dans mon environnement local, www.autrepart39.com est un sous-répertoire de /mrvb (racine de mon serveur web), contrairement au site en ligne qui a son propre hébergement et son propre nom de domaine.
comment:7 Changed 9 years ago by franck
Mais au fait, puisque dans les réglages du blog ton URL est …/index.php? pourquoi mets-tu un ? au début de l'URL dans simpleMenu ? C'est redondant, non ?
comment:8 Changed 9 years ago by Mirovinben
- J'avais essayé sans le "?" au début : erreur 404 car " http://mrvb/www.autrepart39.com/pages/Association" ne correspond à rien
- J'avais essayé avec "index.php?" au début : pas d'erreur 404 mais pas de classe "active"
Quant au classique "/index.php?" placé au début : erreur 404 car " http://mrvb/index.php?pages/Association" n'existe pas.
comment:9 Changed 9 years ago by franck
On dirait que t'as un problème avec ton .htaccess local
C'est quoi l'URL de ton blog en local ?
comment:10 Changed 9 years ago by Mirovinben
- J'utilise wamp
- pas de .htaccess en local à la racine M:/www
- C:\Windows\System32\drivers\etc\hosts :
127.0.0.1 localhost 127.0.0.1 mrvb
- www/index.php pointe vers mon site portail
- dotclear "mirovinben" dans www/dc2
- blog "mirovinben" via www/blog/index.php
- dotclear "autrepart39" dans www/www.autrepart39.com/dc
- site "autrepart39" via www/www.autrepart39.com/index.php
Si tu veux, on peut continuer par mail...
comment:11 Changed 9 years ago by Mirovinben
Donc URL du blog dont on cause : http://mrvb/www.autrepart39.com/index.php?
comment:14 Changed 6 years ago by franck <carnet.franck.paul@…>
- Status changed from new to closed
- Resolution set to fixed
(In [1c6a535772c8]) Cope with query part only in SimpleMenu? URLs, should fix #2006
Est-ce une URL renseignée "à la main" ou bien générée après choix d'un type connu ?
A priori, une URL (absolue ou relative) ne peut commencer par un ?