class du lien "BLOG" active/noactive

danielsandanielsan Member
juillet 2011 modifié dans Modifications
Hello,

j'ai utilisé une page static pour la page d'accueil,
j'ai le lien BLOG qui apparaît, cool.

Lorsque nous cliquons sur une de ces pages static,
son lien se retrouve avec la class "active"
et nous pouvons donc changer son apparence.
Génial pour indiquer au visiteur sur quelle page static il se trouve.
( dans mon cas, c'est accueil / à propos / contact / blog )

Hors lorsque je clique sur Blog, sa class est bien "active",
MAIS si je clique sur un billet sa class devient "noactive"
alors que nous sommes toujours dans la partie BLOG
et nous perdons son apparence,
c'est balo ça ! :|

Je ne sais pas si vous avez le même soucis ou la même demande,
mais je poste au cas où ici ma modif':

dans le fichier \core\lib\class.plx.show.php , vers la fin, remplacez
$name = str_replace('#page_status',(preg_match('/^blog.php/', basename($_SERVER['SCRIPT_NAME']))?'active':'noactive'),$name);
par
if (preg_match('/static/', $_SERVER['QUERY_STRING'])) {
				$name = str_replace('#page_status','noactive',$name);
			} else {
				$name = str_replace('#page_status','active',$name);
			}
en gros ça dit que:
si nous sommes sur une page static, la class du lien blog sera "noactive",
sinon elle sera "active".


méthode un peu brutale ... je n'arrive pas à traduire
sur toutes les pages sauf les "static" la class du lien blog sera "active" ... :P

Si quelqu'un pense que cette ligne peut se condenser ou s'enjoliver, merci !

_____
D.San

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Intéressant. Je vais regarder . merci

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bon ben ta modif fonctionne très bien: adoptée !

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • wouah, marki !
  • Bonjour,

    j'ai toujours un problème à ce niveau de mon côté (pluxml 5.1.2)

    Menu :
    <ul>
    		<?php $plxShow->staticList($plxShow->getLang('HOME'),'<li id="#static_id" class="#static_status"><a href="#static_url">#static_name</a></li>'); ?>
    		<?php $plxShow->pageBlog('<li id="#page_id" class="#page_status"><a href="#page_url">Personal Notes</a></li>'); ?>
    </ul>
    
    Lorsque je suis sur la page "blog" j'ai Home + Blog en active.
  • grenouillegrenouille Member
    juillet 2011 modifié
    eh bien moi j ai l'inverse
    quand je reviens sur la page home, blog reste en active
    et quand je vais sur blog, home devient noactive
  • Au temps pour moi, le symtôme est en fait que j'ai 2 classes noactive lorsque je suis sur la page d'accueil : l'accueil et blog.

    Sur blog, je n'ai que blog (et sur toute autre page statique, je n'ai que la page en question)
  • LittleBopLittleBop Member
    juillet 2011 modifié
    La condition devrait être :

    Si la home est une page static et qu'elle est active ET que la page demandée n'est ni la home ni une page statique, alors pageBlog est active
    sinon, noactive


    Du coup, ça fait un peu bricole... mais j'ai fait ça
    $home = empty($_SERVER['QUERY_STRING']) &&  ! preg_match('/^blog.php/', basename($_SERVER['SCRIPT_NAME']));
    			if ($home || preg_match('/static/', $_SERVER['QUERY_STRING'])) {
    				$name = str_replace('#page_status','noactive',$name);
                } else {
    				$name = str_replace('#page_status','active',$name);
    			}
    
    Je ne connais pas assez le framework pour faire un truc propre qui ressemble à quelque chose !
  • ben ma contrib' n'a pas duré ! :lol::lol::lol:
    J'ai la même chose chez moi ;)
Connectez-vous ou Inscrivez-vous pour répondre.