Probeme lors d'édition d'une page

Par cafreunion, il y a 13 ans


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

zenkiai, il y a 13 ans

Pourquoi ne passes tu pas par la dernière version de cakePHP, tu aurais comme cela plus de compatibilité ?

cafreunion, il y a 13 ans

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