Подтвердить что ты не робот

Локальная конкатенация ссылок Smarty со строкой

Как назначить локальную переменную шаблона со строкой, как показано ниже:

{$yes_src=const1.'yes'.const2}

который будет использоваться ниже в коде способом {$yes_src}.

4b9b3361

Ответ 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

Ответ 2

{ $yes_src = $variable|cat:"some string"|cat:$variable }

Ответ 3

Попробуйте следующее:

{capture assign=yes_src}{$const1}.'yes'.{$const2}{/capture}

И затем используйте новую переменную:

{$yes_src}