Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Coucou les devs
Bon alors voila, je suis entrain de commencer un back office, pour cela je créé un nouveau module.
Ca aurait été trop facil de comprendre pourquoi je n'arrive pas à atteindre mon url...
Tout d'abord j'utilise ZendDevelopperTools ^^
- J'ai bien déclaré le module dans mon application.config.php:
'modules' => array(
'Application',
'Backoffice',
...
),
- j'ai créé le dossier Backoffice,
dans mon fichier module.config.php :
return array(
'controllers' => array(
'invokables' => array(
'Backoffice' => 'Backoffice\Controller\BackofficeController',
),
),
'router' => array(
'routes' => array(
/***** /index back office ******/
'admin' => array(
'type' => 'literal',
'options' => array(
'route' => '/admin',
'defaults' => array(
'controller' => 'Backoffice',
'action' => 'admin',
),
),
),
),
),
'session' => array(
'remember_me_seconds' => 2419200,
'use_cookies' => true,
'cookie_httponly' => true,
),
'view_manager' => array(
'template_path_stack' => array(
'backoffice' => __DIR__ . '/../view',
),
),
);
dans Module.php:
namespace BackOffice;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
et enfin mon controleur BackofficeController :
namespace Backoffice\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class BackofficeController extends AbstractActionController {
public function adminAction(){
return new ViewModel();
}
}
Et au final, erreur 404,
Page not found.
The requested URL could not be matched by routing.
SI vous avez une petite idée.. Je suis preneur
EDIT: J'ai oublié de préciser que dans mon dossier view:
J'ai un fichier: view/backoffice/admin.phtml
Dernière modification par flobrflo (06-05-2013 09:38:07)
Hors ligne
Là y'a un O majuscule dans office
namespace BackOffice;
class Module
{
Hors ligne
Ah wé =o
Au départ j'ai voulu appeler le module BackOffice, puis j'ai préféré armoniser en mettant Backoffice, celui-ci est passé à cotés. bien vu!
Malheureusement ça ne résout pas le problème
Hors ligne
Quel est le lien utilisé pour appelé la page ?
Hors ligne
je voudrais faire en sorte que mon url soit du type:
www.monsite.fr/admin
pour arriver sur une page de connection (mais avant de faire ma connexion, un simple hello world sur cette route serait déjà bien ^^)
Hors ligne
Je vois une autre erreur:
Ta vue doit être situé dans le dossier suivant :
view/backoffice/backoffice/admin.phtml.
Pour la route je ne vois pas, ça m'a l'air correct.
Tu n'as pas le message d'erreur complet ?
Je te conseil aussi d'installer le module Zf2Whoops pour tes dev
Hors ligne
Ah oui, je l'ai corrigé. (décidemment )
l'erreur complète c'est:
A 404 error occurred
Page not found.
The requested URL could not be matched by routing.
No Exception available
Malheureusement je n'en sais pas vraiment plus...
Je ne connaissais pas ZF2Whoops je vais jeter un coup d'oeuil dessus
Hors ligne
Rajoute ca dans ton fichier module :
use Zend\ModuleManager\Feature;
class Module implements
Feature\AutoloaderProviderInterface,
Feature\ConfigProviderInterface
{
Hors ligne
euh ça me mets 2 erreurs (mais plus le url not found) :
Fatal error: Uncaught exception 'Zend\Loader\Exception\InvalidArgumentException' with message 'Map file provided does not exist.
Zend\Loader\Exception\InvalidArgumentException: Map file provided does not exist.
Désolé pour le retard de la réponse, mais je suis partis ce week-end...
Hors ligne
bon ces erreurs venaient du fait que mon class_map était un copier collé d'un autre module:
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
En enlevant la partie ClassMapAutoloader je reviens à l'url not found.
Hors ligne
Ok j'ai trouvé l'erreur...
Enfait je travail avec netbeans, et en créant les fichier autoload_classmap.php et backofficeControleur, ils ne se sont pas transférés correctement sur mon serveur... (un peu la honte la ^^')
Merci pour ton aide alien7
Hors ligne
Salut, tu peux utiliser la fonction éditer aussi
Hors ligne
Pages: 1