Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-01-2010 11:50:54

alphonix
Membre
Date d'inscription: 20-01-2010
Messages: 10

Zend_dojo Débutant probleme

Bonjour,

Je débute avec Zend_Dojo et je n'arrive pas à comprendre comment initialiser Dojo correctement.


1 - pourquoi le module parseOnLoad":true" est obligatoire ? sinon dojo ne se charge pas

2- pourquoi lorsque j'appelle un element de dojo la ligne dojoType="dijit.form.DateTextBox" ne figure pas une fois mon code rendu ?

3 - il me semblait avoir lu que les module ( exemple element dateTextbox 'foo') était inclut automatiquement des l'utilisation de addElement('DateTextBox',..
Car si j'enleve le view->dojo()->requireModule('dijit.form.DateTextBox'); rien ne fonctionne.


Voici mon exemple complet :


Code:

<?php

/*
 * TEST DOJO
 *
 */

// *************************** ERREURS *********************************
// Affiche Les Erreurs en Prod, En attendant le changement de config dans Apache
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);

// *************************** DATES *********************************
    date_default_timezone_set('Europe/Paris');

// *************************** AUTOLOAD LIBRARY *********************************
    $include_path = get_include_path();
    set_include_path($include_path . PATH_SEPARATOR . '../Library/');
    require 'Zend/Loader/Autoloader.php';
    // Déclaration du chargement automatique
    $autoloader = Zend_Loader_Autoloader::getInstance();


     // setup of locale
     $locale = new Zend_Locale('fr_CH');
     Zend_Registry::set('Zend_Locale', $locale);

     // VIEW
    $view = new Zend_View();
    $view->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');


     // initialise dojo
     Zend_Dojo::enableView($view);

     $view->dojo()->enable();
     $view->dojo()->setDjConfigOption('parseOnLoad', true);
      $view->dojo()->addStyleSheet('Css/tundra.css');
      $view->dojo()->setDjConfigOption('locale', 'fr');
      $view->dojo()->setLocalPath('dojo/dojo.js');
$view->dojo()->requireModule('dojo.parser');
      $view->dojo()->requireModule('dijit.form.DateTextBox');
//  ->dojo()->addStylesheetModule('dijit.themes.tundra');
    echo $view->dojo();




    // FORMULAIRE
    $form = new Zend_Dojo_Form();
    Zend_Dojo::enableForm($form);
     // Activer Dojo pour tous les formulaires :
        foreach ($form->getSubForms() as $subForm) {
            Zend_Dojo::enableForm($subForm);
        }
        
    $form->setAction('')
     ->setMethod('POST')
     ->setName('formAction')
     ->setAttrib('id','formAction')
     ->setView($view);

$form->addElement(
    'DateTextBox',
    'foo',
    array(
        'label'          => 'Date:',
       'required'       => true,
       'invalidMessage' => 'Invalid date specified.',
       'formatLength'   => 'long',
    )
);

    // Activer Dojo pour le formulaire :
    Zend_Dojo::enableForm($form);
    
//// Pour tout le formulaire (à appeler dans la méthode init par exemple)
//$form->addElementPrefixPath('Wiip_Filter', 'Wiip/Filter', Zend_Form_Element::FILTER);

    $action = new Zend_Form_Element_Hidden('actionId');
    $action ->setValue('1');
  
    $birthday = new Zend_Dojo_Form_Element_DateTextBox('birthday');
    $birthday->setLabel('Birthday');
     $birthday->setAttrib('dojoType','dijit.form.DateTextBox');


    $form->addElements(array($action,$birthday));
    $form->addElement('submit', 'submit',array('label' => 'Valider'));
    
// Pour un élément en particulier
//$form->date->addPrefixPath('Wiip_Filter', 'Wiip/Filter/', Zend_Form_Element::FILTER);

$tab = array("date"=>"2008-12-09");
$form->populate($tab);



echo "<body class='tundra'>";
echo "<div>";
echo $form;
echo $form->birthday->getValue();
echo "</div>";

Merci pour votre aide.

Dernière modification par alphonix (20-01-2010 12:14:30)

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