Prestashop 1.6->通过ajax更改订单状态,电子邮件错误

时间:2018-09-24 08:49:25

标签: php ajax prestashop tcpdf

我需要一个模块来通过ajax更改订单的订单状态。 我目前正在使用Order类中的函数进行操作:

$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附件,呈现没有任何错误...

由于可以正确发送电子邮件和pdf,因此我可以忽略在JSON响应中遇到的错误,但是由于这些错误,我无法在JSON响应中检索新的订单状态信息,然后将其显示在页面上。

有帮助吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

TCPDF解析器似乎无法解析您的HTML。

从主题文件夹中删除“ pdf”文件夹中的所有“ .tpl”文件,以确保使用了默认的PrestaShop文件