Bonjour,
J'ai un souci étrange : si je veux établir un système d'administration, il m'est impossible de passer par un controller "admin" et sa méthode "index" avec "var $uses= array()" pour ne pas utiliser de model.
Il m'est exigé de passer par le PostsController :
Missing Method in PostsController
Error: The action admin_index is not defined in controller PostsController
Error: Create PostsController::admin_index() in file: app\controllers\posts_controller.php.
J'aimerais ne pas passer par "admin_index" dans le PostsController mais plutôt par "index" dans AdminController.
Savez-vous pourquoi?
Merci !
Salut,
désactive le prefix admin dans le fichier core.php
Configure::write('Routing.prefixes', array('admin'));
met :
Configure::write('Routing.prefixes', array());
Ah ben à toi de configurer les Routes dans ce cas pour qu'elle redirige vers l'action voulue :)
Merci, en effet ça fonctionne !
En fait ce n'était pas vraiment ça que je voulais faire. :s
Je voudrais que que "admin_index.ctp" soit détaché du dossier "/views/posts", puisqu'il doit permettre de gérer plusieurs contrôleurs (posts, users, ...). Par exemple qu'il soit à la racine de "views/" ou dans un dossier spécifique.
Sacez-vous comment faire? Merci !
Ah tu parle de charger une vue spécifique ?
A la fin de ton action dans le controller tu fais $this->render('/outuveux/tavue')
le / designant le dossier views, tu ne pourras pas mettre de vue ailleurs de toute façon.
Merci pour la réponse.
Je ne pense pas que l'on parle de la même chose. :s
Je voudrais que quand on se rend à : "adressedusite/admin", on passe par le controller "AdminController", sauf que CakePHP veut impérativement passer par le controller "PostsController" et l'action "admin_index" (certainement parce que j'ai fait une mauvaise manip' ?).
Voilà le message d'erreur lorsque je me rends à "adressedusite/admin/" après avoir supprimé "admin_index" du controller "PostsController" :
Missing Method in PostsController
Error: The action admin_index is not defined in controller PostsController
Error: Create PostsController::admin_index() in file: app\controllers\posts_controller.php.
<?php
class PostsController extends AppController {
var $name = 'Posts';
function admin_index() {
}
}
?>
Vous avez une idée? Merci. ;)