2010-12-22 7 views
0

Je suis en train de assing une variable dans mon tpl en faisant cela,Smarty assinging variables

{assign var="image" value="images/stores/{$location.storename|regex_replace:"/[' ']/":"-"|lower}.jpg"} 

mais je reçois cette erreur,

Smarty error: [in stores/view-store.tpl line 135]: syntax error: invalid attribute name: '|lower'

Comment puis-je arrêter cette erreur mais toujours laisser tomber l'enveloppe de l'information retournée en minuscules?

Répondre

1

Même si vous prenez plus bas, vous aurez toujours des problèmes. Vous ne pouvez pas avoir un bloc {} dans un bloc {}. Vous ne pouvez pas non plus "" imbriqué "".

http://www.smarty.net/docsv2/en/language.custom.functions.tpl#language.function.assign

Regardez cette page, consultez l'exemple complexe. Vous allez utiliser quelque chose comme

{assign var="image" value=``} 

Cela pourrait aussi vous être utile:

http://www.smarty.net/docs/en/language.function.eval.tpl

En fin de compte, vous devriez faire que du côté de PHP, la logique et le code ne vise pas à être dans le modèle sauf s'il n'y a vraiment pas d'autre choix.