首页 > 解决方案 > 客户注册时将 GET-Var 存储在 Prestashop 中

问题描述

ps_address当新客户在其用户记录中注册时,将 get-var 存储到 Prestashop 表中的最简单方法是什么?

标签: prestashop-1.7

解决方案


最简单的方法是使用本机地址类,所以要做类似的事情

$address = new Address();
$address->firstname = Tools::getValue('firstname');
$address->lastname = Tools::getValue('lastname');
$address->address1= Tools::getValue('address1');
...
$address->save();

您可以拥有类中可用字段的列表,否则它们是:

public static $definition = array(
    'table' => 'address',
    'primary' => 'id_address',
    'fields' => array(
        'id_customer' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false),
        'id_manufacturer' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false),
        'id_supplier' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false),
        'id_warehouse' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false),
        'id_country' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
        'id_state' => array('type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId'),
        'alias' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 32),
        'company' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'size' => 255),
        'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 255),
        'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 255),
        'vat_number' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
        'address1' => array('type' => self::TYPE_STRING, 'validate' => 'isAddress', 'required' => true, 'size' => 128),
        'address2' => array('type' => self::TYPE_STRING, 'validate' => 'isAddress', 'size' => 128),
        'postcode' => array('type' => self::TYPE_STRING, 'validate' => 'isPostCode', 'size' => 12),
        'city' => array('type' => self::TYPE_STRING, 'validate' => 'isCityName', 'required' => true, 'size' => 64),
        'other' => array('type' => self::TYPE_STRING, 'validate' => 'isMessage', 'size' => 300),
        'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32),
        'phone_mobile' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32),
        'dni' => array('type' => self::TYPE_STRING, 'validate' => 'isDniLite', 'size' => 16),
        'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
        'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
        'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
    ),
);

推荐阅读