prestashop: Показване на резултатите от метода в JSON

Ще разработя метод в моя модул Prestashop за извличане на списък с продукти и връщане на резултата като JSON.
Нямам проблем да получа списък с продукти, но не знам кои кукички да използвам и как да върна JSON резултат, вместо да се върна обратно към страница Prestashop.


person VSB    schedule 31.08.2015    source източник


Отговори (1)


Най-добрият начин е да използвате конкретен контролер във вашия модул. резултатът от контролера е достъпен чрез URL адрес. (Класът на вашия контролер трябва да разшири класа „ModuleFrontController“)

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

public function __construct($response = array()) {
    parent::__construct($response);
    $this->display_header = false;
    $this->display_header_javascript = false;
    $this->display_footer = false;
}

И във вашия метод "postProcess" просто повторете низа, който искате, като използвате това например:

$json = json_encode( (array)$object );

И накрая, в шаблон можете да генерирате връзка към този контролер, като използвате:

{$link->getModuleLink('mymodule', 'mycontrolleurname', [], true)}
person Anthony - Djtal    schedule 02.09.2015
comment
И така, как мога директно да извикам модул, за да покажа този резултат? Имам предвид кой url ще извика този модул? - person VSB; 18.09.2015
comment
Във вашите модулни файлове, в директорията mymodulename\controllers\front, можете да създадете php файл с име mycontrollername.php по следния начин: class MymodulenameMycontrollernameModuleFrontController разширява ModuleFrontController { ... } с методите __construct() и postProcess(). В postProcess можете да получите параметъра POST или GET и да повторите отговора, който искате. URL адресът за извикване на тези контроли е: връзка - person Anthony - Djtal; 19.09.2015