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

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

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

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

То, как вы это делаете, называется «короткой формой» 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 до того, как шаблон будет задействован. Роль шаблона состоит в том, чтобы просто отображать данные , вы должны избегать создания или изменения данных в шаблоне.

Документация

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

Попробуй это:

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

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

 {$yes_src}