Router la pagination (paginate())

Ce sujet est résolu
Default
,

Bonjour

Suite sur le route je souhaitais savoir comment faire pour router les url des lien créé par paginate.

C'est à dire les next, prev et les nombre.

A savoir que c'est pour les tableau de mon administration

Voila ce que j'ai fait

Router::connect(
    '/admin/administration_des_categories/:id',
        array('controller' => 'categories', 'action' => 'index', 'prefix' => 'admin'),
        array('pass'=>array('id'),
        'id'=>'[0-9]+'
        )
    );

Merci d'avance

4 Réponse

Default
,

Merci de ta réponse mais non ça na va pas, j'avais vu ça dans la doc mais ça ne marchait pas non plus ...

En faite en plus de ta solution il faut faire attention à l'ordre des router (comme tu le dis sur ton tuto)

Je faisait

Router::connect(
    '/admin/administration_des_categories',
    array('controller' => 'categories', 'action' => 'index', 'prefix' => 'admin')
    );


    Router::connect(  
     '/admin/administration_des_categories/*',  
         array('controller' => 'categories', 'action' => 'index', 'admin'=>true)  
     );

Alors qu'il fallait faire

Router::connect(  
     '/admin/administration_des_categories/*',  
         array('controller' => 'categories', 'action' => 'index', 'admin'=>true)  
     );


    Router::connect(
    '/admin/administration_des_categories',
    array('controller' => 'categories', 'action' => 'index', 'prefix' => 'admin')
    );

Le problème est résolu merci beaucoup

Default
,

Je suis enfin arriver à ré écrire mes pagination en faisant

Router::connect(
    '/admin/administration_des_categories/*',
        array('controller' => 'categories', 'action' => 'admin_index')
    );

Mais maintenant j'ai cette erreur

Error: CategoriesController::admin_index() cannot be accessed directly.

J'avais eu le même problème avec l'envoie des formulaire que je suis arrivé à resoudre en mettant

echo $this->Form->create(array('controller' => 'categories', 'action' => 'edit'));

Mais la je ne vois pas comment faire

Amicalement

1
,

Comme te le dit l'erreur on ne peux accéder directement à une view admin. Ce que tu peux faire :

Router::connect(
    '/admin/administration_des_categories/*',
        array('controller' => 'categories', 'action' => 'index','admin'=>true)
    );
Default
,

Ps je me suis permis de valider ma réponse pour avoir la solution complète

Amicalement