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

Как разрешить оставлять отзывы только зарегистрированным?


Recommended Posts

тык

 

может отличаться для новых версий, но принцип тот же

Пробовал, на ocStore 1.5.5.1, уже при внесении изменений, описанных в 1-м шаге сайт выдает ошибку.

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


В контроллер товара добавляешь: 

$this->data['logged'] = $this->customer->isLogged();

а уже в самой въюхе товара, ставишь на условие, например кнопку отправки отзыва, например:

<div class="buttons">
      <div class="right"><a id="button-review" class="button"><?php echo $button_continue; ?></a></div>
    </div>

заменяешь на:

<div class="buttons">
<?php if ($logged) { ?>
      <div class="right"><a id="button-review" class="button"><?php echo $button_continue; ?></a>
<?php } else { ?>
<a href="index.php?route=account/login>">Авторизируйтесь что б оставить отзывчеГ</a>
<?php } ?>
</div>
    </div>
Надіслати
Поділитися на інших сайтах

а проверка на бэкэнде, что юзер зареган? ведь можно отправить форму и без кнопки ж

Откройте мне секрет, как отправить отзыв без кнопки ?!

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

Открываем консоль браузера, впихиваем простым копипастом

$.ajax({
url: 'index.php?route=product/product/write&product_id=134',
type: 'post',
dataType: 'json',
data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
beforeSend: function() {
$('.success, .warning').remove();
$('#button-review').attr('disabled', true);
$('#review-title').after('<div class="attention"><img src="catalog/view/theme/default/image/loading.gif" alt="" /> Пожалуйста, подождите!</div>');
},
complete: function() {
$('#button-review').attr('disabled', false);
$('.attention').remove();
},
success: function(data) {
if (data.error) {
$('#review-title').after('<div class="warning">' + data.error + '</div>');
}


if (data.success) {
$('#review-title').after('<div class="success">' + data.success + '</div>');


$('input[name=\'name\']').val('');
$('textarea[name=\'text\']').val('');
$('input[name=\'rating\']:checked').attr('checked', '');
$('input[name=\'captcha\']').val('');
}
}
});

жмакаем enter..всё)

Можно просто скачать какойнить плагин для формирования в ручную post запросов, и слать их) Ну вообщем то смысл же понятен

 

ну разумеется, id продукта будет другим. Что может быть проще, копирования кода из исходника страницы?)

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


Ии? заполнил все поля, выполнил скрипт в консоле и всё ок. Тока что проверил у ся, всё пашет.

Даже делая post запросы в ручную, вводим значение капчи и отправляем. Для просто скрипта спама отзывами, нужно капчу выводить себе, но код, как выводится капча известен же. Можно тогда и антикапчу прикрутить, для автоспама.

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


Ставишь тогда сей кусок скрипта под условие <?php if ($logged) { ?> и усё... разве конкретно под движок спамиться будет, но ради такого действия, не жалко и пару тугриков заплатить, за перепись контроллера...

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

Допустим, будет автоспам, ну и что? Отзывы ведь не автоматом публикуются, она сначала на модерацию уходят. Вообще не вижу здесь проблемы.

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

Вы щас спорите, как-будто добавить в catalog\controller\product\product.php

в функцию write() условие так сложно)

if (!$this->customer->isLogged()){
                $json['error'] = $this->language->get('error_islogged');
            }

Ну и в текстовый файл добавить текст ошибки

 

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


Ну... имея инструмент для идентификации авторизации "$this->customer->isLogged()" - всё ограничено только фантазией...

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

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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