2009-05-14 8 views
0

J'utilise actuellement Smarty avec zend framework, et je l'ai mis en place Smarty d'utiliser gettext de la manière suivante:En utilisant le modificateur variable par défaut Smarty avec gettext

{gettext text="resource-identifier"} 

Cela fonctionne correctement, mais je suis arrivé un problème lorsque vous essayez d'utiliser ceci avec le gestionnaire de variables par défaut de smarty. Je veux faire ceci:

{$somevar|default:gettext text="resource-identifier"} 

Mais ceci imprime seulement 'gettext'. Toutes les suggestions sur la façon dont je peux le faire. Est-ce même possible?

Répondre

0

Pour smarty, enchaîner un résultat d'une fonction n'est pas possible comme ça. Vous aurez besoin de voir si gettext peut assigner son résultat à une variable (un assign = varname param), ou écrivez le vôtre (et à ce stade, écrivez simplement un nouveau modificateur comme default_gettext: 'resource-id')

dans le assign supposé, ce serait ressembler à:

{gettext text="resource-id" assign="myvar"} 
{$somevar|default:$myvar} 

dans le nouveau modificateur qu'il avait ressembler à:

{$somevar|default_gettext:"resource-id"} 
+0

Hmm, ok. Je pense que je vais assigner une variable en haut du view-file avec le texte par défaut, comme c'est généralement le cas sur toute la page. Je pensais faire la même chose, en ne définissant que la variable dans le contrôleur, mais assigner une variable dans smarty est une meilleure approche. Il maintient la séparation entre le contrôleur et mieux voir. – Erik

Questions connexes