déterminer onglet actif selon groupe de page statique
paysan hardi
Member
dans Entraide
bonjour, j'essaye de récupérer le groupe actif avec $plxShow->staticGroup()
pour l'utiliser dans un menu déroulant css sur header.php façon :
l'affichage étant de cette forme :
- $group=(string) staticGroup();
- $group= settype($group, "string");
- $group ="$group";
- $group ="'.$group.'";
...pas moyen d'obtenir ma condition, bref, je patauge !
Si une bonne âme venait à passer par là, merci de me sortir de la gadoue !
pour l'utiliser dans un menu déroulant css sur header.php façon :
[== PHP ==]
$group=$plxShow->staticGroup();
$class = ($group=="Accueil") ? 'class="active" ' : "";
l'affichage étant de cette forme :
[== HTML ==]
<div id="menu" class="content menu">
<ul>
<li <?php echo $class; ?>
><a href="index.php">Accueil</a>
<ul>
<li><a href="index.php?static15">Cahier des charges</a></li>
j'ai essayé :- $group=(string) staticGroup();
- $group= settype($group, "string");
- $group ="$group";
- $group ="'.$group.'";
...pas moyen d'obtenir ma condition, bref, je patauge !
Si une bonne âme venait à passer par là, merci de me sortir de la gadoue !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
je gardais print_r pour les tableaux, je pensais naïvement pouvoir nettoyer mon $group des "attributs" superflus avec une fonction
effectivement var_dump($plxShow->staticGroup()); affiche null et mon echo $group est vide...même si $plxShow m'affiche le staticGroup() actif
j'imagine que c'est une sorcellerie dûe à la POO...alors que j'en suis resté au basic V2 du commodore64...mais j'apprends doucement
Je retiens néanmoins la fonction : J'ai choisi $plxShow car déjà existant sur ma page (donc pas "d'instance" à créer,etc), si le staticGroup() actif s'affiche à l'écran, c'est bien que l'info passe par là, comment pourrais-je alors la stocker dans ma variable ?
Je me permet de reposer la question car j'imagine l'exemple transposable sur tous les "appels de fonctions par une classe" (cette dernière phrase étant le pur produit de mon imagination :cool: )...ceci dit la POO faut s'y mettre !
Cordialement,
j'ai trouvé une solution qui tourne sur mon tracteur : et j'affiche avec : ceci dit ça fait "branchement sauvage" sur class.plx.show.php (j'ai pas encore testé de le déplacer) et il y a surement de quoi faire rire ceux dont c'est le métier
en cas d'évolution, faudra en plus le retaper...maintenant j'ai pas encore les poils pour faire un plugin
en fait, je voulais pas trop faire de ligne pour 4 menus et 8 sous-menus
@danielsan : comment tu définis tes sous menus ?
[edit] si personne n'a de meilleure idée je marquerai résolu, merci ! [/edit]
J'ai pas été voir la fonction (donc méfie toi je me plante peut être), j'essaierai de verifier mes dires ASAP.
Mais dans ton cas je pense que la fonction AFFICHE (echo donc) au lieu de te renvoyer la valeur désirée, et c'est vrai que vu le nom de la classe (plxShow) c'est sa tâche !
Deux idées pour toi pour la suite :
[list=*]
[*]utiliser les fonctions ob_start & ob_get_clean autour de ta fonction pour capturer sa sortie et en faire ce que tu veux (attention c'est vraiment pas une bonne manière de faire, c'est très moche (vraiment du quick & very dirty) et je me tape 30 fois sur les doigts de te proposer ça)[/*]
[*]créer une fonction dans plxShow qui te renverrait la valeur au lieu de l'afficher, et pour ne pas dupliquer le code faire un echo subFonction() dans la fonction staticGroup() mais ici tu donnes une tâche qui n'est pas d'affichage à une classe qui est censé afficher des choses (pas super propre non plus)[/*]
[/list]
Le mieux c'est de jouer avec le plxMotor, après tout c'est à lui de faire ça ! Mais là j'ai pas le temps de me pencher sur ton cas pour l'instant =D
Tu peux accèder au nom du groupe par
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
je vais tester la solution de Steph, ça m'ouvrira p-e d'autres horizons, chuis un peu perdu sans les références table/champ
@Steph : beau bébé le pluxml, il ne pourra que grandir !
bonne journée à tous
[résolu] j'ai cherché mais pas trouvé le bouton, pas possible d'éditer le titre pour le rajouter, merci les modos de faire mon boulot :P [/résolu]