Jump to content
Sign in to follow this  
serjg

Ошибка "Undefined variable: entry_captcha in"

Recommended Posts

Версия магазина: ocStore v0.2.2

Изменений вносились в шаблон внешнего вида от Opencartws_2.0

Хостинг у хостера и на денвере тоже самое

При попытке регистрации нового покупателя на странице регистрация внизу около "капчи" появляется сообщение об ошибке:

Notice: Undefined variable: entry_captcha in Z:\home\test1.ru\www\catalog\view\theme\opencartws\template\account\create.tpl on line 126

Notice: Undefined variable: error_captcha in Z:\home\test1.ru\www\catalog\view\theme\opencartws\template\account\create.tpl on line 128

Причина в отсутствии значения переменных $entry_captcha, $error_captcha, $captcha используемых в файле create.tpl

Для исправления ошибки делаем следующее:

Открываем файл \catalog\controller\account\create.php

ищем там:

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

ниже вставляем:

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

ищем:

if (isset($this->error['confirm'])) {

$this->data['error_confirm'] = $this->error['confirm'];

} else {

$this->data['error_confirm'] = '';

}

ниже вставляем:

if (isset($this->error['captcha'])) {

$this->data['error_captcha'] = $this->error['captcha'];

} else {

$this->data['error_captcha'] = '';

}

ищем:

if (isset($this->request->post['confirm'])) {

$this->data['confirm'] = $this->request->post['confirm'];

} else {

$this->data['confirm'] = '';

}

ниже вставляем:

if (isset($this->request->post['captcha'])) {

$this->data['captcha'] = $this->request->post['captcha'];

} else {

$this->data['captcha'] = '';

}

ищем:

);

$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));

}

ниже вставляем:

public function captcha() {

$this->load->library('captcha');

$captcha = new Captcha();

$this->session->data['captcha'] = $captcha->getCode();

$captcha->showImage();

}

Ищем:

if ((strlen(utf8_decode($this->request->post['email'])) > 96) || (!preg_match(EMAIL_PATTERN, $this->request->post['email']))) {

$this->error['email'] = $this->language->get('error_email');

}

ниже вставляем:

if (!isset($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {

$this->error['captcha'] = $this->language->get('error_captcha');

}

Далее открываем файл: catalog\language\russian\account\create.php

Ищем:

$_['entry_confirm'] = 'Подтвердите пароль:';

Ниже вставляем:

$_['entry_captcha'] = 'Введите символы с картинки.';

Ищем:

$_['error_agree'] = 'Вы должны согласиться с правилами %s!';

Ниже вставляем:

$_['error_captcha'] = 'Неправильно ввели символы с картинки!';

На этом все теперь проверка капчи работает без ошибок!

Кому лень ковыряться прилагаю "]архивчик заменяющий упомянутые файлы

Fix_entry_captcha.zip

Share this post


Link to post
Share on other sites

Каждый раз, когда вижу сообщения о подобных ошибках, вспоминаю незаслуженно проигнорированную сообществом тему https://opencartforum.com/topic/2707-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC-%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BC%D0%B5%D1%82%D0%BA%D1%83-%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%82/

Share this post


Link to post
Share on other sites

Я до такого ещё не дорос а вот разработчики могли бы и внедрить эту фишку!

Думаю мой пост кому нибудь пригодиться так как сам весь инет перерыл пока понял в чес дело!

Share this post


Link to post
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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.