Bonjour a tous voila mon probleme, d'ai que je commence le tutoriel ( auth pour un blog) et que je met:
function beforeFilter(){ $this->Auth->allow('*');}
, mais ma page ne s'affiche pas correctement un peu comme sertain site sur internet explorer, et en plus on m'autorise l'accès au site et dans au site et à la place de category on me mais "Fatal error: Call to a member function allow() on a non-object in C:\UwAmp\www\cakephp-\app\Controller\categories_controller.php on line 6" que dans la la premiere page du blog dans les autre page tous s'affiche correctement.
Voila j'esspere que vous aurez compris mon probleme et merci d'avance;D.
ps:
<?php
class CategoriesController extends Controller{
var $name = "Categories";
function beforeFilter(){
$this->Auth->allow('*');
}
function clist(){
return $this->Category->find('all',array(
'recursive' => -1
));
}
}
?>
et
<?php
class PostsController extends AppController{
var $name="Posts";
var $paginate = array(
'Post' => array(
'limit' => 3,
'order' => array(
'Post.date' => 'Desc'
)
));
var $helpers = array('Html','Date');
function actu(){
$q = $this->paginate('Post');
$this->set('articles' , $q);
}
function category($id){
$q = $this->paginate('Post',array("Post.category_id"=>$id));
$this->set('articles',$q);
$this->render("actu");
}
function edit($id=null){
$c = $this->Post->Category->find('list',array('recursive'=> -1,
'fields' => array('id','titre')
));
$this->set('cats',$c);
$this->layout='admin';
if($this->data){
$this->Post->save($this->data);
$this->Session->setFlash('L\'article a bien été édite');
$this->redirect('alist');
}
if($id!=null){
$this->Post->id = $id;
$this->data=$this->Post->read();
}
}
function del($id){
$this->Post->delete($id);
$this->Session->setFlash('L\'article est bien supprimé');
$this->redirect('alist');
}
function alist(){
$this->layout='admin';
$q = $this->paginate('Post');
$this->set('articles',$q);
}
}
?>
j'uttilise cakephp 2.0
Créer un appController
class AppController extends Controller {
public $helpers = array('Html','Text','Form','Session','Cache');
public $components = array('Session','Auth');
/**
* Adminstration
**/
function beforeFilter(){
$this->Auth->allow();
}
}
et dans CategoriesController
<?php
class CategoriesController extends Controller{
public function clist()
{
return $this->Category->find('all',array(
'recursive' => -1
));
}
}
?>
sa ne change rien a mon probleme et quand je met beforeFilter sa me met :' Call to a member function allow() on a non-object in C:\UwAmp\www\cakephp-\app\Controller\categories_controller.php on line 5' peut etre que le probleme vient de la?
Dans ton categoriesController, dans ton beforeFilter n'oublie pas d'appeller le beforeFilter parent avec parent::beforeFilter()