Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > CakePHP
CakePHP Forum d'entraide sur le framework PHP CakePHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/11/2012, 21h21   #1
runcafre91
Membre du Club
 
Homme Stéphane A.
Inscription : 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 : 68
Points : 68
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
Type de fichier : gif layout.GIF (56,7 Ko, 7 affichages)
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 08h29   #2
ch0c4
Futur Membre du Club
 
Homme
Développeur Web
Inscription : février 2012
Messages : 21
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 : 21
Points : 19
Points : 19
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.
ch0c4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 13h19   #3
runcafre91
Membre du Club
 
Homme Stéphane A.
Inscription : 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 : 68
Points : 68
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
runcafre91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h45.


 
 
 
 
Partenaires

Hébergement Web