Блоки и smarty Есть решение

Вставляю в произвольное место сайта(в теме дизайна) блок из раздела "сайт>блоки", передаю ему параметры

{$wa->block("block.name", "$params=['myparam' => 'param_value']")}

В блоке использую вот такой код для вывода параметра

{$params.myparam}

Пробовал разные варианты из "шпаргалки", но этот параметр никак не выводится, что я делаю не так?

2 ответа

  • 1
    Лавров Леонид 17 октября 2019 14:03 #

    При этом если задавать массив в коде блока, то он работает, а вот при вызове блока с параметрами из другого места массив не передается.

    • +2

      Могу ошибаться, но вроде бы кавычки во втором случае не нужны... Т.е. попробуйте так:

      {$wa->block("block.name", $params=['myparam' => 'param_value'])}

    • +1
      Лавров Леонид Лавров Леонид 17 октября 2019 14:25 #

      Как вариант можно использовать глобальные переменные из smarty.

      {assign var=foo value="bar" scope="global"}

      Но хотелось бы нормальную реализацию с передачей параметров.

  • 3
    waResearchLab Партнер-разработчик 17 октября 2019 14:24 # Решение

    В любом случае, в формате вопрос. Так попробуйте...

    {$wa->block("block.name", ['myparam' => 'param_value'])}

    • +1
      Лавров Леонид Лавров Леонид 17 октября 2019 14:30 #

      Большое спасибо, работает. Переменная выводится по {$myparam}.

      {$wa->block("block.name", ['myparam' => 'param_value','myparam2' => 'param2_value'])}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите