Bonjour,
je fais actuellement le tutoriel sur cakephp (un site en 4 jours) je suis siui sur la dernière version de cakephp 1.3
Lorsque que j'édit une page (lien de la page : /admin/pages/1) la sauvegarde ne se fais pas. Je suis rediriger vers le lien suivant :admin/posts/edit/1. J'ai cherchez mais je vois pas d'ou cela peux venir sachant que pour l'instant j'ai pas créé la partie concernant les posts. vi-dessous mes deux scripts
Pages_controller.php
<?php
class PagesController extends AppController{
public $uses = array('Post');
/**
* RequestAction, permet d'avoir la liste des contenus pour le menu
*
**/
function menu(){
$pages = $this->Post->find('all',array(
'conditions' => array('type'=>'page',
'online' =>1),
'fields' => array('id','slug','name')
));
return $pages;
}
/**
* Permet d('afficher une page
*
**/
function show($id=null, $slug=null){
if(!$id)
throw new NotFoundException('Aucune page ne corespond à cet ID');
$page = $this->Post->find('first', array(
'conditions' => array('id'=>$id)
));
if(empty($page))
throw new NotFoundException('Aucune page ne corespond à cet ID');
if($slug != $page'Post']'slug'])
$this->redirect($page'Post']'link'],301);
$d'page'] = current($page);
$this->set($d);
}
/**
*
*
**/
function admin_index(){
$d'pages'] = $this->Paginate('Post',array('type'=>'page'));
$this->set($d);
}
function admin_edit($id = null){
if(!empty($this->data) || $this->data){
if($this->Post->save($this->data)){
$this->Session->setFlash("le contenu a bien été modifié",'notif');
$this->redirect($this->referer());
}
}elseif($id){
$this->Post->id = $id;
$this->data = $this->Post->read();
}
}
function admin_delete($id){
$this->Session->setFlash('Votre page a bien été supprimer','notif');
$this->Post->delete($id);
$this->redirect($this->referer());
}
}
ma pages : admin_edit.php
<div class="page-header">
<h1>Editer une page</h1>
<?php echo $this->Form->create('Post');?>
<?php echo $this->Form->input('name',array('label'=>'Titre'));?>
<?php echo $this->Form->input('slug',array('label'=>'URL'));?>
<?php echo $this->Form->input('type',array('value'=>'page','type'=>'hidden')); ?>
<?php echo $this->Form->input('id'); ?>
<?php echo $this->Form->input('content',array('label'=>'Contenu'));?>
<?php echo $this->Form->input('online',array('label'=>'En ligne ?'));?>
<?php echo $this->Form->end('Envoyer');?>
</div>
Par contre j'ai retiré request dans la partie admin_edit car il n'est pas reconnu dans cette version.
concernant la suppression des pages ca fonctionne correctement
Je vous remerci de votre aide
cafreunion
Bonsoir,
J'avais installé la mauvaise version (j'ai installé la version 1.3 au lieu de 2.1) maintenant tout est ok
Merci
Cafreunion
Pourquoi ne passes tu pas par la dernière version de cakePHP, tu aurais comme cela plus de compatibilité ?