+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre régulier
    Homme Profil pro Stéphane A.
    Inscrit en
    décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Stéphane A.
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : décembre 2008
    Messages : 299
    Points : 70
    Points
    70

    Par défaut Problème de layout dans cakephp

    Bonjour,


    Je fais actuellement la partie admin d'un tutoriel trouvé sur un autre site. Arrivé à la partie admin, l'affichage ne se fait pas.
    La mise à jour du fichier core a été fais et le fichier appcontroller.

    lorsque j'appel la page admin j'ai un double affichage de mon layout par defaut

    PageController.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <?php
     
    App::uses('AppController', 'Controller');
     
    /**
     * Static content controller
     *
     * Override this controller by placing a copy in controllers directory of an application
     *
     * @package       app.Controller
     * @link http://book.cakephp.org/2.0/en/controllers/pages-controller.html
     */
    class PagesController extends AppController {
     
    /**
     * Controller name
     *
     * @var string
     */
    	public $name = 'Pages';
     
    /**
     * Default helper
     *
     * @var array
     */
    	public $helpers = array('Html', 'Session');
     
    /**
     * This controller does not use a model
     *
     * @var array
     */
    		public $uses = array('Post');
     
    /**
     * Displays a view
     *
     * @param mixed What page to display
     * @return void
     */
    	public function display() {
    		$path = func_get_args();
     
    		$count = count($path);
    		if (!$count) {
    			$this->redirect('/');
    		}
    		$page = $subpage = $title_for_layout = null;
     
    		if (!empty($path[0])) {
    			$page = $path[0];
    		}
    		if (!empty($path[1])) {
    			$subpage = $path[1];
    		}
    		if (!empty($path[$count - 1])) {
    			$title_for_layout = Inflector::humanize($path[$count - 1]);
    		}
    		$this->set(compact('page', 'subpage', 'title_for_layout'));
    		$this->render(implode('/', $path));
    	}
    	function menu(){
    			$pages = $this->Post->find('all',array(
    				'conditions' => array('type' =>'page', 'online'=>1),
    				'fields' =>array('id','slug','name')
    				));
    				return $pages;
    	}
    	function show($id = null, $slug = null){
    		if(!$id)
    			throw new NotFoundException('Aucune page ne correspond a cet ID');		
    		$page = $this->Post->find('first',array(
    			'conditions' => array('id' => $id)
    			));
    			if(empty($page))
    				throw new NotFoundException('Aucune page ne correspond a cet ID');
    			if($slug != $page['Post']['slug'])
    				$this->redirect($page['Post']['link'],301);
    			$d['page'] = current($page);
    			$this->set($d);
    		}	
    		/**
    		* parie avec les prefix
    		**/
    		function admin_index(){
    		$d['pages'] = $this->Paginate('Post',array('type'=>'page'));
    		$this->set($d);
    	}
     
    }
    Mon fichier AppController.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
     
    App::uses('Controller', 'Controller');
     
     
    class AppController extends Controller {
     
    	public $helpers = array('Text','Form','Html','Session','Cache');
    	public $components = array('Session','Cookie',
    		'Auth' => array(
    			'authenticate' =>array(
    				'Form' => array(
    					'scope'=>array('User.active'=>1)
    					)
    				)
    			)		
    		);	
     
    	function beforeFilter(){
    		$this->Auth->loginAction = array('controller'=>'users','action'=>'login','membre'=>false,'admin'=>false);
    		$this->Auth->authorize = array('Controller');
     
    		if(!isset($this->request->params['prefix'])){
    			$this->Auth->allow();	
    		}
    		if(isset($this->request->params['prefix']) && $this->request->params['prefix'] == 'admin'){
                $this->layout = 'admin';
    		}
    	}
    }
    Ci-joint une capture écran de ce que j'ai en affichage dans le navigateur

    ca fait 3 jour que j'essaye de voir d('ou viens le soucis

    Je vous remercie de votre aide

    Runcafre91
    Images attachées Images attachées

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    février 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : février 2012
    Messages : 54
    Points : 60
    Points
    60

    Par défaut

    Salut, désolé de la réponse tardive, mais dans l'image que tu donnes il te dit qu'il manque une action "admin_menu", crée la dans ton "controller" et regarde le résultat.

  3. #3
    Membre régulier
    Homme Profil pro Stéphane A.
    Inscrit en
    décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Stéphane A.
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : décembre 2008
    Messages : 299
    Points : 70
    Points
    70

    Par défaut

    Citation Envoyé par ch0c4 Voir le message
    Salut, désolé de la réponse tardive, mais dans l'image que tu donnes il te dit qu'il manque une action "admin_menu", crée la dans ton "controller" et regarde le résultat.
    Bonjour,

    j'avais créé un admin_menu.ctp (l'action + la vue) mais cela n'a rien changer
    Du coups j'ai laissé de coté pour le momment cette parti afin d'avancer sur autrechoe

    merci de votre réponse

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •