Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-01-2013 17:59:59

Bebert
Membre
Date d'inscription: 30-04-2008
Messages: 51

ajout d'un controleur

bonjour,
Dans l'exemple Album je souhaite ajouter un nouveau controlleur TotoController.php avec ses actions.
Je n'arrive pas à configuer le module.config.php pour ouvrir la route album/toto/index ....

Code:

<?php
return array(
    'controllers' => array(
        'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',
        ),
    ),
    
    'router' => array(
        'routes' => array(
            'album' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/album[/:action][/:id][/]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
                    'defaults' => array(
                        'controller' => 'Album\Controller\Album',
                        'action'     => 'index',
                    ),
                ),
            ),
        ),
    ),

...

merci


Bertrand

Hors ligne

 

#2 25-01-2013 19:21:50

jfvole
Membre
Date d'inscription: 20-11-2010
Messages: 69

Re: ajout d'un controleur

Bonjour,

Tout simplement en ajoutant 2 éléments.

1° l'emplacement du controller
2° La route (URL) associé a ce controller

'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',
            'Album\Controller\Toto' => 'Album\Controller\TotoController',
        ),
    ),
   
    'router' => array(
        'routes' => array(
            'album' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/album[/:action][/:id][/]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
            'toto' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/toto[/:action][/:id][/]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
                    'defaults' => array(
                        'controller' => 'Album\Controller\Toto',
                        'action'     => 'index',
                    ),
                ),
            ),
        ),
    ),

Hors ligne

 

#3 28-01-2013 09:44:56

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ajout d'un controleur

Salut, sinon tu pouvais utiliser la recherche on a eu 2 fois la question la semaine dernière wink

Hors ligne

 

#4 28-01-2013 17:58:09

Bebert
Membre
Date d'inscription: 30-04-2008
Messages: 51

Re: ajout d'un controleur

ok merci
j'ai remis en forme

Code:

return array(
    'controllers' => array(
        'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',
           'Album\Controller\Toto' => 'Album\Controller\TotoController',
        ),
    ),
    
    'router' => array(
        'routes' => array(
            'album' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/album[/:action][/:id][/]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
                    'defaults' => array(
                        'controller' => 'Album\Controller\Album',
                        'action'     => 'index',
                    ),
                ),
            ),// fin de album
            
             'toto' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/toto[/:action][/:id][/]',                 
                    'defaults' => array(
                        'controller' => 'Album\Controller\Toto',
                        'action'     => 'index',
                    ),
                ),
            ),// fin de toto
        ),
    ),
    

    'view_manager' => array(
        'template_path_stack' => array(
            'album' => __DIR__ . '/../view',
        ),
    ),
);

Orkin a écrit:

Salut, sinon tu pouvais utiliser la recherche on a eu 2 fois la question la semaine dernière wink

Je  n'ai pas trouvé, si tu pouvais mettre les liens, pour les prochains visiteurs, merci


Bertrand

Hors ligne

 

#5 28-01-2013 20:13:08

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ajout d'un controleur

Hors ligne

 

#6 30-01-2013 14:34:36

Bebert
Membre
Date d'inscription: 30-04-2008
Messages: 51

Re: ajout d'un controleur

bonjour,
J'essaye de passer la route de mon controlleur toto en literal

Code:

module / module.config.php :
   'toto' => array(
                'type'    => 'literal',
                'options' => array(
                    'route'    => '/album/toto',                 
                    'defaults' => array(
                        'controller' => 'Album\Controller\Toto',
                        'action'     => 'index',
                    ),
                ),

l'adresse http://zf2/album/toto marche bien
mais avec la methode foo  http://zf2/album/toto/foo ça marche pas.
merci


Bertrand

Hors ligne

 

#7 30-01-2013 14:43:42

Thoomaas
Membre
Date d'inscription: 31-10-2011
Messages: 17

Re: ajout d'un controleur

/album/toto fonctionne puisque tu as défini la route dans ton fichier. Cela appelle le contrôleur toto et l'action index.

Si tu veux accéder à ton action foo dans le contrôleur toto, il faut définir une nouvelle route en spécifiant le même contrôleur mais cette fois ci en indiquant que l'action est foo.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages