Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-09-2008 14:48:51

rollmops
Nouveau membre
Date d'inscription: 19-08-2008
Messages: 9

Utilisation de "Générer du html par sekaijin"

Bonjour, Je suis un débutant dans ZF, c'est mon premier post sur votre site qui m'
apporte beaucoup de réponses à mes questions.

Je souhaite utiliser les classes  'Générer du html par sekaijin'  pour mettre dans un 1er temps des <br> et <hr> dans ma classe de formulaire.

J'ai  copié la classe Document_Html_Element puis dans ma classe formulaire j'ai rajouté :

    $html_el=new Document_Html_Element();
            $hr=$html_el->br();
    ...
    $this->addElements(array(...,$hr,...));

j'obtiens:

Warning: Zend_Loader::include_once(Document/Html/Element.php) [zend-loader.include-once]: failed to open stream: No such file or directory in /usr/share/php/zend/library/Zend/Loader.php on line 83

C'est normal car avec Zend les _ sont comme des / pour les répertoires, je dois donc créer Document/Html/Element.php
J'ai vu que dans le Zend Framework il y a déjà des fichiers Element.php notamment dans le répertoire Form.
Que dois-je prendre comme fichier Element.php ?

Merci d'avance pour vos réponses.

Hors ligne

 

#2 23-09-2008 19:55:05

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Utilisation de "Générer du html par sekaijin"

non ton fichier element dans zend n'est pas dans le même dossier que celui de document_html_element

il suffit d'ajouter le dossier Document/Html/Element.php dans ton dossier library
A+JYT

Hors ligne

 

#3 24-09-2008 10:55:19

rollmops
Nouveau membre
Date d'inscription: 19-08-2008
Messages: 9

Re: Utilisation de "Générer du html par sekaijin"

C'est bon ça fonctionne, pas de message d'erreur en mettant la classe Document_Html_Element dans Element.php et lui-même dans library/Document/Html mais il n'y a pas de trait <hr> ou de retour à la ligne <br> à l'horizon sur mon formulaire.

Je pense que ce que je met en paramètre pour le constructeur pour la variable $parent n'est pas bon et je ne sais pas quoi mettre :

Code:

        $html_el=new Document_Html_Element($this);
        $br=$html_el->br();

Quand je met rien dans new Document_Html_Element();  message d'erreur :

Warning: Missing argument 1 for Document_Html_Element::__construct(), called in .....php on line 116 and defined in .../zend/library/Document/Html/Element.php on line 28
Notice: Undefined variable: parent in .../zend/library/Document/Html/Element.php on line 36

sad
Merci.

Hors ligne

 

#4 24-09-2008 11:32:26

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Utilisation de "Générer du html par sekaijin"

Quel est ton niveau en PHP ?
Je pense que tu t'attaques à un niveau trop élevé pour toi..

Pour mieux comprendre, tu devrais regardé les sources de ce que tu utilises (Document_Html_Element)


----
Gruiiik !

Hors ligne

 

#5 24-09-2008 17:44:50

rollmops
Nouveau membre
Date d'inscription: 19-08-2008
Messages: 9

Re: Utilisation de "Générer du html par sekaijin"

Je suis débutant en php5 objet et ai quelques mois d'expérience en php4.
Je travaille sur mon projet avec Zend depuis moins d'un mois.
Comment fairiez vous  pour mon pb de balise hr et br ?

Hors ligne

 

#6 25-09-2008 11:27:34

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Utilisation de "Générer du html par sekaijin"

Il faudrait que tu nous montres un exemple de résultat, car je ne compras pas bien ce que tu veux faire avec tes br et hr


----
Gruiiik !

Hors ligne

 

#7 25-09-2008 18:13:03

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Utilisation de "Générer du html par sekaijin"

cette classe ne sert pas à créer des bout de code html mais à générer un document html
$htmlDocument->getHtml()
Document_Html_Element est une classe utilisé par Document_Html pour créer des éléments

sur html_el tu peux invoquer la méthode getHtml() qui te renvois le Html de l'élément e n'est pas pour autant un tag HTML

Code:

$html_el=new Document_Html_Element($this);
        $div=$html_el->div()
                ->br();
        $div->getHtml();

vas te retourner si ma mémoire est bonne

Code:

<div>
    <br />
</div>

mais Document_Html_Element n'est pas fait pour être utilisé comme ça. c'est d'ailleurs pour ça que sont constructeur à besoin d'un élément parent. je ne suis pas sur que l'on puisse l'utiliser ainsi.

en fait je ne sais pas trop ce que tu lui passe comme argument lorsque tu créé ton élément.

l'usage est plutôt

Code:

require_once dirname(__FILE__).'/Html.php';
$htmlDocument = new Document_Html('XHTML','Transitional');

$xx = $htmlDocument
   ->addNameSpace('fast', 'urn:org.jquery.fast')
   ->setNSAtrribute('fast','includepath', '/public/scripts/org.jquery.fast/components/')
   ->setLanguage('fr')
   ->getHead()
      ->contentType()
      ->meta ('test', 'machin')
      ->title('coucou', array('class'=>'test'))
      ->addScript('/public/scripts/org.jquery.fast/jquery-latest.js')
      ->addScript('/public/scripts/org.jquery.fast/org.jquery.fast.js')
      ->addScript('/public/scripts/org.jquery.fast/components/cascadingselect.js')
      ->linkStyle('/public/styles/default.css', 'screen')
      ->getDocument()
   ->getBody()
      ->aName('la','top')
         ->image('/truc/chose.gif', array('border'=>0), array('color'=>'#fff'))
            ->getParent()
         ->getParent()
      ->h2('coucou')
         ->getParent()
      ->inlineScript('<!--//')
         ->addContent("//alert('test');")
         ->addContent('//-->')
         ->getParent()
      ->aHref('ici','/truc/machin.html')
         ->getParent()
      ->br()
      ->form('/text.pg', 'POST')
         ->inputText('toto','5')
         ->label('test','25')->getParent()  
      ->pre('      ceci est un texte
      preformaté
      avec ce que ça implique')->br()
      ->addContent('test')->getParent()
      ->object()
      ->table()
         ->thead()
            ->tr()
               ->th('coucou')->getParent()
               ->th('coucou')->getParent()
               ->th('coucou')->getParent()
               ->th('coucou')->getParent()
               ->getParent()
            ->getParent()
         ->tbody()
            ->tr()
               ->td()
                  ->b('test')->getParent()
                  ->getParent()
               ->td()->text('<test>')
;
$htmlDocument->display();

A+JYT

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