PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 30/04/2016 16:37:25

NaBiSs
Membre
Inscription : 14/10/2010
Messages : 54

[RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Bonjour à tous,

je viens de découvrir un comportement assez étrange, j'avais mis en place la solution Bootstrap pour tracker le positionnement du scroll sur la page.

Lien : scrollspy Bootstrap

Cela permet de mettre en surbrillance mon sous-menu en fonction de la position de l'utilisateur sur la page.

Tout fonctionnait jusqu'à ce que j'active l'Url Rewrite de PluXML.

Et depuis, mes scripts basés sur un lien avec une ancre ne fonctionnent plus.

Par exemple j'ai aussi un script "SmoothScroll" pour avoir un effet de transition entre deux ancres sur la page, lui non plus ne fonctionne plus.

Est-ce que quelqu'un a déjà identifié ce comportement ? Éventuellement, il y a t'il une solution pour qu'un lien soit ignoré de l'Url Rewrite ?

Dernière modification par NaBiSs (03/05/2016 20:36:55)

Hors ligne

#2 30/04/2016 18:54:42

kowalsky
Membre
Inscription : 20/08/2015
Messages : 278
Site Web

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Salut NaBiSs,

Tu es sur quelle version de PluXml ? Ce comportement est-il toujours présent si tu désactives tous les plugins ? Ce comportement disparait-il lorsque tu désactives l'URL rewriting ?
Sous quelle forme sont enregistrées les URL de tes ancres ? <a href="#home">home</a> ou <a href="http://monsite.com/index.php#home">home</a>

Hors ligne

#3 02/05/2016 21:02:33

NaBiSs
Membre
Inscription : 14/10/2010
Messages : 54

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Salut kowalsky, et merci pour ton intérêt sur la question.

Alors pour répondre à tes questions :

  • J'ai testé sur les deux versions 5.4 et 5.5, même comportement (ou presque)

  • Le comportement est toujours présent en désactivant tous les plugins

  • Quand je désactive l'Url Rewriting, tout refonctionne

  • Mes urls sont enregistrées dans une page statique, de cette façon : <a href="#home">home</a>

En première analyse, je pense que l'Url Rewriting transforme les urls relatives en absolues, d'où probablement le fait que le javascript ne soit plus opérant puisqu'il doit détecter que les urls relatives sous forme d'ancres.

Entre 5.4 et 5.5, j'ai mis "ou presque" car elles sont gérées différemment par PluXML, il y a dû y avoir une modification.
5.4 => avec un lien de ce type <a href="#home">home</a>, il est transformé en http://racine/staticX/page#home
5.5 => c'est transformé en http://racine/#home et le lien est mauvais. Ceci étant ça se corrige facilement avec <?php $plxShow->urlRewrite('indexe.php?staticX/') ?>

Hors ligne

#4 03/05/2016 11:44:24

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 172
Site Web

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Bonjour

J'ai identifié des bugs dans la réécriture d'url. J'en parle ici:
https://github.com/pluxml/PluXml/issues/174
On est peut être dans ce cas de figure.
ça serait intéressant que tu reportes les modifs proposées pour voir si ça bug toujours


== EN VACANCES ... ENFIN !!! ==
Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#5 03/05/2016 11:45:57

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 172
Site Web

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Si tu peux tester ça stp


Dans le fichier core/lib/class.plx.utils.php, fonction rel2abs, remplacer:

$patterns = array('#(href)=("|\')(mailto:|news:)#i', '#(href|src)=("|\')([a-z]+://)#i', '#(href|src)=("|\')(?:\./)?([^/])#i'); 

par

$patterns = array('#(href|src)=("|\')(\#|javascript|data:|mailto:|news:)#i', '#(href|src)=("|\')([a-z]+://)#i', '#(href|src)=("|\')(?:\./)?([^/])#i'); 

Merci


== EN VACANCES ... ENFIN !!! ==
Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#6 03/05/2016 20:36:00

NaBiSs
Membre
Inscription : 14/10/2010
Messages : 54

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Salut Stéphane et merci pour ton retour.

Effectivement, ta proposition solutionne mes problèmes, tout mes scripts refonctionnent sans exception avec la réécriture d'URL activée.

À ceux qui ont le même problème et qui liront, cette modification n'est valable que sur la v5.5 de PluXML.

Comme d'habitude, merci smile

Hors ligne

#7 04/05/2016 07:44:38

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 172
Site Web

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

@NaBiSs: merci pour la confirmation


== EN VACANCES ... ENFIN !!! ==
Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#8 12/05/2016 17:41:04

Pixel
Membre
Inscription : 22/03/2016
Messages : 6

Re : [RÉSOLU] BOOTSTRAP et ScrollSpy avec l'Url Rewrite PluXML

Bonjour, j'utilisais la balise "tel:" pour que les visiteurs mobile puisse cliquer directement le numéro de téléphone. Mais avec la 5.5 Pluxml rajouter .http://www.monsite.fr avant le tel:. Du coup j'ai rajouté "tel:" dans la ligne de code de Stéphane :

[== PHP ==]
$patterns = array('#(href|src)=("|\')(\#|javascript|data:|mailto:|tel:|news:)#i', '#(href|src)=("|\')([a-z]+://)#i', '#(href|src)=("|\')(?:\./)?([^/])#i');

Du coup ça fonctionne.

Merci pour le code.

Dernière modification par Pixel (15/05/2016 03:49:40)

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés