Pourquoi ne passes tu pas par la dernière version de cakePHP, tu aurais comme cela plus de compatibilité ?
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
2 réponses
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