Помощь Вставка custom PHP кода

bartigformsg

Постоялец
Регистрация
27 Мар 2016
Сообщения
69
Реакции
94
Подскажите, как правильно вставлять в PrestaShop 1.7.5 свой PHP код.
На сколько я понял, что через .tpl нельзя подключать ни php файлы, ни вставлять код.
Так как {php} больше не поддерживается.
Скрипты аналитики и всего прочего можно вставлять через {litereal}, а вот с php я так и не разобрался, даже используя Гугл.

Мне необходимо во все страницы подключить код(некий аналог яндекс.маркета), который будет отправлять данные посетителей и товаров после покупки, чтобы отзыв могли оставить на одном из сервисов. (Типа будет подтвержденный отзыв)

Как правильно это реализовать? Или где объявить новый класс и подключить его на все страницы.
 
Я уже даже и не припомню, когда бы мне понадобилось вставлять чистый php в smarty в prestashop.
Всю логику пихаешь в Override или напрямую в контроллер и отдаешь в шаблон данные для вывода.
 
Можешь небольшой пример, как передать из override в шаблон?
 
Можешь небольшой пример, как передать из override в шаблон?
Ну вот например мне нужно передать на страницу order-confiramation сведения о заказе, что бы в шаблоне передать их в аналитику

в Override создаем OrderConfirmationController

в нем

PHP:
/*Назначаем родительский класс*/
class OrderConfirmationController extends OrderConfirmationControllerCore
{ 
/*Инициализация, не обязательно делать это здесь, можно в любой другой функции или даже создать свою и вызвать ее*/
    public function init()
    {
        $id_cart = (int)(Tools::getValue('id_cart', 0));
        $id_order = Order::getOrderByCartId((int)($id_cart));
        /*Получили данные по заказу*/
        $order = new Order((int)($id_order));
/*Делаем все что нам нужно и отправляем*/


/*Отправляем их в smarty*/
        $this->context->smarty->assign(array(
  'order_analytics' => $order
        ));
/* В шаблоне ловим переменную $order_analytics */

/*Вызываем обязательно родительскую функцию*/
        parent::init();
    }
}
 
Назад
Сверху