Prestashop 1.6 -> Изменить состояние заказа по ajax, ошибки с электронной почтой - PullRequest
0 голосов
/ 24 сентября 2018

Мне нужно, чтобы модуль изменил состояние заказа с помощью ajax.В настоящее время я делаю это с помощью функции из Класса заказа:

$o = new Order($id_order);
$o->setCurrentState($id_state,$this->context->employee->id);

Затем я восстанавливаю новую информацию о состоянии заказа в ответе JSON, чтобы отобразить ее на странице.Он отлично работает для всех состояний заказа, кроме тех, которые отправляют электронные письма с вложением (invoice.pdf или delivery.pdf - Платеж принят, например)

Вот ошибки, которые я получаю в ответе JSON:

Notice: Undefined index: startx in C:\wamp64\www\tdc\tools\tcpdf\tcpdf.php on line 24628
Call Stack
#   Time    Memory  Function    Location
1   0.0008  386736  {main}( )   ...\index.php:0
2   0.1224  2348784 Dispatcher->dispatch( ) ...\index.php:58
3   0.2177  3387304 AdminOrderManagerController->run( ) ...\Dispatcher.php:367
4   0.3167  4328416 AdminOrderManagerController->postProcess( ) ...\Controller.php:178
5   0.3177  4329424 AdminOrderManagerController->ajaxProcessChangeOrderState( ) ...\AdminController.php:897
6   0.3277  4625976 Order->setCurrentState( )   ...\adminordermanager.php:407
7   0.4096  4949648 OrderHistory->addWithemail( )   ...\Order.php:1569
8   0.4609  4974424 OrderHistory->sendEmail( )  ...\OrderHistory.php:419
9   0.4728  6633024 PDF->render( )  ...\OrderHistory.php:470
10  4.9544  7630400 PDFGenerator->render( ) ...\PDF.php:108
11  4.9544  7630400 PDFGenerator->Output( ) ...\PDFGenerator.php:207
12  4.9544  7630400 PDFGenerator->Close( )  ...\tcpdf.php:8864
13  4.9580  7636848 PDFGenerator->endPage( )    ...\tcpdf.php:3869
14  4.9580  7636848 PDFGenerator->setFooter( )  ...\tcpdf.php:4021
15  4.9588  7639840 PDFGenerator->Footer( ) ...\tcpdf.php:4471
16  4.9588  7639840 PDFGenerator->writeHTML( )  ...\PDFGenerator.php:172
17  5.1563  7768440 PDFGenerator->closeHTMLTagHandler( )    ...\tcpdf.php:23219

И есть еще 6 подобных, но самое странное, что даже если я получу эти ошибки, электронное письмо все равно будет отправлено с приложением правильного PDF-файла, без ошибок ...

Я мог бы игнорировать ошибку, полученную в ответе JSON, поскольку электронное письмо и pdf отправлены правильно, однако с этими ошибками я не могу получить информацию о состоянии нового заказа в ответе JSON, чтобы затем отобразить их на странице.

Любая помощь?Спасибо.

1 Ответ

0 голосов
/ 24 сентября 2018

Кажется, что анализатор TCPDF не может проанализировать ваш HTML.

Удалите все файлы ".tpl" из вашей папки "pdf" из папки вашей темы, чтобы убедиться, что файлы PrestaShop по умолчанию используются

...