仅在安装模块时在现有Prestashop数据库中添加字段

时间:2018-05-30 08:26:30

标签: module prestashop prestashop-1.7

我会在Prestashop数据库的customers表中添加一个字段,但仅限于我安装模块时。

我在模块定义中做到了:

public function install()
{
    Db::getInstance()->execute('ALTER TABLE '. _DB_PREFIX_.'_customer ADD id_field VARCHAR(60) DEFAULT NULL');

    return parent::install();
}

public function uninstall()
{
    Db::getInstance()->execute('ALTER TABLE '. _DB_PREFIX_.'_customer DROM COLUMN id_field');

    return parent::uninstall();
}

现在,我看到我们可以覆盖一个类,但我无法找到如何在我的模块文件夹中覆盖它。我会在Customers类中添加新字段,以便能够在我的模块中管理它。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

在您的模块文件夹中添加override/classes/Customer.php代码:

<?php
class Customer extends CustomerCore
{
    // the method etc. i. e.:
    public function __construct($id = null)
    {
        parent::__construct($id);

        if (Module::isInstalled('yourmodule') && Module::isEnabled('yourmodule'))
        {
             // your code
        }
    }
}

重置模块。