IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zope Python Discussion :

insertion de balises Tal dans une balise SCRIPT


Sujet :

Zope Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut insertion de balises Tal dans une balise SCRIPT
    Bonjour,
    Je débute dans zope et j'essaye tant bien que mal de comprendre le TALES.

    Je souhaiterai insérer à l'intérieur de balises <script type="text/javascript"> et </script> des instructions comme <tal:block tal:repeat="brain query" afin de pouvoir renseigner un tableau javascript à partir d'informations ZOPE.
    Lorsque j'essaye de le faire, ces instructions ne sont pas interpréter et apparaîssent dans le souce de la page.

    J'espère avoir était assez clair dans ma demande...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 41
    Points : 33
    Points
    33
    Par défaut
    peut etre que ceci pourra t'aider, ca parait louche masi je l'ai deja essayé ca marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script type="text/javascript" tal:content="structure string:
           <!--
              valuesList = $entries;
                -->">
     
            </script>
    avec entries défini dans un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <span tal:define="">

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci pour ton tuyau, ça marche !

    Voici le code en question que je trouve très moche mais qui pourrait intéresser quelqu'un qui galérerait sur les caractères spéciaux comme >, <, " ou bien pour passer des valeurs de résultat de boucles TALES dans un script javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <div id="info"> </div>
    <tal:block tal:content="structure string:<" />script type="text/javascript"<tal:block tal:content="structure string:>" />
     
    var msgs = new Array();
     
    <tal:block tal:repeat="brain variable">
       msgs[<tal:block content="repeat/brain/index" />] = "<tal:block content="structure string:<"/>a href=\"<tal:block content="brain/getURL"/>\" onmouseover=\"javascript:clearTimeout(time_out);\" onmouseout=\"javascript:time_out = setTimeout('AfficheFil();',2500);\"<tal:block content="structure string:>"/><tal:block content="brain/Title | brain/getId" /><tal:block define="ladate brain/ModificationDate"  replace="python:DateTime(ladate).strftime(' (%d/%m/%Y %Hh%M)')" /><tal:block content="structure string:</a>"/>";
    </tal:block>
     
    <tal:block tal:content="structure string:</script>" />
     
    <script type="text/javascript" tal:content="structure string:
           <!--
    function getElementById(id){
    	if(document.getElementById && document.getElementById(id)){
    		return document.getElementById(id);
        }else if(document.all && document.all(id)){
    		return document.all(id);
        }else if(document.layers && document.layers[id]){
    		return getObjNN4(document,id);
        }else{
    		return false;
        } 
    }
    var fil_idx = 0;
    var time_out = null;
    function AfficheFil(){
    	var div = getElementById('info');
        div.innerHTML = msgs[fil_idx];
     
    	fil_idx++;
    	if(fil_idx >= msgs.length)
    		fil_idx = 0;
     
    	time_out = setTimeout('AfficheFil();',2500);
    }
    AfficheFil();
    -->
    ">
    </script>
    Ce qui donne une fois interprété :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <div id="info"> </div>
     
    <script type="text/javascript">
     
    var msgs = new Array();
     
     
       msgs[0] = "<a href=\"http://http://xxxxx.com/tata\" onmouseover=\"javascript:clearTimeout(time_out);\" onmouseout=\"javascript:time_out = setTimeout('AfficheFil();',2500);\">info tata (01/01/2007 11h00)</a>";
     
     
       msgs[1] = "<a href=\"http://http://xxxxx.com/titi\" onmouseover=\"javascript:clearTimeout(time_out);\" onmouseout=\"javascript:time_out = setTimeout('AfficheFil();',2500);\">info titi (02/02/2007 11h00)</a>";
     
     
    </script>
     
    <script type="text/javascript">
           <!--
    function getElementById(id){
    	if(document.getElementById && document.getElementById(id)){
    		return document.getElementById(id);
        }else if(document.all && document.all(id)){
    		return document.all(id);
        }else if(document.layers && document.layers[id]){
    		return getObjNN4(document,id);
        }else{
    		return false;
        } 
    }
    var fil_idx = 0;
    var time_out = null;
    function AfficheFil(){
    	var div = getElementById('info');
        div.innerHTML = msgs[fil_idx];
     
    	fil_idx++;
    	if(fil_idx >= msgs.length)
    		fil_idx = 0;
     
    	time_out = setTimeout('AfficheFil();',2500);
    }
    AfficheFil();
    -->
    </script>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion de code PHP dans une balise IFRAME
    Par debie1108 dans le forum Langage
    Réponses: 2
    Dernier message: 22/07/2009, 21h17
  2. Petit Problème d'une balise ancrée dans une autre
    Par stansoad0108 dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2008, 10h23
  3. [HTML] pb de mise en place d'une balise <div> dans des balises <ul>
    Par youp_db dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/11/2006, 16h57
  4. [XML][PHP]Extraire balise img dans une balise xml
    Par thierry232323 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/10/2006, 13h25
  5. [XSLT] Comment inclure une balise xsl dans une balise html
    Par sylsau dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/10/2006, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo