Yii Framework Forum: Enviar Dados Do Filter Para Action - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Enviar Dados Do Filter Para Action Rate Topic: -----

#1 User is offline   Rodrigo Bonjour 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 1
  • Joined: 11-January 13

Posted 11 January 2013 - 10:49 PM

Olá pessoal,

Estou migrando um site de java para PHP com Yii. Eu tenho inúmeros filters que carregam coisas que são comuns no meu site (é um site, não um sistema). Para que a action possa ser carregada, eu preciso buscar coisas no banco (ou cache) antes da action ocorrer, para isso eu tenho filtros, porém, uma vez tendo esse dado carregado, como eu posso manda-lo para a action para que a mesma possa usar ??

Desde já agradeço...
0

#2 User is offline   Lothor 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 147
  • Joined: 05-August 11
  • Location:Brazil

Posted 14 February 2013 - 07:28 AM

Rodrigo Bonjour, de que forma estás fazendo atualmente?

Podes armazenar os valores em uma variável do controller para que assim, possas utilizá-los em suas actions.
0

#3 User is offline   yigor 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 8
  • Joined: 14-February 13
  • Location:Brazil

Posted 14 February 2013 - 02:13 PM

Acho que entendi o que vc quer fazer, acredito que a melhor forma seria setar uma variável global no modelo e definir o valor dela com um behavior.

segue um exemplo:

no modelo
class MyModel extends CActiveRecord
{
    var $variavelb;
    ...
    //neste behavior a variavel vai ser filtrada todas as vezes que a variavel for consultada do banco
    public function afterFind(){
         //levando em consideração q variavela eh um campo na base de dados
         $this->variavelb = $this->myfilter($this->variavela);
    }
    function myfilter($variavel){
       return $variavel + 1;
    }

}


no controlador

class SiteController extends Controller {
     public function actionIndex() {
           $model = MyModel::model()->findAll();
           $this->render('index', $model);
     }
}


e finalmente o view

<?php 
   foreach ($model as $rows) { 
        echo $rows->variavelb;
   }
?>


Desta forma, cada vez que um registro for lido a variável será transformada e jogada para uma nova variável e vc pode ler ela como um novo campo com maior praticidade.

Espero ter ajudado
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users