Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
bonjour.
j'ai un probleme de routage. le cas je veux créer un admin qui va gérer entre autres les ville. j'ai créé un dossier Admin qui contient deux controller : AdminController et VilleController. pour le fichier module.config j'ai utilisé :
===========================
<?php
return array(
'controllers' => array(
'invokables' => array(
'Admin\Controller\Admin' => 'Admin\Controller\AdminController',
'Admin\Controller\Ville' => 'Admin\Controller\VilleController',
),
),
'router' => array(
'routes' => array(
'admin' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/admin',
'defaults' => array(
'controller' => 'Admin\Controller\Admin',
'action' => 'index'
),
),
),
),
'ville' => array(
'type' => 'Segment',
'options' => array(
'route' => '/ville[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Admin\Controller\Ville',
'action' => 'index',
),
),
),
),
'view_manager' => array(
'template_path_stack' => array('admin' => __DIR__ . '/../view'),
'template_map' => array('layout/layout' => __DIR__ . '/../view/layout/admin.phtml'),
),
============================
si je tape l'adresse localhost/projet/admin/ville, j'obtiens l'erreur suivant:
A 404 error occurred
Page not found.
The requested URL could not be matched by routing
des pistes svp
Hors ligne
1 - t'as pas de route "projet"
2 - "ville" n'est pas une route enfant de "admin"
Hors ligne
1/ non projet n'est pas une route c'est le nom de dossier du projet.
2/ oui ville est une route de admin.
en faite, ce que je cherche à faire : il y a des taches à faire par l'admin (par exemple gestion des villes). mon idée est de créer un dossier admin qui devra contenir les contrôleurs correspondant aux taches de l'admin.
merci à vous
Hors ligne
Merci a vous j'ai arrivé a résoudre ce problème c'était question d'ordre de fermeture des parenthèses dans le router.
merci encore
Hors ligne
bonjour.
le problème surjet de nouveau. voici mon route :
===============================
'router' => array(
'routes' => array(
'admin' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/admin',
'defaults' => array(
'controller' => 'Admin\Controller\Admin',
'action' => 'index'
),
),
'may_terminate' => true,
'child_routes' => array(
'ville' => array(
'type' => 'Segment',
'options' => array(
'route' => '/ville[/:action][/:id][/page/:page]',
'constraints' => array(
'action' => '(?!\bpage\b)[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
'page' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Admin\Controller\Ville',
'action' => 'index',
),
),
),
),
),
),
),
=============================
je souhaite accéder aux pages :
/admin
/admin/ville/page/2
/admin/ville/add
/admin/delete/4
merci
Hors ligne
Hum,
hello
Je te conseil de bien séparer tes routes, faits des childs routes supplémentaires ^^
Parce que la c'est beaucoup de routes !très! différentes pour une seule child.
Et ça sera plus clair pour ta regex aussi
Dernière modification par flobrflo (24-04-2014 16:30:43)
Hors ligne
Pages: 1