Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-09-2009 18:08:29

laurent HADJADJ
Nouveau membre
Date d'inscription: 09-09-2009
Messages: 4

Probléme de rendu avec ZF 1.9.2 et Dojox [FisheyeLite]

Bonjour,

j'ai un problème d'affichage par ZF d'une page utilisant DojoX et la classe FisheyeLite.

Ma page est OK sans ZF (page HTML + JS --> affichage OK dans FireFox),

le code généré par ZF est OK (copier coller du code généré dans une page HTML),

par contre le rendu de ZF de ma page est nul à C..... Les styles ne sont pas pris en compte, je n'ai pas les
bonnes polices, j'ai tout essayé (Zend_Dojo, en directe, dans le layout, dans une page séparé...) rien à faire.

J'ai désactivé blueprint (page de style css) et j'ai tout mis dans mon layout pour simplifier les tests.

Le résultat est : page html depuis firefox = OK, le même code depuis ZF KO. je ne comprend plus rien !!!!

Avez-vous déjà rencontré ce genre de problème ? Pouvez-vous m'aider ? Je galère depuis 2 semaines sur cet histoire de menu....

Mon layout commun :
<?php echo $this->doctype() . PHP_EOL ?>
<html>
    <head>
<?php
$meta = $this->headMeta();
$meta->setIndent(8);
echo $meta . PHP_EOL;
$title = $this->headTitle($this->title);
$title->setIndent(8);
echo $title . PHP_EOL;
$headLink = $this->headLink();
$headLink->setIndent(8);
echo $headLink . PHP_EOL;
$headStyle = $this->headStyle();
$headStyle->setIndent(8);
echo $headStyle . PHP_EOL;
$headScript = $this->headScript();
$headScript->setIndent(8);
echo $headScript . PHP_EOL;
//fonction dojo
echo $this->dojo();
?>

