Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Свяжитесь с нами - нет защиты.

в разделе свяжитесь с нами нет капчи
  не хорошо !
могут заспамить.


Рассмотрим добавление каптчи на страницу обратной связи (Свяжитесь с нами), принцип везде один и тот же, поняв принцип, Вы легко сможете добавить каптчу на любую страницу.

В ShopOS каптча применяется по умолчанию, к примеру, при подписке на рассылку, при напоминании пароля.
Я покажу, как добавлять каптчу и к другим страницам, в данном примере будет показано как добавить каптчу на страницу Свяжитесь с нами, т.к. очень часто через данную форму может приходить множество спама, могут просто "бомбить" Ваш почтовый ящик тысячами и десятками тысяч сообщений через форму обратной связи, вобщем, проблем может быть много от роботов, гуляющих по интернету, либо просто если кто-то решит максимально осложнить работу Вашего интернет-магазина.

Итак, начнём.

Файл свяжитесь с нами - /shop_content.php
Открываем его.

Добавляем в нашу форму обратной связи вывод случайно картинки и поле для ввода.
Находим:
$osTemplate->assign('INPUT_TEXT', os_draw_textarea_field('message_body', 'soft', 50, 15, $_POST,''));

Ниже добавляем:


$osTemplate->assign('CAPTCHA_IMG', '<img src="'.FILENAME_DISPLAY_CAPTCHA.'" alt="captcha" />');   
$osTemplate->assign('CAPTCHA_INPUT', os_draw_input_field('captcha', '', 'size="6" maxlength="6"', 'text', false));


Мы добавими две смарти-метки VVIMG и INPUT_CODE, который мы затем вставим в шаблон страницы обратной связи.
Ищем код:

if (os_validate_email(trim($_POST))) {

Меняем на:

if ((os_validate_email(trim($_POST))) && ($_POST == $_SESSION)) {

Теперь открываем шаблон страницы обратной связи. Это файл /themes/ващ_шаблон/module/contact_us.html.

<p>{#text_email#} {$INPUT_EMAIL}</p>


Ниже добавляем:

<p>{#text_sec_code#} {$CAPTCHA_IMG}</p>
<p>{#text_sec_code_text#} {$CAPTCHA_INPUT}</p>


Как Вы видите, мы просто вставили метки, которые ранее определили в файле shop_content.php. а именно {$CAPTCHA_IMG} и {$INPUT_CODE}.
Также мы добавили в шаблон текстовые метки {#text_sec_code#} и {#text_sec_code_text#}.

Теперь нам нужно определить их в языковом файле.
Открываем файл /langs/lang.conf (*lang_ru.conf в зависимости от версии движка).
Ищем блок констант для страницы contact_us, находим:


text_name = 'Ваше имя:'
text_email = 'Ваш E-Mail:'
text_message = 'Ваше сообщение:'
text_success = 'Ваше сообщение было успешно отправлено.'

Добавляем новые константы, т.е. меняем данный код на:


text_name = 'Ваше имя:'
text_email = 'Ваш E-Mail:'
text_message = 'Ваше сообщение:'
text_success = 'Ваше сообщение было успешно отправлено.'
text_sec_code = 'Картинка:'
text_sec_code_text = 'Укажите код на картинке:'


Спасибо.
доработаю сам ;)

"... после сборки доработать напильником...(c)"


Источник



Copyright ShopOS