Yii Framework Forum: A Volte I Filtri Sulla Griglia Si Bloccano - Yii Framework Forum

Jump to content

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

A Volte I Filtri Sulla Griglia Si Bloccano bug mio o di Yii? Rate Topic: -----

#1 User is offline   Giancarlo 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 242
  • Joined: 20-December 11
  • Location:Turin, Italy

Posted 16 October 2012 - 07:24 AM

Ho realizzato nella view una griglia con filtri:

$this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'test-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'CAMPO_A',
		'CAMPO_B',
...
...

nella view c'è solo quanto scritto.
Sul browser:
1) filtro per il CAMPO_B (ad esempio scrivo PIPPO),
2) ordino per il CAMPO_B
3) provo a cancellare il filtro, ma non accetta più la modifica
ritorna sempre PIPPO
Nel controller ho scritto:
$model=new Modello('search');
$model->unsetAttributes();  // clear any default values
if(isset($_GET['Modello']))
	$model->attributes=$_GET['Modello'];
$this->render('index',array('model'=>$model));

Sembra tutto corretto, eppure la griglia si pianta.
Vi risulta un comportamento così anomalo?
Posted Image Non preoccuparti, è dentro il monitor!

Sapevi che cercando su google yii + "la funzione su cui stai impazzendo", trovi quasi sempre dei buoni indizi in italiano, per risolvere i tuoi problemi, senza perdere tempo a postare?
0

#2 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 619
  • Joined: 03-October 12
  • Location:Ferrara

Posted 16 October 2012 - 07:30 AM

Di primo acchito sembra tutto ok (il codice, non il comportamento delle griglia), puoi copia/incollarci il metodo search del model ?

Prova ad eseguire il filtro con Firefox e firebug installato. Nella console clicca su 'mantieni', quindi prova a rieseguire i passi che ci hai elencato. Se c'è un errore javascript (non si sa mai), li si vede.

In alternativa, puoi, sembra da firebug, guardare il pannello 'NET' filtrandolo sugli oggetti XHR (le chiamate ajax) e guardare se nel response per caso c'è un errore PHP o my SQL.

Altra cosa: in runtime\application.log delle volte trovi delle informazioni (le ultime sono in fondo al file stesso)
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#3 User is offline   Giancarlo 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 242
  • Joined: 20-December 11
  • Location:Turin, Italy

Posted 16 October 2012 - 07:46 AM

Io anziché usare firebig, uso Chrome, ma il risultato non cambia.
Si vede negli header che il browser manda la richiesta di elaborazione (col filtro PIPPO sbiancato)
e si vede l'output ricevuto da YII della pagina HTML identica a quella con filtro

Il metodo search del model è il classico:
public function search()
{
	// Warning: Please modify the following code to remove attributes that
	// should not be searched.

	$criteria=new CDbCriteria;

	$criteria->compare('CAMPO_A',$this->CAMPO_A,true);
	$criteria->compare('CAMPO_B',$this->CAMPO_B,true);

	return new CActiveDataProvider($this, array('criteria'=>$criteria,));
}



Sull'application.log..... BINGO! c'è un bell'errore che però non mi dice nulla:


2012/10/16 14:05:46 [warning] [application] Failed to set unsafe attribute "CAMPO_B" of "Modello".
in /var/www/blablabla.it/protected/controllers/TestController.php (37)

idee su causa e soluzione?
Posted Image Non preoccuparti, è dentro il monitor!

Sapevi che cercando su google yii + "la funzione su cui stai impazzendo", trovi quasi sempre dei buoni indizi in italiano, per risolvere i tuoi problemi, senza perdere tempo a postare?
0

#4 User is offline   Giancarlo 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 242
  • Joined: 20-December 11
  • Location:Turin, Italy

Posted 16 October 2012 - 07:56 AM

Qui
http://www.yiiframew...safe-attribute/
dicono di impostare il CAMPO_B su safe, ma nel mio modello è dichiarato Posted Image
Posted Image Non preoccuparti, è dentro il monitor!

Sapevi che cercando su google yii + "la funzione su cui stai impazzendo", trovi quasi sempre dei buoni indizi in italiano, per risolvere i tuoi problemi, senza perdere tempo a postare?
0

#5 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 619
  • Joined: 03-October 12
  • Location:Ferrara

Posted 16 October 2012 - 08:52 AM

CAMPO_A e CAMPO_B sono due nomi di campo reali?

Perchè se per personalizzare la vista nella CGridView hai usato dei 'name' che sono diversi dal nome del campo, è necessario creare una variabile globale nel model che si chiami nello stesso modo, quindi usare la stessa variabile nel compare.

Se questo NON è il tuo caso, ahimè ho finito le idee

di che tipo di dato stiamo parlando? testo, date, numeri...
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#6 User is offline   Giancarlo 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 242
  • Joined: 20-December 11
  • Location:Turin, Italy

Posted 16 October 2012 - 09:40 AM

CAMPO_A e CAMPO_B sono reali di tipo testo
e quello che non si capisce è perché inizialmente funzionino.
Il filtro s'impalla solo quando clicco su una colonna della grid per ordinare
filtro + order => sbam ! Posted Image

Posted Image Non preoccuparti, è dentro il monitor!

Sapevi che cercando su google yii + "la funzione su cui stai impazzendo", trovi quasi sempre dei buoni indizi in italiano, per risolvere i tuoi problemi, senza perdere tempo a postare?
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