Accueil » Zope » Forum Zope » Forum Général Zope » variable dans un tal:define

 • variable dans un tal:define

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

 • variable dans un tal:define

Posté par thipyt le 01/09/2008 12:22
Bonjour,

J'essaie de définir, via un define, l'adresse de mon Zcatalog pour récupérer un certain nombre de données, mais maitenant que je cherche à un inclure un variable dans cette définition, je ne m'en sors pas !

Jusqu'à maintenant, pour mes tests, je faisais ça:
code:
<tal:block tal:define="results  here/sources/BDD/s1083_Zcat">;

's1083' est le nom de mon affaire et celle-ci est évidemment variable.

Je souhaite donc récupérer cette affaire, qui correspond au nom de l'utilisateur connecté, ce que j'arrive à faire. Je veux ensuite l'inclure dans mon "define" et c'est là que ça coince.
En image, voilà ce que je cherche à faire :
code:
<tal:define="id_user python:here.sources.id_user_ext()">

<tal:block tal:define="results  here/sources/BDD/+id_user+'_Zcat'">;


Optimiste que je suis, j'ai essayé ça, mais ma concaténation n'est pas correcte. En cherchant un peu des exemples sur le net, j'ai donc essayé de nombreuses choses en utilisant $id_user par exemple ou['_Zcat'], mais pas plus de résultat...

Merci d'avance pour votre aide !
  •  • Re: variable dans un tal:define

    Posté par thipyt le 03/09/2008 10:00
    Bonjour,

    J'ai finalement trouvé une solution à ce problème en appelant un script python, via une méthode externe, dans lequel je fais mon traitement décrire le chemin que je souhaite et récupérer les résultats correspondant.

    Cela dit, n'ayant pas trouvé de solution "locale" il y a deux jours, je bloque toujours sur ce soucis de variables et rencontre un nouveau un problème :

    Dans ma ZPT, je met en place un formulaire et ne parviens pas à passer une donnée, récupérée au préalable dans un balise tal:define.

    code:
    <SELECT name="id_affaire"> 
    <OPTION VALUE="">Toutes</OPTION> 
    <p tal:repeat="id_affaire python:container.select_affaires_ext()"> 
    <OPTION VALUE="id_affaire"><span tal:content="id_affaire"></span></OPTION> </p> 
    </SELECT>

    Voilà ce que je fais : Je crée une liste déroulante qui contient toutes mes affaires, ce qui fonctionne mais je ne parviens pas à envoyer mon résultat (identique à ce que j'affiche, donc le tal:content="id_affaire" ) car je ne sais pas comment le définir dans le VALUE.
    J'ai essayé 36 trucs mais ne récupère toujours qu'une string et jamais la référence qui apparait dans ma liste...

    J'espère que vous pourrez m'aider. Merci !
  •  • Re: variable dans un tal:define

    Posté par thipyt le 03/09/2008 12:23
    Ce n'était finalement pas difficile, il fallait modifier la balise OPTION de cette façon :

    code:
    <OPTION tal:attributes="VALUE id_affaire">  <span tal:content="id_affaire">  </span>  </OPTION>