logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
47 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 406 109

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Questions »» Mettre en surbrillance un item d'une liste

Nouveau sujet
 Mettre en surbrillance un item d'une liste#26307Répondre

4Contributeur(s)
SylvainB-MagAnonymeJireck
3 Modérateur(s)
developpeurjpbJireck
Sylvain Sylvainicon_post
Bonjour,
j'ai un bloc qui contient des renvois pour toutes les pages d'une rubrique. Comment mettre en surbrillance (ou surligner) le nom de la page où on se trouve?
Exemple pour la page 2:
http://busmuli.chez.com/sections.php?op=viewarticle&artid=3&page=[page2]

Merci.
B-Mag B-Magicon_post
slt

J'étais sur que cette question allait suivre ... ;-)
On est bien ds ce fichu "chemin de fer" qui n'existe pas sur Npds où plutot pas partout.

Une idée à faire valider par les codeurs

faire un menu avec du php ds le bloc et une class css qui va bien



    <?php 
if ($nav_en_cours == 'rubrique1') {echo ' id="en-cours"';} ?>>Rubrique 1
    Rubrique 2




et ds la CSS du theme

 #en-cours a {
    background-color: #91BD09;
    color: #fff;



Mais là faut que JI ou Dev vous valide ce genre de truc

j'avais trouvé ça sur cette page: http://www.alsacreations.com/astuce/lire/28-styles-lien-page-en-cours.html

autre lien qui parle de la question: "Vous êtes ICI"

http://www.fastclemmy.com/index.php?viewlog=98_vous-etes-ici


Message édité par : B-Mag / 19-05-2015 09:11

Anonyme Anonymeicon_post
Validation de JI :=!
B-Mag B-Magicon_post
Slt
Les deux articles proposent une approche différente
, il faut l'avis d'une personne connaissant bien le fonctionnement de npds et faire le bon choix en terme de sécurité.
:-o
Jireck Jireckicon_post
Le plus simple a mon avis etant de detourner la gestion des titres dans le fichier sections.php afin de faire le chemin de fer.

Sinon via le bloc (que je ne connais pas) il faut simplement checker la variable $pages et lui adresse une classe valide.

du genre


switch ($pages){
   case 1 :
     $class1 = "class=\"active\"";
   break;
   case 2 :
     $class2 = "class=\"active\"";
   break;
   case 3 :
     $class3 = "class=\"active\"";
   break;
   ....
}


Et de mettre les variables qui vont bien a la bonne place
Sylvain Sylvainicon_post
Bon, j'y suis arrivé.
J'ai d'abord créé un sélecteur "id" dans le style.css de mon thème pour fixer les couleurs de la ligne sélectionnée:

#en-cours {
    text-decoration: none;
    background-color: #EEE;
    font-weight: bold;
    color: #277dd4;
}


J'ai complètement reporté la création de la liste des pages dans un fichier Pages_liste.php:

function Indexpages() {
   global $numpage;
   $numeropage= substr(substr($numpage,5),0,-1);
If ($numeropage!="") {
   $textpage="<div class=\"rightbloc\"><h3>Wakonai</h3><div class=\"bloc\"><ul>";
   if ($numeropage==0)  {
      $textpage.="<li><a href=\"sections.php?op=viewarticle&artid=3&page=[page0]\" id=\"en-cours\">Introduction</a></li>";
      } else {
      $textpage.="<li><a href=\"sections.php?op=viewarticle&artid=3&page=[page0]\">Introduction</a></li>";
   }  
      for ($i = 1; $i <= 12; $i++) {
         if ($numeropage==$i) {
            $textpage.="<li><a href=\"sections.php?op=viewarticle&artid=3&page=[page";
            $textpage.="$i]\" id=\"en-cours\">Page $i</a></li>";
            } else {
            $textpage.="<li><a href=\"sections.php?op=viewarticle&artid=3&page=[page";
            $textpage.="$i]\">Page $i</a></li>";
         }   
      }
   $textpage.="</ul></div></div>";
   echo "$textpage";
   }
}


Dans le code du bloc je mets:

uri#sections.php?op=viewarticle&artid=3 sections.php?*&op=viewarticle&artid=3
!include!#modules/mesmodules/Pages_liste.php
function#Indexpages


Le uri# sélectionne les pages d'affichage.
Le !include!# appelle le programme précédent.
Et le function# exécute la construction du bloc.
Attention, des erreurs sont introduites par l'éditeur!

Voici le résultat:
http://busmuli.chez.com/sections.php?op=viewarticle&artid=3&page=[page0]
Vous remarquerez que maintenant les numéros de page de plus d'un caractère sont gérées.
Sylvain Sylvainicon_post
Le seul problème ici est l'espace entre le début du fichier de texte et la première balise [pageX]. Cette partie est appelée avec l'adresse seule alors que les autres pages sont appelées par l'adresse&page=[pageX].
J'ai détourné la difficulté en mettant [page0] à la première ligne du fichier.