<style type="text/css">
body, html { margin:0; padding:0; width:100%; font-family:Arial,sans-serif;}
#DojoxList {position:absolute; left:0px; cursor:pointer;}
#DojoxContainer { margin:0 auto; width:400px; }
#DojoxList ul {width:175px;    list-style-type:none;}
.fisheyeTarget {font-weight:bold;font-size:16px;}
#DojoxContainer li {text-align:right;padding-bottom:12px;}
.ilk {border-top:1px solid #999;color:#666;font:12px Arial,sans-serif;}
</style>

<!--  <script type="text/javascript">
    var djConfig = { isDebug:false, parseOnLoad:true };
</script>

<script type="text/javascript" src="js/dojo/dojo.js"></script>
<script type="text/javascript" src="js/dojox/widget/FisheyeLite.js"></script> -->

<script type="text/javascript">
    dojo.require("dojo.parser");
    dojo.require("dojox.widget.FisheyeLite");

    var beenDestroyed = false;
    var hasInit = false;
   
    var init = function(e){
    dojo.query("li.bounce").instantiate(dojox.widget.FisheyeLite,{});

    var l = dojo.query("span.line")
    .instantiate(dojox.widget.FisheyeLite,{properties: {fontSize:1.75}, easeOut: dojo.fx.easing.backInOut, durationOut: 500});

    var vv = 0;
    var r = dijit.registry.byClass("dojox.widget.FisheyeLite")._hash;
   
    for(var l in r){vv++;}
        beenDestroyed = false;
        hasInit = true;
                        };
   
    dojo.addOnLoad(init);
</script>

</head>
    <body class="tundra">
          <?php echo $this->render('right.phtml'); ?>
    </body>
</html>


Ma page right.phtml :
<?php    
    setlocale(LC_TIME, 'fra');
    $timestamp     =     strftime("%Y-%m-%d %H:%M:%S %Y");
    echo strftime("%a %d %b %H:%M:%S %Y", strtotime($timestamp))."<br/>";
?>

<div id="DojoxContainer">
    <div id="DojoxList">
        <ul>
            <li class="bounce"><span class="fisheyeTarget">Toto1</span><br><div class="ilk">traduction, commentaires</div></li>
            <li class="bounce"><span class="fisheyeTarget">Ham2</span><br><div class="ilk">Tom du jour.</div></li>
            <li class="bounce"><span class="fisheyeTarget">loi 3</span><br><div class="ilk">loi courante</div></li>
            <li class="bounce"><span class="fisheyeTarget">Maximes</span><br><div class="ilk">Livres, commentaires</div></li>
            <li class="bounce"><span class="fisheyeTarget">Calendrier</span><br><div class="ilk">Fêtes, anniversaires</div></li>
        </ul>
    </div>
</div>

Hors ligne

 

#2 09-09-2009 18:23:04

stealth35
Membre
Date d'inscription: 30-08-2009
Messages: 29

Re: Probléme de rendu avec ZF 1.9.2 et Dojox [FisheyeLite]

t'as importer le fichier FisheyeList.css ?

sinon t'es sous quel version de dojo ?  parce que c'est pu Lite c'est List maintenant

Hors ligne

 

#3 10-09-2009 09:50:33

laurent HADJADJ
Nouveau membre
Date d'inscription: 09-09-2009
Messages: 4

Re: Probléme de rendu avec ZF 1.9.2 et Dojox [FisheyeLite]

Merci, pour ces premiers élements.
J'utilise ZF 1.9.2, Dojo 1.3.x (le dernier build dojo-2009-09-09.tar.gz) Pourquoi ?

Parce que la version 1.3.2 ne fonctionne pas correctement sur le redimentionnement des élements passés. En fait je passe en paramétre la taille du grossissment au composant. C'est la ligne :
-->dojox.widget.FisheyeLite,{properties: {fontSize:1.75}, easeOut: dojo.....

Le rendu de la page ne fonctionne pas avec la version 1.3.2 par contre la même page fonctionne avec la version que j'ai téléchargé hier (dojo-2009-09-09.tar.gz). je ne sais pas pourquoi. J'ai cherché pendant plusieurs jours, je n'ai pas d'explication.

J'ai essayé de charger le CSS FisheyeList.css mais sans résultat.

En fait, je me pose de plus en plus la question d'utiliser ZF avec Blueprint + Dojo. Les pages sans ZF sont rendues correctement par contre on utilise pas le puissance du framework et le découpage MVC.

Ce matin je fais un nouveau test en désactivant toutes les pages, layouts,... et en ne laissant que le code que je veux tester dans le fichier index.phtml.

Je vous tiens informé.

Hors ligne

 

#4 10-09-2009 10:28:35

laurent HADJADJ
Nouveau membre
Date d'inscription: 09-09-2009
Messages: 4

Re: Probléme de rendu avec ZF 1.9.2 et Dojox [FisheyeLite]

Je viens de faire le test en désactivant tout les appel et le rendu ne fonctionne pas.

Par contre si je colle le code généré par zf dans un nouveau fichier html, la page s'affiche correctement.

Je ne comprend pas pourquoi cela ne fonctionne pas, d'autant plus que dans le navigateur de ZendStudio l'affichage est OK.


Pour résumer :
- dans firefox en page html sans zf OK
- dans le navigateur de zendstudio avec zf : OK
- dans firefox en passant par zf : KO


J'ai crée un controler TestController avec :

public function indexAction()
       {
        // TODO Auto-generated TestController::indexAction() default action
         $this->render();
    }

J'ai une vue : Test/index.phtml avec :

<div id="DojoxContainer">
    <div id="DojoxList">
        <ul>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Thora');">Thora</span><br></br><div class="ilk">Hébreu, traduction, commentaires</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Sefer Hamitsvot');">Hamitsvot</span><br></br><div class="ilk">Mistvots du jour.</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Halara');">Halara</span><br></br><div class="ilk">Choulhrane</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Maximes');">Maximes</span><br></br><div class="ilk">Livres, commentaires</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Calendrier');">Calendrier</span><br></br><div class="ilk">Fêtes, shabbat, Tefilin</div></li>
        </ul>

    </div>
</div>

J'ai un layout avec :

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <meta http-equiv="expires" content="Wed, 7 Apr 1971 08:21:57 GMT" />
        <meta http-equiv="pragma" content="no-cache" />
        <meta http-equiv="Cache-Control" content="no-cache" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta http-equiv="Content-Language" content="fr-FR" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />

        <meta name="keywords" content="fr" />
        <meta name="description" content="Thora, Séfer Hamitsvot, Genèse, Exode, Lévitique, Nombres, Deutéronome, calendrier" />
        <title>Le Séfer Hamitsvot</title>

