Ответ 1
Как вы это делаете, вызывается "короткая форма" assign
, вам просто нужно использовать правильный механизм цитирования:
{$yes_src="`$const1`yes`$const2`"}
Используйте assign
:
{assign var="yes_src" val="`$const1`yes`$const2`"}
Используйте cat
:
{$const1|cat:"yes"}{$const2}
Вы также можете просто поместить переменные рядом друг с другом, не присваивая их переменной:
{$const1}yes{$const2}
... не требуется переменная.
Примечание Если вы обнаружите, что используете assign
больше редко, у вас может быть неправильное представление о идеях разделения логики от представления. Обычно конкатенация и другая переменная работа выполняются на PHP до того, как шаблон будет задействован. Роль шаблона состоит в том, чтобы просто отображать данные, вы должны избегать создания или изменения данных в шаблоне.
Documentation
- Smarty quotes - http://www.smarty.net/docs/en/language.syntax.quotes.tpl
- Smarty
assign
- http://www.smarty.net/docs/en/language.function.assign.tpl - Smarty
cat
- http://www.smarty.net/docsv2/en/language.modifier.cat