Messaggi nei Moduli

Avrei l’esigenza di richiamare i messaggi del modulo nel seguente modo:

Yii::t(‘MyModule.mess’,‘title’);

Il problema e’ che il file dei messaggi viene trovato solo quando mi sposto all’interno del modulo stesso. Ad esempio se carico l’home page il file contenente i messaggi del modulo non viene trovato.

Ho aggiunto quindi alla funzione init del modulo le seguenti righe:

/* Aggiungo la traduzione dei messaggi del modulo*/

Yii::app()->configure(array(

	'components'=>array(


			'MyModule'=>array(


			'class'=>'CPhpMessagesource',


			'basePath'=>'protected/modules/mymodule/messages',',


					   ),


			    ),


	));

Ma non cambia niente. Qualche consiglio ?

Nessun aiuto ?

Provato a fare un var_dump() dal modulo per vedere che cosa succede li dentro?

Mi sembra un cattivo approcio.

Se un messaggio di un modulo ti serve anche fuori, meglio metterlo a livello globale.

Ti consiglio o di replicare il messaggio (nel modulo ed a livello globale) o di metterlo solo a livello globale.

Ciao Zaccaria, e’ proprio quello che non ho intenzione di fare.

Visto che si tratta di un Modulo che voglio importare in altre applicazioni Yii sarebbe meglio un’installazione veloce senza apportare sostanziali o comunque minime modifica all’applicazione esistente. Andare a modificare i messaggi esistenti a livello globale non credo che sia una buona soluzione.

In realta’ qualche soluzione esiste ma mi sembra un po’ troppo spartana.

Non sarebbe meglio creare un’estensione o qualche cosa di questo tipo? Lo dico un po’ da ignorante: uso Yii e come vedete dai miei post non ho ancora una piena padronanza del framework.

puoi prevedere un file di message che deve stare a livello globale.

Quando installi il modulo, devi ricordarti di prendere globals e metterlo in messages, non credo che sia una cattiva soluzione.

Tra l’altro, se mi dici che “ci sono message del modulo che devi richiamare a livello globale” significa che fuori dal modulo scrivi del codice che si collega a quel modulo, quindi in un modo o nell’altro una eventuale modifica al modulo ricadra’ comunque sulla applicazione.

Se fossi in te, o duplicherei i messaggi o prevederei un file globale.

Ok, trattasi di piccolo problema di Yii.

http://www.yiiframework.com/forum/index.php?/topic/13188-translation-of-form-modulecategory/page__p__64637__hl__module+tran+lation

I messaggi del Modulo non vengono trovati ed e’ necessario importare la configurazione del modulo nel file config/main.php

‘application.modules.MyModule.models.*’,

‘application.modules.MyModule.components.*’,

‘application.modules.MyModule.*’, <-- Questo carica il file MyModule.php

Un po’ strano pero’, spero che venga risolto.

Non credo che sia un problema di Yii, ma una questione di filosofia circa gli scopes.

I messaggi dei moduli sono fatti per essere usati nei moduli, quindi fuori dal modulo non sono accessibili, tutto qua.