E ae pessoal...

Então, estou tentando com os hooks mesmo, muito interessante eles por
sinal...

A grosso modo, deu certo, mas não como eu gostaria... Só consegui
enviar para a URL certa, redirecionando o usuário.
Meu hook ficou assim:

sl_hook.php
<?php defined('SYSPATH') OR die('No direct access allowed.');

function sl_url_padrao(){
        $username = URI::rsegment(1);

        if (!empty($username)){
                $db = Database::instance();

                $user_exists = $db->query("SELECT COUNT(*) FROM users WHERE 
username
= '" . $username . "'");

                if ($user_exists[0]->count >= 1){
                        //Router::$current_uri = 'sl/index/' .
$username; //não funciona
                        url::redirect('sl/index/' . $username); //funciona
                } else {
                        Event::run('system.404');
                }
        } else {
                echo 'error';
        }
}

Event::add_before('system.404', array('Kohana', 'show_404'),
'sl_url_padrao');

Então, antes de rodar o 404 ele verifica se o parâmetro é um usuário
cadastrado, se for, deveria chamar o cotroller sl, o método index,
passando o username como parâmetro, mas não rola assim, eu preciso
redirecionar para dar certo...

Alguma sugestão?



On 23 maio, 23:55, Thiago <[email protected]> wrote:
> Cara, eu passei pela mesmíssima situação, ou pelo menos algo bem
> próximo.
> O que eu fiz foi utilizar Hooks, sim, este poderoso recurso! Aqui está
> um link que me ajudou 
> MUITO:http://grbnzo.com/2009/04/dynamic-routes-in-kohana/
>
> Espero que ajude,
> Abraços,
>
> On 19 maio, 18:55, Diego Viana <[email protected]> wrote:
>
>
>
> > Pessoal, eu estou precisando de um help...
>
> > Na minha aplicação, o usuario vai ter um endereço próprio, e tem que
> > funcionar da seguinte forma: "www.dominio.com.br/nome_do_usuario".
> > Essa URL seria a correta (reescrita), mas na verdade ela teria que
> > chamar essa "www.dominio.com.br/sl/index/nome_do_usuario".
>
> > Eu consegui tirar o index.php da URL e setei no routes.php, o
> > $config['_default'] para o meu controller usuarios, portanto, a raiz
> > da minha aplicação é o controller usuarios e o método index, então se
> > eu colocar "www.dominio.com.br/nome_do_usuario" ele vai entender que o
> > nome_do_usuario é um metodo do controller usuarios certo?
>
> > Aí é que está, eu preciso criar alguma ER no .htaccess que ao invés de
> > chamar um método do controller usuários, chame o sl/index/
> > nome_do_usuario. Isso é o que eu estou pensando, talvez tenha outra
> > forma, não sei.
>
> > Se alguém puder me ajudar, serei muito grato...
>
> > Vlw...
>
> > --
> > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" 
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para [email protected].
> > Para cancelar a inscrição nesse grupo, envie um e-mail para 
> > [email protected].
> > Para obter mais opções, visite esse grupo 
> > emhttp://groups.google.com/group/kohana-php?hl=pt-BR.
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" 
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para 
> [email protected].
> Para obter mais opções, visite esse grupo 
> emhttp://groups.google.com/group/kohana-php?hl=pt-BR.

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a