Php 前置模块调试

Php 前置模块调试,php,prestashop,Php,Prestashop,我是Prestashop模块开发的新手,很抱歉,如果这是一个愚蠢的问题。。。我一直在看文件,但我没有找到我要找的东西,所以我来了 我想在保存actionCartSave时在屏幕上显示一条消息(仅用于调试目的),其中包含不同的上下文变量等等。类似于js中的“console.log()”或“alert()”的内容 无法将产品添加到购物车 textStatus:'parsererror' 错误抛出:“语法错误:JSON解析错误:无法识别的令牌”消息: *{ “产品”:[…]* 我已经测试了此代码: p

我是Prestashop模块开发的新手,很抱歉,如果这是一个愚蠢的问题。。。我一直在看文件,但我没有找到我要找的东西,所以我来了

我想在保存actionCartSave时在屏幕上显示一条消息(仅用于调试目的),其中包含不同的上下文变量等等。类似于js中的“console.log()”或“alert()”的内容

无法将产品添加到购物车

textStatus:'parsererror'

错误抛出:“语法错误:JSON解析错误:无法识别的令牌”消息:

*{

“产品”:[…]*

我已经测试了此代码:

public function hookActionCartSave( $params )
{
     ppp('message: ');
     return true;
}
…在模块类定义中,但在将产品添加到购物车时出现此错误:

我在不同的浏览器窗口中获取此文本

那么,请问,最好的方式是什么


希望一切都清楚。谢谢。

您所做的是正确的,此错误消息是由浏览器中运行的javascript引发的,因为您使用
ppp
打印的附加信息不是有效的JSON


如果您使用Chrome,请使用开发者工具并选择网络选项卡。您将在此处看到ajax调用。您可以通过单击它来更详细地检查此调用。

不确定这是最佳选项,但我发现使用简单的

throw new Exception('Custom message ' . $someVariable);

好的,达蒙,我看看我是否使用了
ppp(格式良好的这里是JSON)
我得到:“{”消息“:“格式良好的这里是JSON消息”}
”。但它一直在说“不可能将产品添加到购物车。”这是调试时的正确行为…对吗?ppp是Tools::p的别名,它调用Tools::dieObject。您打印的附加代码由该函数回显。您最好使用just die(json_encode(数组(“message”,“where”));Damon非常感谢您。这种方式(使用die)要好得多当文本太长时,另一个窗口无法滚动。再次感谢!prestashop 1.7:目前正在尝试做类似的事情