Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] tutors - pb récupération variable

Posted by Jihel on 08/06/2008 17:54

Bonjour à tous et merci pour cet excellent outil qu'est Jelix

Moi qui suis un 'dinosaure' (ça veut tout dire !) du développement, je suis totalement néophyte en POO et framework ! Je m'appuie sur l'application de base TUTOR pour tenter de comprendre et mettre en oeuvre une petite appli, en répliquant sommaire.tpl et sommaire.zone.php J'ai suivi le schéma présenté dans ce tuto mais je ne parviens à récupérer la variable $choix pour m'en servir afin de conditionner la classe choisie en CSS pour mettre en valeur l'option choisie du menu, dans sommaire.tpl :

 {if $choix == "un"} <li class="top current">
 {else} <li class="top">
 {/if} <a href="{jurl 'kok~default:index'}" class="top_link"><span>Accueil</span></a></li>

J'espère que je me fais bien comprendre, et je compte sur votre aide sympathique pour progresser avec cet outil. Un très grand merci d'avance pour votre aide Un dinosaure dur à la détente Jihel

  [Opened] Re: tutors - pb récupération variable (2)

Reply #1 Posted by Jihel on 08/07/2008 10:26

Pour être plus clair, je détaille quelque peu ce que j'ai fais :

tpl_menu.tpl :

 <ul id="nav">
 
 	{if $choix == "un"} <li class="top current">
 	{else} <li class="top">
 	{/if} <a href="{jurl 'kok~default:index'}" class="top_link"><span>Accueil</span></a></li>
 
 	{if $choix == "deux"} <li class="top current">
 	{else} <li class="top">
 	{/if} <a href="{jurl 'kar~default:index'}" class="top_link"><span>Karaokés</span></a></li>
 
 </ul>

menu.zone.php :

 class menuZone extends jZone {
 
 	protected $_tplname="tpl_menu";
 	
 	protected function _prepareTpl () {
       $choix = $this->getParam('choix');
       if(isset($choix)){
         $this->_tpl->assign('choix', $choix);
       }else{
         $this->_tpl->assign('choix', '');
       }
       $this->_tpl->assign('menu','kok~tpl_menu');
 
 	}
 }

default.classic.php :

 class defaultCtrl extends jController {
     function index() {
        $rep = $this->getResponse('html');
 	$rep->title = 'Ma KaraOteK';
 	$rep->body->assign('MAIN','Karaokés');
 	$rep->body->assignzone('menu', 'kok~menu', array('choix'=>'deux'));	  
        return $rep;
     }	
 }

Je ne comprends toujours pas pourquoi je ne peux récupérer la valeur de $choix dans le template pour afficher un code couleur différent, le code source de la page affichée me met toujours la classe "top" Merci encore et d'avance pour votre aide Cordialement JiheL

  [Opened] Re: tutors - pb récupération variable (3)

Reply #2 Posted by Jihel on 08/08/2008 19:10

Je poursuis mes investigations, histoire de me dépatouiller.

SI j'affecte une valeur fixe à $choix dans menu.zone.php quand il est nul, cela affecte l'affichage de mon menu, c'est le résultat espéré ! J'en déduis un problème soit dans la récupération de getParam de la zone, soit dans l'écriture de l'array dans default.classic.php

C'est peut-être une erreur de newbie, en tout cas je ne vois pas où est le prob car j'ai suivi scrupuleusement les exemples de tutor pour rédiger ces quelques lignes.

Help me, please ! Je voudrais bien pouvoir avancer davantage, car ce produit me séduit. Peut-être les vacances font que bcp sont loin du forum, auquel cas je vais patienter.

En tout cas merci d'avance pour votre aide

Cordialement JiheL

  [Opened] Re: tutors - pb récupération variable

Reply #3 Posted by laurentj on 08/11/2008 10:43

Salut

     $choix = $this->getParam('choix');
      if(isset($choix)){
        $this->_tpl->assign('choix', $choix);
      }else{
        $this->_tpl->assign('choix', '');
      }

Tu as nullement besoin de faire tout ça. Supprimer ces lignes revient au même, car les paramètres de la zone sont automatiquement transférés au template de la zone.

À part ça, je ne vois pas trop le problème. Le cache est activé dans la zone ? et que donne un simple {$choix} dans le template ?

 
Page
  1. Re: tutors - pb récupération variable (2)