Bonjour,
J'utilise une table de configuration inspiré de celle de Wordpress et Magento
Table ConfigData
Colonne 1 : ID (INT PRIMARY KEY AUTOINCREMENT)
Colonne 2 : path (VARCHAR 70)
Colonne 3 : value (TEXT)
Exemple de ligne :
1 ------ default_title ----- Le titre de mon site
2 ------ default_metadescription ----- La description de mon site
3 ------ offline ----- 1 ou 0
3 ------ offline_text ----- Ce site est hors ligne
etc...
J'aimerai pouvoir créer un formulaire unique pour pouvoir modifier toutes les lignes en un seul save().
Avez-vous une idée de comment je pourrais faire ça ?
Merci d'avance pour votre aide.
Amicalement,
Ilan
Bonjour,
Oui c'est tout à fait possible. Il faut que tu sélectionnes l'ensemble de tes données en base, puis, dans ta vue, que tu génères les inputs pour chaque entrée. Ex: dans ta vue (je te met du condensé)
<?php foreach($configs as $index => $config): ?>
<?php echo $this->Form->input('Configdata.'.$index.'.id',array('value' => $config'Configdata']'id']));
<?php echo $this->Form->input('Configdata.'.$index.'.path',array('value' => $config'Configdata']'path']));
<?php echo $this->Form->input('Configdata.'.$index.'.value',array('value' => $config'Configdata']'value']));
<?php endforeach; ?>
Puis, une fois que tes modifications ont été effectuée, lorsque tu soumet le formulaire, tu fais la sauvegarde de l'ensemble de cette manière:
$this->Configdata->saveAll($this->request->data'Configdata']);
Happy Baking !