Включить PHP файл в Smarty TPL - PullRequest
       50

Включить PHP файл в Smarty TPL

0 голосов
/ 12 марта 2020

Я хочу включить PHP скрипт, который выводит некоторые HTML в файл productdetail-full.tpl (Smarty / Prestashop 1.6.x)

Я пробовал:

{php}
   include('show-stock-pos.php');
{/php}

И

{include_php 'show-stock-pos.php'}

Но оба они устарели. Есть предложения?

Спасибо!

Ответы [ 2 ]

1 голос
/ 12 марта 2020

Prestashop - это модульная система, в которой для отображения информации используются крючки.

В соответствии со стандартами и решениями Prestashop следует использовать крючки и модуль:

  1. Создание нового модуля с пользовательским ловушка (или используйте доступную ловушку в файле Productdetail-full.tpl)
  2. Получить содержимое файла PHP в своем модуле (например, с помощью curl)
  3. Передайте содержимое в smarty
  4. отображать содержимое в вашем хуке
1 голос
/ 12 марта 2020

Вы должны использовать SmartyBC - Backwards Compatibility Wrapper для этого, так как не рекомендуется использовать код php в шаблонах.

Вместо:

require_once('path/to/smarty/libs/Smarty.class.php');
$smarty = new Smarty();

Использование:

require_once('path/to/smarty/libs/SmartyBC.class.php');
$smarty = new SmartyBC();

И вы сможете использовать PHP в своих файлах шаблонов Smarty.

Подробнее об этом здесь:

https://www.smarty.net/docs/en/bc.tpl

...