Yii Framework Forum: Formattare i valori di un CDetailView o di un CGridView - Yii Framework Forum

Jump to content

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

Formattare i valori di un CDetailView o di un CGridView Rate Topic: -----

#1 User is offline   sensorario 

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

Posted 15 April 2011 - 07:24 PM

Stavo creando la sezione eventi di un sito web. Ho inserito il mio editor visuale e poi sia nel datagrid che nella view, purtroppo, venivano mostrati anche i tag.

Così ho imparato una cosa nuova: i campi passati ai widget CDetailView e/o CGridView possono essere formattati. Per farlo non dobbiamo passare solamente il nome ma un array del tipo:
      array(
            'name' => 'corpo',
            'value' => $model->corpo,
            'type' => 'html'
      ),


Più nel dettaglio ecco il widget CDetailView ...

<?php
  $this->widget('zii.widgets.CDetailView', array(
    'data' => $model,
    'attributes' => array(
      'id',
      'titolo',
      'abstract',
      array('name' => 'corpo', 'value' => $model->corpo, 'type' => 'html'),
      'datainserimento',
      'attiva',
    ),
  ));
?>


... ed ecco il CGridView.

<?php
  $this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'eventi-grid',
    'dataProvider' => $model->search(),
    'filter' => $model,
    'columns' => array(
      'id',
      'titolo',
      'abstract',
      array('name' => 'corpo', 'value' => $model->corpo, 'type' => 'html'),
      'datainserimento',
      'attiva',
      array(
        'class' => 'CButtonColumn',
      ),
    ),
  ));
?>

0

#2 User is offline   nickcv 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 154
  • Joined: 23-November 10

Posted 15 April 2011 - 07:33 PM

il forum si sta trasformando rapidamente in una wiki (che non è una cosa necessariamente brutta) tuttavia secondo me o si convince qiang a rendere la wiki multilingua o segnalare i post con contenuto di tipo wiki con un tag nel titolo

del tipo: [WIKI]
sometimes it's just like teaching pigs how to fly

Posted Image
Posted Image looking for some invite keys? welcome on B4K!
0

#3 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 18 April 2011 - 01:01 AM

View Postnickcv, on 15 April 2011 - 07:33 PM, said:

tuttavia secondo me o si convince qiang a rendere la wiki multilingua



Non c'e' bisogno di convincere nessuno. La wiki e' uno spazio gestito dagli utenti, per cui, se tu utente desideri una wiki multilingua, puoi armarti di buona volonta' e tradurti qualche articolo.

Ci sono esempi di articoli tradotti, mi sembra che per ora lo facciano semplicemente scrivendo un'altro articolo..
0

#4 User is offline   nickcv 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 154
  • Joined: 23-November 10

Posted 18 April 2011 - 02:00 AM

il problema di aprire un nuovo articolo piuttosto che avere una wiki realmente multilingua è che ovviamente diventa più dispersivo, inoltre non è possibile effettuare ricerche per lingua all'interno della wiki in maniera più efficiente, oltre al fatto che è possibile vedere istantaneamente se un articolo esiste già nella tua lingua... certo si possono fare una serie di workaround per ottenere risultato simile, ma non è esattamente lo stesso <.<
sometimes it's just like teaching pigs how to fly

Posted Image
Posted Image looking for some invite keys? welcome on B4K!
0

#5 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,359
  • Joined: 12-October 09
  • Location:Croatia

Posted 18 April 2011 - 02:48 AM

Come zaccaria ha scritto sopra... la wiki e un posto dove i utenti possono condividere le loro idee...

Il wiki non deve essere in lingua inglese... in altre parole... non si tratta di tradure una wiki esistente... un utente puo scrivere / condividere una wiki completamente nuova, scritta nella sua lingua... gia esistono certe wiki scritte in non-inglese che non sono traduzzioni...

Per questo se pensi che hai del materiale per una wiki in italiano... scrivila pure... e poi per trovarle si puo usare il tag... basta che ci aggiungi IT nel tag ;)
Find more about me.... btw. Do you know your WAN IP?
0

#6 User is offline   nickcv 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 154
  • Joined: 23-November 10

Posted 18 April 2011 - 03:03 AM

oh, non sapevo fossi italiano mdomba :P
sometimes it's just like teaching pigs how to fly

Posted Image
Posted Image looking for some invite keys? welcome on B4K!
0

#7 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,359
  • Joined: 12-October 09
  • Location:Croatia

Posted 18 April 2011 - 03:08 AM

View Postnickcv, on 18 April 2011 - 03:03 AM, said:

oh, non sapevo fossi italiano mdomba :P


Dai un occhiata qui - http://www.yiiframew...dpost__p__68413
Find more about me.... btw. Do you know your WAN IP?
0

#8 User is offline   nickcv 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 154
  • Joined: 23-November 10

Posted 18 April 2011 - 03:28 AM

ah ecco! bhè lo scrivi decisamente bene, non avrei detto che eri croato ^^

comunque mi scuso per l'OT
sometimes it's just like teaching pigs how to fly

Posted Image
Posted Image looking for some invite keys? welcome on B4K!
0

#9 User is offline   Customsoft 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 36
  • Joined: 18-May 11
  • Location:Arzignano

Posted 29 September 2011 - 05:08 PM

View Postsensorario, on 15 April 2011 - 07:24 PM, said:

      array(
            'name' => 'corpo',
            'value' => $model->corpo,
            'type' => 'html'
      ),




Per riuscire a passare il valore prendendolo da un altro modello per la CDetailView e la CGridView ho dovuto usare due approcci differenti:

CDetailView
      array(
            'name' => 'IdStatoCliente',
            'value' => MyT2TipiStatiClientiTraduzioni::RitornaStato($data->IdStatoCliente),
      ),


CGridView
      array(
            'name' => 'IdStatoCliente',
            'value' => 'MyT2TipiStatiClientiTraduzioni::MostraStato($data->IdStatoCliente)',
      ),


MyT2TipiStatiClientiTraduzioni
class MyT2TipiStatiClientiTraduzioni extends T2TipiStatiClientiTraduzioni
{
	public function MostraStato($IdTipoStatoCliente=0)
	{
    $objModel = self::model()->find(
      'IdTipoStatoCliente=:idTipoStatoCliente AND IdLingua=:idLingua', array(
        ':idTipoStatoCliente'=>$IdTipoStatoCliente,
        ':idLingua'=>strtr(app()->GetLanguage(),array('%'=>'\%', '_'=>'\_', '\\'=>'\\\\'))
    ));
    echo $objModel->TipoStatoCliente;
	}

	public function RitornaStato($IdTipoStatoCliente=0)
	{
    $objModel = self::model()->find(
      'IdTipoStatoCliente=:idTipoStatoCliente AND IdLingua=:idLingua', array(
        ':idTipoStatoCliente'=>$IdTipoStatoCliente,
        ':idLingua'=>strtr(app()->GetLanguage(),array('%'=>'\%', '_'=>'\_', '\\'=>'\\\\'))
    ));
    return $objModel->TipoStatoCliente;
	}

}


RitornaStato non funziona nella CGridView e MostraStato non funziona nella CDetailView.

Ho sbagliato qualcosa o è giusto che sia cosi?
Saluti
Marco (SE&O)
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