Как передать данные с func.php в шаблон.tpl


#1

Добрый день, делаю модуль, хочу в блоке в обработке данных упереться в настройки модуля, настройку сделал, и получаю её через Registry::get в func.php, пока не могу понять как эти данные передать в сам шаблон блока.
Подскажите пожалуйста!


#2

$addons.Addon_id.Setting


#3

Большое спасибо, закопался в этой статье https://www.cs-cart.ru/docs/4.13.x/developer_guide/core/settings/
Но нужного не нашел!

Подскажите, а есть ли статья включающая эту информацию, для углубления знаний?


#4

За статьи не знаю. Но в Smarty шаблонах можно использовать {debug}, чтобы отобразить список доступных переменных. Возможно будет полезно


#5

Подскажите, еще пожалуйста, а еси это будет модуль edition_type=“ROOT,ULT:VENDOR, STOREFRONT
Как получить настройку конкретной витрины в шаблоне?


#6

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


#7

Большое спасибо)
Последний вопрос, а как все же получить данные уже обработанные с func.php в шаблоне?


#8

Получить в шаблоне? Передайте данные через Tygh::$app['view']->assign()


#9

Вы также можете вызывать свои функции в шаблонах

Например

{$result = $arg1|fn_my_function:$arg2:$arg3}


#10

Функции, которые выполняю в func.php?


#11

Спасибо!


#12

Да, таким образом можно вызвать как стандартные php функции, так и самописные


#13

Большое спасибо)


#14

Всё разработчики выше ответили вам правильно. Но так же обратите внимание, что есть такая штука как схема блоков и там есть возможность указать какие функции будут собирать данные для вашего блока. Для конкретного шаблона также можно указать bulk_modifier функцию.


#15

Это более правильно? Или это даст большую скорость или меньшую нагрузку?


#16

Зависит от задачи и результата, который вы ожидаете. По имеющемуся описанию не совсем понятно, что вы хотите сделать


#17

Я вообщем изучаю ЦС-Карт, смотрю видео, читаю документации по нему. Хочу научиться делать модули. Знания в програмировании есть.


#18

Смотря что нужно передать.

Если вам элементы для контента блока, то правильно через схему. И быстрее в разработке.
Настройки всякие и так приходят в шаблоны, как и настройки блока.

Если это для блока главного содержимого, то это обычно делается в контроллере. Ну и тд и тп)


#19

Понял, спасибо)


#20

Плюс к блочному решению - возможность кеширования. Но нужно будет разбираться с этим вопросом.