Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Opencart 2.3 обязательное поле "Email" при регистрации - убрать. Возможно ли?


Recommended Posts

Вопрос - на который скажут, поставь модуль Simple - он уберет. Или любой другой...НО

В корзине ввод Email - да отключается без проблем. Меня интересует НЕ корзина - а страница регистрации. Да да. именно она.

Итакс. если я модулем Simple к примеру делаю поле Email на странице регистрации необязательным и при регистрации его НЕ заполняю, то получаю такие ошибки:

 

Скрытый текст

image.thumb.png.3cbef370f0ccb558ab5fa9f1ddd62e44.png

 

Я пробовал на разных сайтах:

 

Скрытый текст

image.thumb.png.a8796d7c4e850e6d3a7f671a6e81e3f6.png

 

Зачем это мне надо. Я хочу использовать магазин - для ведения базы клиентов. чтоб инженер мог на выезде каждого клиента заводить сам. Но, спрашивать у клиента его email - никто не будет. тем более что со слов можно записать с ошибкой. Для рассылки - email тоже использоваться не будет. Т.е. он на этапе регистрации попросту не нужен, а там где нужен - я добавлю его сторонним модулем.

Так что ошибки в сайте, или модификаторах быть не может. Исходя из этого вопрос: 

 

Как убрать обязательность поля E-mail - именно при РЕГИСТРАЦИИ.

Edited by wwizard
Link to comment
Share on other sites


  • wwizard changed the title to Opencart 2.3 обязательное поле "Email" при регистрации - убрать. Возможно ли?

Костиль з ocmod зробіть в catalog\model\account\custemer.php
Щось типу такого
 

public function addCustomer($data) {

...
if (!isset($data['email']) {
    $data['email'] = '';
}
...

Чи якийсь тимчасовий ... наприклад ваш  $data['email'] = 'ваш email';

Link to comment
Share on other sites

27.04.2023 в 13:13, markimax сказал:

Костиль з ocmod зробіть в catalog\model\account\custemer.php
Щось типу такого
 

public function addCustomer($data) {

...
if (!isset($data['email']) {
    $data['email'] = '';
}
...

Чи якийсь тимчасовий ... наприклад ваш  $data['email'] = 'ваш email';

 

Але якщо тимчасовий прописати - то він же буде повторюватися, а значить - не запрацює?

Link to comment
Share on other sites


27.04.2023 в 13:38, wwizard сказал:

 

Але якщо тимчасовий прописати - то він же буде повторюватися, а значить - не запрацює?

Я правильно зрозумів, Вам потрібно, щоб на сторінці реєстрації можливо було залишити email або порожнім або будь-що туди записати?

Link to comment
Share on other sites


Posted (edited)

  

27.04.2023 в 13:59, SSHEVA сказал:

Я правильно зрозумів, Вам потрібно, щоб на сторінці реєстрації можливо було залишити email або порожнім або будь-що туди записати?

 

Все так

Edited by wwizard
Link to comment
Share on other sites


27.04.2023 в 13:38, wwizard сказал:

 

Але якщо тимчасовий прописати - то він же буде повторюватися, а значить - не запрацює?

що заважає зробити тимчасовий 

public function addCustomer($data) {

...
if (!isset($data['email']) {
    $data['email'] = 'user'. time().'@site.com';
}
...

 

Link to comment
Share on other sites


27.04.2023 в 14:39, wwizard сказал:

  

 

Все так

Скрытый текст

Тоді банально зняти обов'язковість в файлі register.tpl, а саме знайти саме поле  email, та видалити  приписку required до стилю 

Приблизно таке, потрібно знайти 

<div class="form-group required">
            <label class="col-sm-2 control-label" for="input-email">{{ entry_email }}</label>
</div> 

 

та в controller підправити файл який перевіряє email якщо не помиляюся, то /catalog/controller/account/  файл  register.php 

прибрати всякі перевірки поля, по типу довжина тексту в полі 

if ((utf8_strlen($this->request->post['email']) > 96) || !filter_var($this->request->post['email'], FILTER_VALIDATE_EMAIL)) {

замінити там 96

 на 0

та прибрати FILTER_VALIDATE_EMAIL

щоб не перевіряв на правильність поля

Якщо примітивно, то десь так.

 

P.S. Написано на швидкоруч. Але принцип, думаю зрозумілий

Тоді цю перевірку, бажано прибрати всюди! 

Edited by SSHEVA
Link to comment
Share on other sites


27.04.2023 в 15:11, SSHEVA сказал:

Якщо примітивно, то десь так.

 

P.S. Написано на швидкоруч. Але принцип, думаю зрозумілий

Тоді цю перевірку, бажано прибрати всюди! 

 

Дуже дякую .... но не здийснилось((

 

Скрытый текст

image.thumb.png.5eb8749bcbe96d2a78d9839b17cf7c12.png

 

Все такаж помилка

Link to comment
Share on other sites


27.04.2023 в 15:00, niger сказал:

що заважає зробити тимчасовий 

public function addCustomer($data) {

...
if (!isset($data['email']) {
    $data['email'] = 'user'. time().'@site.com';
}
...

 

підскажить будь ласка - в якакому файле и де єто можно прописать?

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.