Accueil » Zope » Forum Zope » Forum Général Zope » variable qui n'st pas reconnue !!

 • variable qui n'st pas reconnue !!

Document Actions
Réponses: 4   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

 • variable qui n'st pas reconnue !!

Posté par airod le 01/07/2008 12:16
bonjour, voici le code suivant :
code:
<table width="95%" border="0" align="center" cellpadding="2" cellspacing="0">
  <tr>
    <th scope="col">
    <span  tal:define="infos python:here.SQL.selectOnePatient(patient_id=5)">
    <div tal:replace="structure here/composants/newPatient.html"></div>
    </span>
    </th>
    <th width="1" scope="col" class="linentete">&nbsp;</th>
    <th scope="col">
     <div tal:replace="structure here/composants/newPatient.html"></div>
</th>
  </tr>
</table>


voilaà mon problème est simple, Zope me dit que la variable info est inconnu dans here/composants/newPatient.html.
comment faire pour passer des variables d'une page a l'intérieur d'un composant de cette page
ex :
ma page1 est composé de c1.html et c2.html
je déclare une variable infos dans ma page1 (requete SQL) et je veux pouvoir faire un repeat sur cette variable dans c1.html et c2.html


Malgré mes tentatives je ne trouve pas comment faire.

voici le message de Zope :
Site Error
An error was encountered while publishing this resource.

Error Type: KeyError
Error Value: 'infos'


merci d'avance
  •  • Re: variable qui n'st pas reconnue !!

    Posté par ychaouche le 01/07/2008 13:53
    Salut airod,

    Une solution possible serait d'appeler ta template en lui passant infos en argument :
    code:
    <div tal:replace="structure python: here.composants["newPatient.html"](infos)"></div> 


    Tu remarqueras que les "." dans les ID d'objets c'est pas terrible.

    Puis, dans newPatient.html, tu accèdes à infos à l'aide de la variable tal options, comme ceci :

    code:
    <!-- plein de code intéressant ici -->
    <div tal:define="infos options/infos|nothing"> 
      <!-- manipulation de infos ici -->
    </div>
    <!-- plein de code intéressant ici -->


    Je ne suis pas sûre que cette solution marche, ni que options peut être appelé comme ça directement, peut-être faut-il faire un context/options ou here/options ou template/options je ne sais pas mais je te donne au moins une piste à creuser.

    Bon courage.
  •  • Re: variable qui n'st pas reconnue !!

    Posté par airod le 01/07/2008 14:16
    merci, je regarde de ce coté.
  •  • Re: variable qui n'st pas reconnue !!

    Posté par airod le 07/07/2008 18:56
    ok, j'ai vu! c'est bien ca. mais comment puis je passer plusieures variables avec ce principe.
    j'ai essayé ca :
    <span tal:content="python:here['index.html'](word=var1, id=var2)"></span>

    mais ca ne marche pas.
    est ce possible de passer plusieurs variables, comme ca?
    merci
  •  • Re: variable qui n'st pas reconnue !!

    Posté par airod le 07/07/2008 19:12
    bon, en fait ca fonctionne, j'ai repris le problème a tete reposé et tout s'est bien passé.
    la syntaxe dans le post précédent fonctionne donc.

    merci