<?php echo $this->Form->input('birth_D', array('label'=>false, 'selected'=>$user'birthdayData']'birthDay'] , 'class'=>'inputselect', 'required'=>false, 'type' => 'datetime', 'dateFormat' => 'D','timeFormat' => null, 'empty'=>'Jour')); ?>

le probleme c'est ca ne fonctionne pas est c tjr epty qui est selectionner.

4 réponses


philieric
Réponse acceptée

Désolé, je n'avais pas capter que c'était des dates voici une solution avec des formats de date, j'ai testé avant de publier :

<?php $this->request->data'User']'birthDay'] = date("d M Y", strtotime("17-10-2013")); ?>
<?php echo $this->request->data'User']'birthDay']; ?>
<br><br>
<?php echo $this->Form->create('User'); ?>
<?php echo $this->Form->input('birthDay', array('label'=>false,
                                               'class'=>'inputselect',
                                               'required'=>false,
                                               'type' => 'datetime',
                                               'dateFormat' => 'D',
                                               'timeFormat' => null,
                                               'empty'=>'Jour',
                                               )
                              ); ?>

<?php echo $this->Form->end(); ?>

cela donne dans le Html :

<select name="data[User][birthDay][day]" class="inputselect" id="UserBirthDayDay">
<option value="">Jour</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17" selected="selected">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>

Tu oublies un élément dans le formulaire: les options : la méthode Form de base pour une liste déroulante est la suivante :

echo $this->Form->input('field', array(
    'options' => array(1, 2, 3, 4, 5),
    'empty' => '(choisissez)'
));

Ceci donnera en HTML :

<div class="input">
    <label for="UserField">Field</label>
    <select name="data[User][field]" id="UserField">
        <option value="">(choisissez)</option>
        <option value="0">1</option>
        <option value="1">2</option>
        <option value="2">3</option>
        <option value="3">4</option>
        <option value="4">5</option>
    </select>
</div>

Ensuite tu ajoutes toutes options que tu souhaites, les class, label que tu as besoin. je t'invite a aller sur le site de cakephp et regarder comment on utilise le FormHelper

Nadhiro
Auteur

nn les options sont générer automatiquement avec "'type' => 'datetime', 'dateFormat' => 'D'"

Nadhiro
Auteur

merci