Voici un class dans laquelle j'utilise la méthode redirect (cf fonction admin_delete, la dernière fonction),
<?php
class LiensController extends AppController{
var $paginate = array( 'limit' => 5,
'order' => array( 'Lien.created' => 'asc'));
public function index(){
$data = $this->paginate('Lien');
$this->set('data', $data);
}
public function admin_index(){
$data = $this->paginate('Lien');
$this->set('data', $data);
}
public function admin_edit($id = null){
$data = array();
if($id != null){
if($this->request->is('post')){
$data = current($this->request->data);
$this->Lien->save(array(
'id' => $data'id'],
'name' => $data'name'],
'description' => $data'description'],
'created' => getdate(),
'creator' => 'data',
'url' => $data'url']
));
$this->redirect(array('aciton' => 'index'));
}else{
$data = current($this->Lien->find('first', array(
'conditions' => array('id' => $id)
)));
}
}
$this->set('data', $data);
}
public function admin_add(){
if($this->request->is('post')){
$data = current($this->request->data);
$this->Lien->save(array(
'name' => $data'name'],
'description' => $data'description'],
'created' => getdate(),
'creator' => 'data',
'url' => $data'url']
));
$this->redirect(array('aciton' => 'index'));
}
}
public function admin_delete($id = null){
if($id){
$this->Lien->delete($id);
$this->Session->setFlash("Le lien a été supprimé");
$this->redirect(array('controller' => 'liens', 'action' => 'index'));
}
}
}