<style type="text/css">
body, html { margin:0; padding:0; width:100%; font-family:Arial,sans-serif;}
#DojoxList {position:absolute; left:0px; cursor:pointer;}
#DojoxContainer { margin:0 auto; width:400px; }
#DojoxList ul {width:175px;    list-style-type:none;}
.fisheyeTarget {font-weight:bold;font-size:16px;}
#DojoxContainer li {text-align:right;padding-bottom:12px;}
.ilk {border-top:1px solid #999;color:#666;font:12px Arial,sans-serif;}
</style>

<script type="text/javascript">
    var djConfig = { isDebug:false, parseOnLoad:true };
</script>

<script type="text/javascript" src="js/dojo/dojo.js"></script>
<script type="text/javascript" src="js/dojox/widget/FisheyeLite.js"></script>

<script type="text/javascript">
    dojo.require("dojo.parser");
    dojo.require("dojox.widget.FisheyeLite");

    var beenDestroyed = false;
    var hasInit = false;
   
    var init = function(e){
    dojo.query("li.bounce").instantiate(dojox.widget.FisheyeLite,{});

    var l = dojo.query("span.line")
    .instantiate(dojox.widget.FisheyeLite,{properties: {fontSize:1.75}, easeOut: dojo.fx.easing.backInOut, durationOut: 500});

    var vv = 0;
    var r = dijit.registry.byClass("dojox.widget.FisheyeLite")._hash;
   
    for(var l in r){vv++;}
        beenDestroyed = false;
        hasInit = true;
                        };
   
    dojo.addOnLoad(init);
</script>

</head>
    <body class="tundra">
    <div id="container">
        <?php echo $this->layout()->content ?>
    </div>
</body>
</html>


Le résultat de la page html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <meta http-equiv="expires" content="Wed, 7 Apr 1971 08:21:57 GMT" />
        <meta http-equiv="pragma" content="no-cache" />
        <meta http-equiv="Cache-Control" content="no-cache" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta http-equiv="Content-Language" content="fr-FR" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />

        <meta name="keywords" content="fr" />
        <meta name="description" content="Thora, Séfer Hamitsvot, Genèse, Exode, Lévitique, Nombres, Deutéronome, calendrier" />
        <title>Le Séfer Hamitsvot</title>

<style type="text/css">
body, html { margin:0; padding:0; width:100%; font-family:Arial,sans-serif;}
#DojoxList {position:absolute; left:0px; cursor:pointer;}
#DojoxContainer { margin:0 auto; width:400px; }
#DojoxList ul {width:175px;    list-style-type:none;}
.fisheyeTarget {font-weight:bold;font-size:16px;}
#DojoxContainer li {text-align:right;padding-bottom:12px;}
.ilk {border-top:1px solid #999;color:#666;font:12px Arial,sans-serif;}
</style>

<script type="text/javascript">
    var djConfig = { isDebug:false, parseOnLoad:true };
</script>

<script type="text/javascript" src="js/dojo/dojo.js"></script>

<script type="text/javascript" src="js/dojox/widget/FisheyeLite.js"></script>

<script type="text/javascript">
    dojo.require("dojo.parser");
    dojo.require("dojox.widget.FisheyeLite");

    var beenDestroyed = false;
    var hasInit = false;
   
    var init = function(e){
    dojo.query("li.bounce").instantiate(dojox.widget.FisheyeLite,{});

    var l = dojo.query("span.line")
    .instantiate(dojox.widget.FisheyeLite,{properties: {fontSize:1.75}, easeOut: dojo.fx.easing.backInOut, durationOut: 500});

    var vv = 0;
    var r = dijit.registry.byClass("dojox.widget.FisheyeLite")._hash;
   
    for(var l in r){vv++;}
        beenDestroyed = false;
        hasInit = true;
                        };
   
    dojo.addOnLoad(init);
</script>

</head>
    <body class="tundra">
    <div id="container">
        <div id="DojoxContainer">
    <div id="DojoxList">
        <ul>

            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Thora');">Thora</span><br></br><div class="ilk">Hébreu, traduction, commentaires</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Sefer Hamitsvot');">Hamitsvot</span><br></br><div class="ilk">Mistvots du jour.</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Halara');">Halara</span><br></br><div class="ilk">Choulhrane</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Maximes');">Maximes</span><br></br><div class="ilk">Livres, commentaires</div></li>
            <li class="bounce"><span class="fisheyeTarget" onclick="alert('Calendrier');">Calendrier</span><br></br><div class="ilk">Fêtes, shabbat, Tefilin</div></li>

        </ul>

    </div>
</div>
    </div>
</body>
</html>

Dernière modification par laurent HADJADJ (10-09-2009 11:07:28)

Hors ligne

 

#5 10-09-2009 11:37:34

laurent HADJADJ
Nouveau membre
Date d'inscription: 09-09-2009
Messages: 4

Re: Probléme de rendu avec ZF 1.9.2 et Dojox [FisheyeLite]

Je progresse, un petit peu.

Quand je lance la console des erreurs de firefox, j'ai un message d'avertissement :

Avertissement : Erreur d'analyse de la valeur pour « font-size ».  Déclaration abandonnée.
Fichier Source : http://www.babel.fr/test
Ligne : 0

Voila pourquoi le zoom ne fonctionne pas correctement. Par contre je ne sais pas pourquoi, le même code fonctionne en directe et pas via zf.

Test dans IE 6.0 tout est ok depuis ZF. Donc c'est un problème entre FireFox et ZF.

Je continue de chercher.

Dernière modification par laurent HADJADJ (10-09-2009 11:44:13)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages