修改注册后端Prestashop

时间:2018-10-29 16:01:51

标签: php mysql prestashop prestashop-1.7

我有一个Prestashop 1.7网站。

我想在我的数据库中为我的客户添加id_public列,其ID为16个字符。当客户在网站上注册时,应创建该字段。

我该怎么做?

/**
 * Creates a default 16 char long hexdec string
 * @param number $length
 * @return string
 */
function RandomString( $length = 16 )
{
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++)
    {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

1 个答案:

答案 0 :(得分:0)

1 /我建议您不要修改Prestashop的本机表,而是创建一个新表。

2 /使用actionCustomerAccountAdd挂钩,您将能够为用户添加密钥

    public function hookActionSubmitAccountBefore($params) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++)
    {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'tablecustom (id_customer, key_random) VALUES ('.(int)$params['id_customer'].',"'.pSQL($randomString).'")');
}
相关问题