Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Пробовал упростить регистрацию. Отредактировал  как тут -http://arnit.com.ua/blog/?do=findComment&comment=15 в статье. Теперь если регистрация "как гость", то все хорошо мало полей и необязательные тоже изменил, все отлично, но после обычной регистрации появляется такая ошибка(скрин прикреплен). Вот файлы которые уже мной модифицированные (кроме Кастумер.пхп, а текстовые файлы это ТПЛ формат).

 

Помогите разобраться

 

 

Инфо:

Ocstore 1.5.4.1

customer.php

guest.php

guest.txt

register.php

register.txt

post-30993-0-93056900-1368337724_thumb.png

Надіслати
Поділитися на інших сайтах


Главное форму "зарегестрироваться" поменял - все ок, форму "гость" поменял - все ок, а вот с формой "регистрация при оформлении" - вот такая ошибка.  В custumer.php я вообще не лез.

 

Это ошибка строки 30

if (!$customer_group_info['approval']) {
$message .= $this->language->get('text_login') . "\n";
} else {
$message .= $this->language->get('text_approval') . "\n";
}

 

 

Это ошибка строки 14

 

$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");

     
 
 

На всякий случай напишу как выглядят поля регистрации в коде:
$firstname - Имя, Отчество
$lastname - Фамилия
$email - E-Mail
$telephone - Телефон
$fax - Факс
$company - Компания
$company_id - Company ID (вообще что то не понятное)
$address_1 - Адрес
$address_2 - Адрес продолжение
$city - Город
$postcode - Индекс
$country - Страна
$zone - Регион/Область
$password - Пароль
$confirm - Подтверждение пароля

Значит мы удаляем $lastname, $fax и $company. В файлеваш_сайт/catalog/view/theme/default/template/account/register.tpl(это картинка которую видит потенциальный покупатель) удаляем кусок кода

<tr>
<td><span class="required">*</span> <?php echo $entry_lastname; ?></td>
бла бла бла ...
</tr>
(это строка с фамилией)

<tr>
<td><?php echo $entry_fax; ?></td>
<td><input type="text" name="fax" value="<?php echo $fax; ?>" /></td>
</tr>
 (строка - факс)

<tr>
<td><?php echo $entry_company; ?></td>
бла бла бла..

</tr> (строка - компания) 

Следующий шаг - удаление части кода в этом файлеваш_сайт/catalog/controller/account/register.php, ищем такие строки 

1. $this->data['entry_lastname'] = $this->language->get('entry_lastname');

2. $this->data['entry_fax'] = $this->language->get('entry_fax');

3. $this->data['entry_company'] = $this->language->get('entry_company'); 

4. if (isset($this->error['lastname'])) {
    $this->data['error_lastname'] = $this->error['lastname'];
    } else {
    $this->data['error_lastname'] = ''; }

5. if (isset($this->request->post['lastname'])) {
    $this->data['lastname'] = $this->request->post['lastname'];
    } else {
    $this->data['lastname'] = '';
    }

6. if (isset($this->request->post['fax'])) {
    $this->data['fax'] = $this->request->post['fax'];
    } else {
    $this->data['fax'] = '';
    }

7. if (isset($this->request->post['company'])) {
    $this->data['company'] = $this->request->post['company'];
    } else {
    $this->data['company'] = '';
    }

8. if ((utf8_strlen($this->request->post['lastname']) < 1) || (utf8_strlen($this->request->post['lastname']) > 32)) {
    $this->error['lastname'] = $this->language->get('error_lastname');
    }

 и удаляем их, всего 8 кусочков получилось. Теперь открываем файл ваш_сайт/catalog/model/account/customer.php

и удаляем там эти строки:

1.  lastname = '" . $this->db->escape($data['lastname']) . "',  -  повторяется 3 раза

2.  fax = '" . $this->db->escape($data['fax']) . "',   -  повторяется 2 раза

3. company = '" . $this->db->escape($data['company']) . "',  -  1  раз

В итоге в трех файлах убираем не нужное и вуаля, в нашей регистрации нет ничего лишнего.

Для удаления лишних полей  регистрации при оформлении заказа - проделываем все те же действия, только в этих файлах:

ваш_сайт/catalog/view/theme/default/template/checkout/register.tpl

 ваш_сайт/catalog/controller/checkout/register.php

Пробуйте, эксперементируйте! Удачи Вам!

 

тут есть как изменить регистрацию, но "зарегестрироваться" у меня нормально работает а ошибку  "полей  регистрации при оформлении заказа" выдает именно из файлов другой степи- "зарегестрироваться"

Надіслати
Поділитися на інших сайтах


убрал 14ю ошибку удалив cаstumer group.

 

 

Но появился другой вопрос, при регистрации в момент оформления нужно подтверждение админа, как убрать ограничение?

Надіслати
Поділитися на інших сайтах


  • 3 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.