Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
je suis un débutant dans le framework zend.
j'ai trouve des difficultés à affiche les éléments de zend_dojo dans le demo "ajouter un-selecteur-de-date-sympa-dans-vos-formulaires-sans-ecrire-une-seule-ligne-de-javascript"
car le datatextbox ne s'affiche pas
voici mon code du controlleur :
$form = new Zend_Form; $name = $form->createElement('text', 'name') ->setLabel('Your full name') ->setRequired(true); $birthday = new Zend_Dojo_Form_Element_DateTextBox('birthday'); $birthday->setLabel('Birthday'); $submit = $form->createElement('submit', 'submit'); $form->addElements(array($name, $birthday, $submit));
SVP est ce qlq peut m'aide est m'explique les étapes essentiel pour utilise les éléments du zend_dojo
Dernière modification par redouane (26-12-2008 16:26:00)
Hors ligne
Tu dois indiquer que tu vas utiliser DOJO. Pour ma part je le fait dans le fichier index.php mais je crois que tu peux aussi le faire dans le layout.
Pour le fichier index.php
$layoutView = Zend_Layout::getMvcInstance()->getView(); Zend_Dojo::enableView($layoutView); $layoutView->dojo()->setDjConfigOption('locale', 'fr'); $layoutView->dojo()->addStylesheetModule('dijit.themes.tundra');
Ici j'ai choisi le thème "tundra"
Ensuite dans ta vue ou mieux dans ton layout
<head> <?php echo $this->dojo();?> </head> <body class="tundra">
Hors ligne
Voici le code de mon index.php
error_reporting(E_ALL|E_STRICT); ini_set('display_errors', 1); date_default_timezone_set('Europe/Paris'); // mise en place des répertoires et chargement des classes set_include_path('.' . PATH_SEPARATOR . './library' . PATH_SEPARATOR . './application/models/' . PATH_SEPARATOR . get_include_path()); //require_once 'Zend/Loader.php'; include "Zend/Loader.php"; $layoutView = Zend_Layout::getMvcInstance()->getView(); Zend_Dojo::enableView($layoutView); $layoutView->dojo()->setDjConfigOption('locale', 'fr'); $layoutView->dojo()->addStylesheetModule('dijit.themes.tundra');
car lorsque je met la partie que vous m'avez dit d'ajouter dans index.php il me donne une erreur :
Class 'Zend_Layout' not found
Hors ligne
C'est normal, tas pas activé l'autoload
Zend_Loader::registerAutoload();
Juste en dessous de
include "Zend/Loader.php";
Hors ligne
pour le problème 'Zend_Layout' not found il est régle merci pour ton aide.
Mais SVP j'ai encore le même problème que les éléments du zend_dojo ne s'affiche pas, par exemple au lieu que l'élément DateTextBox, TimeTextBox et HorizontalSlider comme indique dans indexController.php dans le resultat je trouve seulement des zones de text simple sans dateTextBox ou HorizontalSlider et je vous ajoute aussi que les elements HorizontalSlider.php et DateTextBox.php je l'ai déja ajouter dans le url "library\Zend\Dojo\View\Helper" et voici comment je l'ai ajouter de mon index.php
$layout->getView()->addHelperPath('Zend/Dojo/View/Helper/', 'Zend_Dojo_View_Helper');
voici le code "indexController.php"
class IndexController extends Zend_Controller_Action { public function indexAction() { $form1 = new Zend_Dojo_Form(); $form1->setMethod('post')->setAction("/"); $form1->addElement('DateTextBox', 'date1', array( 'label' => 'Choose a date:', 'datePattern' => 'yyyy-MM-dd', 'validators' => array('Date'), 'required' => true )) ->addElement('TimeTextBox', 'time1', array( 'label' => 'Choose a time:', 'timePattern' => 'HH:mm:ss', )) ->addElement('NumberSpinner', 'number1', array( 'label' => 'Choose a number:', 'value' => 0, 'smallDelta' => 1, 'min' => 0, 'max' => 30, 'defaultTimeout' => 100, 'timeoutChangeRate' => 100, )) ->addElement('HorizontalSlider', 'slide1', array( 'label' => 'Let\'s slide:', 'minimum' => 0, 'maximum' => 25, 'discreteValues' => 10, 'style' => 'width: 450px;', 'topDecorationDijit' => 'HorizontalRuleLabels', 'topDecorationLabels' => array('0%', '50%', '100%'), 'topDecorationParams' => array('style' => 'padding-bottom: 20px;'), )) ->addElement('SubmitButton', 'submit', array( 'label' => 'Submit!' )); $this->view->form1 = $form1; } } ?>
Hors ligne
Pages: 1