Parametro Na Url

Olá a todos,

mais uma vez trazendo uma dúvida aqui… to usando url amigável, e ta o seguinte meu url manager


'urlManager' => array(

            'urlFormat' => 'path',

            'showScriptName' => false,

            'rules' => array(                  

                'pattern1' => 'route1',

                'pattern2' => 'route2',

                'pattern3' => 'route3',

            ),

        ),

Acontece o seguinte, o cliente vai acessar www.dominio.com.br/portal e também existira www.dominio.com.br/mg e /sp e todos os estados…então gostaria que que esse primeiro parametro da url fosse uma variável e não a controller… alguem saberia como fazer isso?

Obrigado!

Dê uma olhada no guia sobre Custom URL Rule Classes. Você pode buscar inspiração na minha extensão dburlmanager.

Obrigado Rodrigo, vou dar uma olhada e fazer uns testes!

Não sei se estou fazendo algo errado mas parece não funcionar…

o meu config está assim…


 'urlManager' => array(

            'urlFormat' => 'path',

            'showScriptName' => false,

            'rules' => array(

                'class' => 'application.components.FederacaoUrlRule',

                'connectionID' => 'db',

                'pattern'=>'pattern1',

            ),

        ),

Dentro desse componente extendi os 2 metódos abstratos crealUrl e parseUrl, e coloquei um var_dump dentro dos 2 metodos e um exit, so pra saber se estava entrando…mas parece que não é executado nunca… alguma dica? ta certo o config ali?

Resolvido, estava errado, faltando um array dentro da rules.

código certo:


'urlManager' => array(

            'urlFormat' => 'path',

            'showScriptName' => false,

            'rules' => array(array(

                'class' => 'application.components.FederacaoUrlRule',                                

            ),

                ),