Smarty Assinging переменная - PullRequest
       33

Smarty Assinging переменная

0 голосов
/ 22 декабря 2010

Я пытаюсь присвоить переменную в моем .tpl следующим образом:

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

, однако я получаю эту ошибку,

Ошибка Smarty: [в магазинах /view-store.tpl строка 135]: синтаксическая ошибка: недопустимое имя атрибута: '| lower'

Как я могу остановить эту ошибку, но при этом сбросить возвращаемую информацию в нижний регистр?

1 Ответ

1 голос
/ 22 декабря 2010

Даже если вы снизитесь, у вас все равно будут проблемы. Вы не можете иметь блок {} внутри блока {}. Вы также не можете иметь "" вложенный в "".

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

Посмотрите на эту страницу, посмотрите сложный пример. Вы будете использовать что-то вроде

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

Это также может быть полезно для вас:

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

В конечном счете вы должны делать это на стороне PHP, логика и код не должны присутствовать в шаблоне, если на самом деле нет другого выбора.

...