如何将安装错误返回给Prestashop 1.7中的模块管理器?

问题描述

我正在尝试调试我的模块安装,在某些情况下它会根据某些字段返回false。根据哪个失败,我想显示输出。我尝试过:

\Tools::displayError('This worked.');
array_push($this->context->controller->errors,$this->l('This worked.'));

我的安装如下:

public function install() {
    \Tools::displayError('This worked.');
    array_push($this->context->controller->errors,$this->l('This worked.'));
    return (parent::install() && false); // Force a fail to test
}

但是,我似乎得到的是:

Unfortunately,the module did not return additional details.

我在互联网上寻找修复程序,但have only come across outdated ones。任何帮助将不胜感激。

编辑:我的构造函数的Need_instance设置为1:

public function __construct() {
    ...
    $this->need_instance = 1;
    ...
    parent::__construct();
    ...
}

更新:为了帮助将来的查看者,insert类的Db函数会自动在表名中添加前缀。删除self::DB_PREFIX可以解决此问题。

return \Db::getInstance()->insert('iezon_portfolio',array(
    'img_link' => pSQL($img),'title' => pSQL($title),'description' => pSQL($description),'company_name' => pSQL($company),'company_url' => pSQL($company_url),'testimonial' => pSQL($testimonial),'is_favourite' => (int) $fav,));

解决方法

尝试这样的事情:

public function install()
{
    if ($this->checkForErrors()) {
        $this->_errors[] = $this->l('Error message');
        return false;
    }

    ...rest of the code...
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...