bonjour,
voila mon problème est le suivant:
j'ai créé mon formulaire et mon action edit sur mon contrôleur mais le soucis c'est que quand je valide les seuls champs qui se sauvegarde sont le nom de l'image après son changement par le contrôleur et la date qui se sauvegarde uniquement a la date et heure actuelle et non a celle choisie dans le panneau déroulant (au passage j'ai un soucis avec les $this->flash, ils ne s'affichent pas)
voici la fonction edit
function edit($id = null){
$this->layout="admin";
$c = $this->Post->Category->find('list',array(
'recursive'=>-1,
'fields'=> array('id','title')
));
$this->set('cats',$c);
if(!empty($this->data)){
$this->Post->save($this->data);
$oldimg = $this->Post->field('image');
if(!empty($this->data'Post']'image']'tmp_name'])){
if(!empty($oldimg)){unlink(IMAGES.'posts'.DS.$oldimg); }
$filename = $this->Post->id.'-'.substr(md5(uniqid()),0,5).substr($this->data'Post']'image']'name'],-4);
move_uploaded_file($this->data'Post']'image']'tmp_name'],IMAGES.'posts'.DS.$filename);
$this->Post->saveField('image',$filename);
$this->flash('Votre post a été sauvegardé.','/posts');
}
$this->redirect($this->referer());
}
if(empty($this->data)){
$this->Post->id = $id;
$this->data = $this->Post->read();
}
}
et voici le formulaire
<?php
echo $form->create('Post',array('url'=>array('action'=>'edit'),'enctype'=>'multipart/form-data'));
echo $this->Form->input('Post.title',array('label' => 'Titre : <br/>'));
echo $this->Form->input('Post.content',array('label' => 'Contenu de l\'article : <br/>'));
echo $this->Form->input('Post.category_id',array('label' => 'Categorie : <br/>','options'=>$cats));
echo $this->Form->file('Post.image');
echo $this->Form->input('Post.id', array('type' => 'hidden'));
echo $this->Form->input('Post.date',array('label' => 'Date : <br/>',
'dateFormat' => 'DMY',
'timeFormat' => '24',
'minYear' => date('Y') - 10,
'maxYear' => date('Y') - 0));
echo $this->Form->end('Valider et envoyer');
?>
voila si quelqu'un peut m'aider a résoudre ce petit soucis :)