Bonjour,
J'ai essayé pas mal de tutos :
http://zendgeek.blogspot.com/2009/07...framework.html
http://tv.xoofoo.org/modules/mytube/...cid=47&lid=354
http://www.throrinstudio.com/blog/in...e/idarticle/37
http://blog.aurevec.be/?p=124

Mais mon formulaire ne s'affiche que si je commente l'élément DatePicker.
Avec le DatePicker, j'ai une page blanche.

Bootstrap.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initJQuery()
    {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
    }
}
layout.phtml :
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
<?php
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
$this->headTitle()->setSeparator(' - ');
$this->headTitle('ENFA - Stages Master');
 
echo $this->doctype(); 
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
    <?php 
    echo $this->headMeta();
    echo $this->headTitle();
    echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/site.css');
    $this->JQuery()->addStyleSheet($this->baseUrl() . '/js/jquery/development-bundle/themes/smoothness/jquery-ui-1.8.7.custom.css');
    $this->JQuery()->setUiLocalPath($this->baseUrl() .'/js/jquery/development-bundle/ui/jquery-ui-1.8.7.custom.js');    
    echo $this->jQuery();
    ?>
</head>
<body>
    <div id="header"> 
        <div id="logged-in-as">
            <?php echo $this->loggedInAs(); ?> 
        </div>
    </div>
    <div id="content">
        <h1><?php echo $this->escape($this->title); ?></h1>
        <?php echo $this->layout()->content; ?>
    </div>
</body>
</html>
Identification.php (le formulaire) :
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
class Application_Form_Identification extends ZendX_JQuery_Form
{
 
    public function init()
    {
        $this->setName('identification');
        $this->setMethod('post');
 
        // Nom de l'étudiant
        $nom = new Zend_Form_Element_Text('nom');
        $nom->setLabel('Nom')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim');
 
        // Prénom de l'étudiant
        $prenom = new Zend_Form_Element_Text('prenom');
        $prenom->setLabel('Prénom')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim');
 
        // Adrel de l'étudiant
        $adrel = new Zend_Form_Element_Text('adrel');
        $adrel->setLabel('Adrel')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim');
                // TODO Voir validator pour adrel*/
 
        // Date de naissance de l'étudiant
        $datenaissance = ZendX_JQuery_Form_Element_DatePicker(
                    'datenaissance',
                    array('label' => 'Date de naissance (jj/mm/aaaa)')
                );
        $datenaissance->setJQueryParam('dateFormat', 'dd/mm/yyyy');
 
        // Bouton Envoyer
        $envoyer = new Zend_Form_Element_Submit('envoyer');
        $envoyer->setLabel('Envoyer');
 
        $this->addElements(array($nom, $prenom, $datenaissance, $adrel, $envoyer));
    }
}
IdentificationController.php :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class IdentificationController extends Zend_Controller_Action
{
 
    public function init()
    {
        /* Initialize action controller here */
    }
 
    public function indexAction()
    {
        $this->view->infomsg = "
            Vous avez été reçu à un concours vous permettant de participer à un stage dans un lycée agricole.\n
            Veuillez compléter le formulaire ci-dessous pour obtenir votre identifiant de connexion et votre mot de passe.
        ";
        $form = new Application_Form_Identification();
        $this->view->form = $form;
        $request = $this->getRequest();
        if ($request->isPost()) 
        {
            if ($form->isValid($request->getPost())) 
            {
                $values = $form->getValues();
                $nom = $values['nom'];
                $prenom = $values['prenom'];
                $datenaissance = $values['datenaissance'];
 
                $date = new Zend_Date();
                $date->set($datenaissance, Zend_Date::ISO_8601);
 
                // Recherche de l'étudiant en BDD
                $etudiant = new Application_Model_DbTable_Etudiant;
                $result = $etudiant->identifierEtudiant($nom, $prenom, $datenaissance);
                $login = $result['uti_login'];
 
                if($login != '')
                {
                    // Étudiant identifié
                    // Génération de son mot de passe d'utilisateur
                    $motpasse = substr($prenom, 0, 1).Date('dmY').substr($nom,0,1);
 
                    // Enregistrement du mot de passe en BDD
                    $user = new Application_Model_DbTable_Utilisateur;
                    $user->changerMotPasse($motpasse, $login);
 
                    // Envoi de l'identifiant et du mot de passe par courriel
                      $mail = new Zend_Mail();
                      $message = "
                          Bonjour $prenom $nom.\n
                          Vous avez été identifié avec succès sur le site http://www.enfa.fr/stagesmaster.\n
                          Vous pouvez désormais vous inscrire à une session de stage dans un lycée agricole.\n
                          Votre nom d'utilisateur est : $login\n
                          Votre mot de passe est : $motpasse\n
                          Vous pourrez changer ce mot de passe sur le site.
                      ";
                    $mail->setBodyText($message);
                    $mail->setFrom('admin@enfa.fr', 'ENFA');
                    $mail->addTo($values['adrel'], $prenom.' '.$nom);
                    $mail->setSubject('Votre identifiant pour les stages master ENFA');
                    $mail->send();
 
                    // Message de succès et réaffichage du formulaire
                    $this->view->infomsg = "
                        Vous avez été identifié avec succès.<br />
                        Votre nom d'utilisateur et votre mot de passe viennent de vous être envoyés à l'adrel que vous avez indiqué dans ce formulaire.<br />
                        Vous pouvez maintenant vous connecter.
                    ";
                    $this->_helper->redirector('index');
                } // Fin if($login != '')
            } // Fin if ($form->isValid($request->getPost())) 
        } // Fin if ($request->isPost())
    } // Fin public function indexAction()
 
 
}
index.phtml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php 
$this->jQuery()->enable();
$this->headTitle('Identification étudiant'); 
echo $this->escape($this->infomsg); 
echo $this->form; 
?>
Quelqu'un peut me dire ce qui ne va pas ?