Создание нового способа регистрации при оформлении заказа - PullRequest
1 голос
/ 29 мая 2019

Привет, ребята, я пытаюсь разместить некоторую информацию о клиентах на кассе / телефоне - телефон, день рождения, мобильный телефон. Но проблема в том, что я не могу сохранить в базе данных, кроме имени, фамилии Opencart 2.3.0.2 Я делаю все по шаблону по умолчанию, но у меня есть шаблон themeforest

Так что на tpl я поставил этона payment_adress

<div class="telefone required col-lg-6" style="padding-left: 0;">
                   <label class="col-sm-12 control-label" for="input-telephone"><?php //echo $entry_telephone; ?></label> 
                  <div class="col-sm-12 inputWithIcon">                     
                     <input type="text" name="telephone" value="" placeholder="<?php echo $entry_telephone; ?>" id="input-payment-telephone" class="form-control" title="Coloque o número de telefone celular ou fixo" required="required"/>
                     <i class="fa fa-phone" aria-hidden="true"></i>
                 </div>

на контроллере payment_adress

$data['entry_telephone'] = $this->language->get('entry_telephone'); 

и

if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {
                $json['error']['telephone'] = $this->language->get('error_telephone');
            }

и на адресе модели я делаю другую общедоступную функцию под названием addCustomer2.Целью является ВСТАВКА В ИНТЕРНЕТ клиента всю информацию.Так что этот файл я положил

public function addCustomer2($data) {
    if (isset($data['customer_group_id']) && is_array($this->config->get('config_customer_group_display')) && in_array($data['customer_group_id'], $this->config->get('config_customer_group_display'))) {
        $customer_group_id = $data['customer_group_id'];
    } else {
        $customer_group_id = $this->config->get('config_customer_group_id');
    }

    $this->load->model('account/customer_group');

    $customer_group_info = $this->model_account_customer_group->getCustomerGroup($customer_group_id);

    $this->db->query("INSERT INTO " . DB_PREFIX . "customer SET customer_group_id = '" . (int)$customer_group_id . "', store_id = '" . (int)$this->config->get('config_store_id') . "', language_id = '" . (int)$this->config->get('config_language_id') . "', firstname = '" . strtoupper($this->db->escape($data['firstname'])) . "', lastname = '" . strtoupper($this->db->escape($data['lastname'])) . "', telephone = '" . $this->db->escape($data['telephone']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']['account']) ? json_encode($data['custom_field']['account']) : '') . "', salt = '" . $this->db->escape($salt = token(9)) . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");}

Там нет ошибки сообщения о моей конфигурации, но не сохраняет информацию.Может кто-нибудь помочь мне, пожалуйста

1 Ответ

0 голосов
/ 02 июня 2019

Вы проверили, называется ли в контроллере функция модели addCustomer2 (не addCustomer)

Из того, что я понимаю из вашего сообщения (если вы не получаете никаких ошибок), кажется, что в контроллере называется старая функция addCustomer,не ваша новая функция.

Также, если у вас есть несколько расширений OCMOD и эта модель была изменена, обязательно проверьте хранилище / модификацию / ... и пересобрать кэш ocmod (если вы изменили файл, который также был изменен с помощьюдругие расширения ocmod)

Хорошего дня

...