Si tu veux une solution avec les widgets (Symfony 1.2), tu dois créer ton formulaire dans le dossier lib/form:
LoginForm.php
plutot qu'un partial utilise un component dans ton layout, ca te permettra d'instancier ton formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class LoginForm extends sfForm { public function configure() { $this->setWidgets(array( 'email' => new sfWidgetFormInput(), 'password' => new sfWidgetFormInput(), )); } } ?>
tu dois créer un fichier components.class.php dans ton module login.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<?php include_component('login','auth') ?>
Tu vas y créer une instance de ton formulaire:
puis il ne reste plus qu'a modifier ton template _auth.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php class loginComponents extends sfComponents { public function executeAuth() { $this->login_form = new LoginForm(); } } ?>
le tour est joué, c'est pas trés compliqué mais ca demande une gymnastique.
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 <table cellspacing="0" border="0"> <tr> <td> <div id="login" class="login" align="left"> <form method="POST" action="<?php echo url_for('login/index'); ?>"> <table> <?php echo $login_form; ?> <tr> <td colspan="2"> <input type="submit" value="ok"/> </td> </tr> </table> </form> </div> </td> </tr> </table>
Partager