Добавьте дополнительное поле в контактную форму Prestashop 1.7, используя класс CustomerThreadCore - PullRequest
0 голосов
/ 02 июля 2019

Внутри файла CustomerThread.php я добавил дополнительное поле, которое я хочу использовать.

class CustomerThreadCore extends ObjectModel
{
    public $id;
    public $id_shop;
    public $id_lang;
    public $id_contact;
    public $id_customer;
    public $id_order;
    public $id_product;
    public $status;
    public $email;
    public $token;
    public $date_add;
    public $date_upd;
    public $size_number; //this is my extra variable

Ниже того же класса я объявил тип нового поля

    'size_number' => array(
    'type' => self::TYPE_INT
),

ВнутриФайл contactform.php Я получаю значение поля и пытаюсь передать его в метод add ().

$ct = new CustomerThread();
if (isset($customer->id)) {
    $ct->id_customer = (int)$customer->id;
}
$ct->id_shop = (int)$this->context->shop->id;
$ct->id_order = $id_order;

if ($id_product = (int)Tools::getValue('id_product')) {
    $ct->id_product = $id_product;
}
$ct->id_contact = (int)$id_contact;
$ct->id_lang = (int)$this->context->language->id;
$ct->email = $from;
$ct->status = 'open';
$ct->token = Tools::passwdGen(12);
$ct->size_number = $size_number; //extra field it already has the value i need e.g. 42
$ct->add();

Но я получаю: Произошла ошибка при отправке сообщения.

...