Chamar uma action do controller na view, tem como?

1,639 views
Skip to first unread message

mineiro-df

unread,
May 24, 2011, 8:13:59 PM5/24/11
to CakePHP Tuga
Ola pessoa , tem como criar uma action qualquer no controller e na
view em determinada situacao chamala?

Por exemplo, no meu controller tem um metodo(action) chamado
recortar_frase($frase) ... na minha view eu poderia chama-la
retornando o devido resultado gerado pela action??

Se tiver como, so preciso saber como invocar o metodo dentro da
view...

Alguem ae pode me ajudar???


valew

Vitor Pacheco

unread,
May 24, 2011, 9:38:12 PM5/24/11
to cakep...@googlegroups.com
isso parece ser uma função de um helper[1], não de um controller...
mas se for uma action de controller mesmo, você pode fazer usando elements[2]..

[1] http://book.cakephp.org/view/1095/Helpers
[2] http://book.cakephp.org/view/1081/Elements


--
CakePHP Tuga (cakephp-pt)

Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org

Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT



--
Vitor Pacheco
Skype: vitor.pacheco.costa
Msn: vito...@hotmail.com

Cel.: 71 8626-7909
Tel.: 71 3378-5778
Tel.: 71 3287-3475

Edinei L. Cipriani

unread,
May 24, 2011, 11:41:21 PM5/24/11
to cakep...@googlegroups.com
Ola amigo,
para fazer isso utlize o metodo requestAction();
Ex.:

//na view:

$retorno = $this->requestAction(array('controller' => 'nameOfController', 'action' => 'nameOfAction'));

pr($retorno);


//no controller

action nameOfAction(){
if ( isset($this->params['requested']) && $this->params['requested'] == 1){
      return 'Hi i am a requested action';
    }
}

espero ter ajudado :)



Em 24 de maio de 2011 21:13, mineiro-df <jonesg...@gmail.com> escreveu:
--
CakePHP Tuga (cakephp-pt)

Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org

Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT



--
Edinei L. Cipriani
Site/Blog: http://edineicipriani.com.br

mineiro-df

unread,
May 25, 2011, 8:09:29 AM5/25/11
to CakePHP Tuga
Ola Edinei obrigado pela dica, aqui funcou direitinho conforme voce
passou, mas nao estou conseguindo chamar a action passando parametros.

Por favor, como seria a mesma funcao passando um parametro??

EU tentei assim (exemplo):

$retorno = $this->requestAction(array('controller' =>
'nameOfController',
'action' => 'nameOfAction', $valor_1, $valor_2));

p um action do tipo:

action nameOfAction($valor_1, $valor_2){
if ( isset($this->params['requested']) && $this->params['requested']
== 1){
return 'Hi i am a requested action';
}

}

mas nao funfou... oq poderia estar errado?

valew


On May 25, 12:41 am, "Edinei L. Cipriani" <phpedi...@gmail.com> wrote:
> Ola amigo,
> para fazer isso utlize o metodo requestAction();
> Ex.:
>
> //na view:
>



>
> pr($retorno);
>
> //no controller
>
> action nameOfAction(){
> if ( isset($this->params['requested']) && $this->params['requested'] == 1){
>       return 'Hi i am a requested action';
>     }
>
> }
>
> espero ter ajudado :)
>
> Em 24 de maio de 2011 21:13, mineiro-df <jonesguid...@gmail.com> escreveu:
>
>
>
>
>
>
>
>
>
> > Ola pessoa , tem como criar uma action qualquer no controller e na
> > view em determinada situacao chamala?
>
> > Por exemplo, no meu controller tem um metodo(action) chamado
> > recortar_frase($frase)  ... na minha view eu poderia chama-la
> > retornando o devido resultado gerado pela action??
>
> > Se tiver como, so preciso saber como invocar o metodo dentro da
> > view...
>
> > Alguem ae pode me ajudar???
>
> > valew
>
> > --
> > CakePHP Tuga (cakephp-pt)
>
> > Utilizehttp://bin.cakephp.orgpara códigos

Marco Aurélio

unread,
May 25, 2011, 8:20:18 AM5/25/11
to cakep...@googlegroups.com
Bom dia.

Mineiro você pode  fazer da seguinte forma:

$retorno = requestAction('controller/action/param1/param2/n...');  //onde param é o valor

ou

$retorno = requestAction('controller/action/param1:valor1/param2:valor2/n...'); //

Tem como passar um array também.
Acesse: http://book.cakephp.org/pt/view/991/requestAction


Marco Aurélio
___________________________________________________________




--
CakePHP Tuga (cakephp-pt)

Utilize http://bin.cakephp.org para códigos



--
    
     --Marco Aurélio--

mineiro-df

unread,
May 25, 2011, 8:39:52 AM5/25/11
to CakePHP Tuga
Valew mano! Agora deu certo!

Abraço, valew

On May 25, 9:20 am, Marco Aurélio <marcoarms...@gmail.com> wrote:
> Bom dia.
>
> Mineiro você pode  fazer da seguinte forma:
>
> $retorno = requestAction('controller/action/param1/param2/n...');  //onde
> param é o valor
>
> ou
>
> $retorno =
> requestAction('controller/action/param1:valor1/param2:valor2/n...'); //
>
> Tem como passar um array também.
> Acesse:http://book.cakephp.org/pt/view/991/requestAction
>
> Marco Aurélio
> ___________________________________________________________
>
>      --Marco Aurélio--

Dayvison Silva

unread,
May 24, 2011, 9:07:52 PM5/24/11
to cakep...@googlegroups.com
Cara, Pra isso êh melhor vc criar um helper

Enviado via iPhone

> --
> CakePHP Tuga (cakephp-pt)
>
> Utilize http://bin.cakephp.org para códigos

Edinei L Cipriani

unread,
May 25, 2011, 11:48:11 AM5/25/11
to cakep...@googlegroups.com
Opa, para passar um parâmetro tem q utilizar assim:

requestAction(array(), array("pass"=>array("eusouumparametropassado")))

Enviado via iPhone

> --
> CakePHP Tuga (cakephp-pt)
>
> Utilize http://bin.cakephp.org para códigos

Reply all
Reply to author
Forward
0 new messages