Yii Framework Forum: Cgridview E Cbuttoncolumn: Come Settare Gli Attributi Data Usando I Valori Della Riga ? - Yii Framework Forum

Jump to content

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

Cgridview E Cbuttoncolumn: Come Settare Gli Attributi Data Usando I Valori Della Riga ? Rate Topic: -----

#1 User is offline   realtebo 

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

Posted 10 May 2013 - 02:46 AM

Ho una CGridView. In questa devo farmi un pulsante personalizzato. Questo deve aprire una modal popolata con alcuni dei dati della riga a cui appartiene.

Vorrei usare gli attributi data perchè mi sembra pulita come soluzione, ma le 'options' della CButtonColumn non vengono valutati da Yii, perchè non è possibile usare '$data->qualcosa' in quanto viene riportata testualmente...

come fare ?

'clone'	=> array (
			'icon'		=> 'copy',
			'label'		=> Yii::t('Newsletter', 'clone'),
			// 'url'		=> '#',
			'options'	=> array (
				'data-toggle'        => 'modal',
				'data-target'	     => '#cloneModal',
                                'data-newsletter-id' => '$data->id'
			),
		),
	),


Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#2 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 10 May 2013 - 03:13 AM

io ho usato una soluzione molto sporca, leggendo gli attributi del collegamento e usando il preventDefault per evitare che partisse il link...
0

#3 User is offline   realtebo 

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

Posted 10 May 2013 - 07:54 AM

ho dovuto fare una sciocchezza anche io.. ho letto dal parent.parent.find('.id-cell').text l'id della riga ... che schifo, speriamo che questa situazione rientri in Yii 2, non è così insolito voler fare un pulsante che abbia le info prese dalla riga a cui appartiene ...
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#4 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 10 May 2013 - 10:37 PM

Mmmm se personalizzi il bottone, puoi sempre disegnare li dentro la finestra modale. Hai totale controllo, da quel che mi ricordo, sul template che genera i bottoni.
0

#5 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 336
  • Joined: 10-April 12

Posted 11 May 2013 - 09:33 AM

basta mettere un bottone nelle colonne normali e non nella Columnbutton, cmq anche io quando ho avuto l'esigenza l'ho recuperato con jquery da un href.
0

#6 User is offline   realtebo 

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

Posted 13 May 2013 - 12:19 AM

View Postsensorario, on 10 May 2013 - 10:37 PM, said:

Mmmm se personalizzi il bottone, puoi sempre disegnare li dentro la finestra modale. Hai totale controllo, da quel che mi ricordo, sul template che genera i bottoni.


Ipotesi scartata.

Ho 50 righe di risultati per pagina, non creo 50 volte lo stesso codice HTML, diverso solo per un id !

Inoltre anche io 'ricordo' del totale controllo, fatto sta che NON RIESCO PROPRIO a pasare uno straccio di id al mio CButton personalizzato, da qui la domanda in topic.
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#7 User is offline   realtebo 

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

Posted 13 May 2013 - 12:22 AM

View Postst4nny, on 11 May 2013 - 09:33 AM, said:

basta mettere un bottone nelle colonne normali e non nella Columnbutton, cmq anche io quando ho avuto l'esigenza l'ho recuperato con jquery da un href.


Devo scartare anche questa ipotesi per motivi estetici. In tutta l'app i comandi sono raggruppati assieme come mini-pulsantiera nella CButtonColumn, non separo un comando solo in una sola griglia.

Comunque questo sposta solo il problema una colonna più in là.

Come si fa in un CButton a passargli, in qualsivoglia maniera, l'id della riga ? Volevo passargli via htmlOptions degli attribuiti data-*, ma qualcosa che non conosco fa si che questi non vengano generati, non compare nessun data-* nel tag A....
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#8 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 13 May 2013 - 02:16 AM

View Postrealtebo, on 13 May 2013 - 12:19 AM, said:

Inoltre anche io 'ricordo' del totale controllo, fatto sta che NON RIESCO PROPRIO a pasare uno straccio di id al mio CButton personalizzato, da qui la domanda in topic.


In che senso non riesci? Hai tentato o non sai come fare?
0

#9 User is offline   realtebo 

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

Posted 13 May 2013 - 03:08 AM

Proprio nel senso che per quante strade ho tentato, nessuna ha dato esito positivo...

Sto mantendendo la soluzione del prendere l'id tramite jQuery, ma fa proprio schifo come soluzione, vorrei poter settare un data-* e poi leggerlo tramite $(this).data('qualcosa').. sarebbe più pulito
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#10 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 336
  • Joined: 10-April 12

Posted 13 May 2013 - 10:40 AM

io ho fatto così:
'buttons'=>array(
      'mybut' => array(
    	 'label'=>'My button',
	 'url'=>'$data->id',
	 'click'=>'js: function(){
    		 var_js = $(this).attr("href"); 
     		 open_modal();
     		 return false;
	 }',   
    	//buggata su firefox e altri browser.chrome ok.
        //'url'=> '"javascript:var_js=$data->id; open_modal();"',
        // da non usare
    	),    					
),

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