Принять JSON

Добрый день! подскажите пожалуйста - создал свой контролер → отправляю туда инфу

 Http::post('мой контролер', json_encode([
            'order_id' => $order_id,
        ]), [
            'headers' => [
                'Content-type: application/json',
            ],
           
        ]);

что нужно в контролере прописать что бы принять json ?

<?php
defined('BOOTSTRAP') or die('Access denied'); 

		if ($mode == 'manage') {

}
}

Спасибо

<?php
defined('BOOTSTRAP') or die('Access denied');
	if ($_SERVER['REQUEST_METHOD'] == 'POST') {
		if ($mode == 'manage') {
   	$request = json_decode(file_get_contents('php://input'), true); 			
		fn_print_die($request);		
}
}



3 лайка

Спасибо, а не подскажете как полученные данные записать в базу данных и отобразить в админке ?

 fn_print_die($request);
распечатали посмотрели что там пришло к примеру 
'order_id' => значение какое то

Создаёте в БД таблицу к примеру my_table.
Создаете в таблице my_table > order_id.
Если вы хотите сохранить ещё какие то параметры которые пришли в JSON соответственно их так же создать в БД

 $data = json_decode($request, true);
db_query("INSERT INTO ?:my_table ?e", $request);

вот так должно получится

 <?php
 defined('BOOTSTRAP') or die('Access denied');
 	if ($_SERVER['REQUEST_METHOD'] == 'POST') {
		if ($mode == 'manage') {
   	$request = json_decode(file_get_contents('php://input'), true); 			
 		 $data = json_decode($request, true);
db_query("INSERT INTO ?:my_table ?e", $request);	
 }
 }

Будьте внимательны ! таблица должна называться cscart_my_table

не тестил но должно прилететь в БД

на сколько это правильно тоже не уверен :slight_smile:

Ждём ответа от спецов )

2 лайка

Спасибо огромное получилось !!!

а можно я ещё узнаю, как теперь из бд вывести данные в своё котроллер в панели администратора ?

/admin.php?dispatch=my_mod.manage

к сожалению я в отъезде не смогу ответить

рекомендую спросить у них
@ecomlabs @alex_vp

1 лайк

Спасибо разобрался!