Стань специалистом и зарабатывай в Интернет

Только реальные способы заработка в сети.
От копирайтинга до SEO-оптимизации.
Проверено 100% на личном опыте!

В Opencart не работает и не показывается каптча в товаре

Не показывается КАПТЧА в Opencart

При переносе магазина на новый хостинг у меня почему-то перестала работать каптча в отзывах магазина на Opencart CMS. Причем на оригинальном магазине все работало (файлы не менялись), а на новом уже не показывались цифры, которые нужно было вводить. Пришлось гуглить и решать эту проблему.

Не будучи программистом обнаружить корень зла тяжело, поэтому я решил просто найти в поиске владельцев магазинов на CMS Opencart (я использую OcStore 1.5.5.1.2), у которых как и у меня, перестала показываться каптча и пробовать их способы решения этой задачи.

Сейчас я перечислю все, что нашел в сети, а вы можете перебрать их все по очереди. Один из них мне в конце концов помог и каптча стала работать нормально.

Не работает каптча

Путь к изображению каптчи

Итак, первое что нужно сделать, проверить путь, который ведет к картинке каптчи в отзывах товарах.

Путь к картинке прописывается в файле /catalog/view/theme/default/template/product/product.tpl и выглядит обычно вот так: img src="index.php?route=product/product/captcha"

Естественно, для правок вам понадобится доступ к FTP (что это такое)
На что правим?

Мне помогло исправление на img src="index.php?route=information/contact/captcha"

Кроме того, вы можете попробовать указать прямой путь к сайту, например, img src="http://moytop.com/index.php?route=information/contact/captcha", где вместо moytop.com — адрес вашего сайта. И наоборот, если был указан прямой путь с доменом сайта — укажите относительный путь без домена сайта.

Редактирование файла каптчи

Если манипуляции с путями не помогли, попробуйте проверить, а на месте ли сам файл, который отвечает за правильную работу каптчи.

Он находится вот тут: /system/library/captcha.php

Если он у вас отсутствует или отличается по размеру от оригинала из соответствующего дистрибутива (или исходной копии сайта) — замените его, предварительно сделав бекап текущего файла.

После каждой манипуляции проверяйте каптчу — не появилась ли она на странице товара?

Если не появляется попробуйте внести вот такие изменения в файл captcha.php:

1Найти часть кода:

function __construct() {
$this->code = substr(sha1(mt_rand()), 17, 6);
}

2Заменить на такой вариант:

function __construct() {
  $this->code = substr(sha1(mt_rand()), 17, 6);
  $out = ob_get_contents();
  $out = str_replace(array("\n", "\r", "\t", " "), "", $input);
  ob_end_clean();
}

3Если не поможет, то на такой вариант:

function __construct() {
  $this->code = substr(sha1(mt_rand()), 17, 6);
  $out = ob_get_contents();
  $out = str_replace(array("\n", "\r", "\t", " "), "", $this->code);
  ob_end_clean();
}

 

Если ничего из перечисленного не помогает добиться появления каптчи, тогда попробуйте еще вот такое изменение сделать с каждым из приведенных выше вариантов:

Поменять код header('Content-type: image/jpeg'); на header('Content-type: image/png'); а чуть ниже: imagejpeg($image); на imagepng($image);

Не забудьте вернуть все на исходную, если данная операция не помогла и попробуйте еще следующий пункт.

Правильные кодировки в UTF-8

При редактировании файлов php важно их сохранять в формате UTF-8 (там есть вариант с BOM или простой/без BOM — выбирайте именно простой, без BOM).

Поэтому попробуйте открыть и заново сохранить в UTF-8 без BOM следующие файлы:

  • /system/library/response.php
  • /system/library/captcha.php
  • /catalog/view/theme/default/template/product/product.tpl

Я использую редактор EditPlus (ссылку на него уже давал выше в статье про FTP, то есть скачать EditPlus можно внизу вот это страницы).

Удаление кодов сервисов

Если каптча перестала показываться буквально недавно, вспомните — может вы добавляли коды соцсетей, Google аналитики, Яндекс метрики, Live Chat и т.п. сервисы.

Уберите все коды и проверьте — каптча показалась?

Если да, то возвращайте коды по одному и когда найдете тот, который влияет на отображение каптчи в вашем магазине, то отключите именно его.

Попробуйте эти рекомендации, если какая-то из них сработала, порекомендуйте статью в соцсетях или проголосуйте звездочкой в рейтинге, спасибо!

Ну а если не хотите заморачиваться со всеми этими исправлениями — покупайте готовый магазин Opencart у меня, там уже все установлено и настроено, скидки участникам блога гарантированны!

Было интересно - жми на звезды:



Комментарии на блоге
Комментариев (4)
  1. Александр

    Огромное спасибо автору. Долга мучался с этой проблемой. Помог первый вариант замены кода капчи!

  2. Георгий

    Первый вариант замены кода капчи помог! Спасибо, очень полезная статья!

  3. Ирина

    А у меня после установки магазина капча ен показывалась в контактах, и вариант номер 1 помог. А потом сайт переехал на другой хостинг — и капча снова пропала. Тогда помог анти-вариант номер 1, т..е. возврат к тому, что было до.
    АТк и осталось загадкой, почему одному хостеру надо одно, другому другое, но автору спасибо — помог дважды.

  4. ыва

    Помог вариант под цифрой 3. Спасибо! :yes:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

  • :smile:
  • :giggle:
  • :cool:
  • :yes:
  • :no:
  • :facepalm:
  • :nerd:
  • :clap:
  • :devil:
  • :wait:
  • :whew:
  • :cry:
  • :wall:
  • :bow:
  • :cash:
more »

Подписка на бесплатные уроки
Подписаться!