Yii Framework Forum: Estendere un widget - Yii Framework Forum

Jump to content

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

Estendere un widget Rate Topic: -----

#1 User is offline   Diegovl 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 27-February 11

Posted 10 March 2011 - 07:15 PM

Ciao ragazzi,

volevo estendere il widget Pager per tradurre in italiano le costanti scritte in inglese.

Ho provveduto quindi ad inserire la classe in protected/components:

class CLinkPager extends CLinkPager
{
	const CSS_FIRST_PAGE='primo';
	const CSS_LAST_PAGE='ultimo';
	const CSS_PREVIOUS_PAGE='precedente';
	const CSS_NEXT_PAGE='prossimo';
	const CSS_INTERNAL_PAGE='pagina';
	const CSS_HIDDEN_PAGE='hidden';
	const CSS_SELECTED_PAGE='selected';

}


Ma non ho ottenuto nessun risultato sperato :P

Dove sbaglio?
0

#2 User is offline   d4rkstar 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 21
  • Joined: 19-February 11
  • Location:Naples / Italy

Posted 11 March 2011 - 01:34 AM

Ciao per estendere un widget io proverei così:

class MyCLinkPager extends CLinkPager
{
	public function init()
	{
		parent::init();
		$this->nextPageLabel='prossimo';
		$this->prevPageLabel='precedente';
		$this->firstPageLabel='primo';
		$this->lastPageLabel='ultimo';
		$this->header='vai a pagina: '
		// $this->htmlOptions['id']=$this->getId();
		// $this->htmlOptions['class']='yiiPager';
	}
}


Tuttavia, ti consiglierei di leggerti la guida sulla internazionalizzazione:
Internationalization

In pratica, Yii è già localizzato in italiano. E' sufficiente configurare la tua applicazione per utilizzare la lingua italiana e magicamente i widget saranno rappresentati in italiano.

Infatti, se vai a vedere il metodo init della classe CLinkPager troverai del codice tipo:

if($this->nextPageLabel===null)
     $this->nextPageLabel=Yii::t('yii','Next >');


Quindi è inutile estendere CLinkPager: nel tuo caso basta seguire la guida sulla internazionalizzazione.

Prova ad aggiungere, nel tuo file protected/config/main.php:

return array(
    [...],
    'sourceLanguage' => 'en',
    'language' => 'it',
);

1

#3 User is offline   Diegovl 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 27-February 11

Posted 11 March 2011 - 09:34 AM

Grazie mille, mi sei stato di grande aiuto.
0

#4 User is offline   zaccaria 

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

Posted 15 March 2011 - 05:35 AM

Non c'e' bisogno di estenderlo se devi fare solo questo:

- Puoi usare widget factory per specificare le properieta' che ti servono
- Puoi impostare la lingua italiana, e' gia' tutto tradotto.
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