Перейти к содержанию

Рекомендуемые сообщения

Здравствуйте, решил сделать рейтинг у отзывов + - 
Перерыл пол интернета, нашел один модуль, но стоит 20 баксов, а тратить такие деньги ради одной фичи не хочется, 
Подскажите, как при нажатии на кнопку, добавлять отзыву в базу + положительный или + негативный
Или подскажите аналог какой нибудь в данной функции
Или хоть какой совет, спасибо
Я понимаю что нужно написать обработчик отправить в контроллер и обработать там новым классом в моделе
Но какие буковки и цифиры мне писать?)
Версия 2.1.0.2

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

Изменено пользователем entense

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы следующим образом сделал.

Создал таблицу или воспользовался бы конфигом, в котором фиксировал какой отзыв с какого ip или куки как оценили. Чтобы если уже есть запись об оценке, допустим, положительной - можно было бы только на негативную нажать, либо наоборот. И когда происходит изменение рейтинга - дописывать в таблицу рейтинга или же конфига + или - 1 значение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 часов назад, Maximbl4m сказал:

Я бы следующим образом сделал.

Создал таблицу или воспользовался бы конфигом, в котором фиксировал какой отзыв с какого ip или куки как оценили. Чтобы если уже есть запись об оценке, допустим, положительной - можно было бы только на негативную нажать, либо наоборот. И когда происходит изменение рейтинга - дописывать в таблицу рейтинга или же конфига + или - 1 значение.

так это понятно, мне нужно вид запроса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал так
Model 

Цитата

 

   public function addCustomReview($review_id) {
    $this->db->query("UPDATE " . DB_PREFIX . "review SET custom_plus = '55555' WHERE review_id = '29'");

    }

 

 

php
 

Цитата

 

        public function addcustomreview($review_id) {
        $this->load->language('product/product');
        $json = array();

                $this->load->model('catalog/review');
    $this->model_catalog_review->addCustomReview($this->request->post['review_id']);
                $json['success'] = $this->language->get('text_success');
                
        $this->response->addHeader('Content-Type: application/json');
        $this->response->setOutput(json_encode($json));
    }

 


tpl 

 

Цитата

 


<div class="btn-rating-custom plus" id="plus-<?php echo $review['review_id']; ?>"></div>


         <script type="text/javascript"><!--
$('.plus').on('click', function() {
   $.ajax({
                                         url: 'index.php?route=product/product/addcustomreview',
                                    type: 'post',
                                    data: '1',
                                            dataType: 'json',
                                    success: function(html) {
                alert("+");
                
                                    }
                                    
                                });
});
//--></script>

 

передается 5555 в 29 отзыв, я хотел проверить, вроде иду туда, но как передавать id отзыва, подскажите хоть это, дальше сам разберусь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, entense сказал:

передавать id отзыва

В контроллере, который отвечает за вывод отзывов в данные добавить чтобы id отзыва выводился, и выводить его во вьюхе. Но было бы правильнее генерировать ссылку на "+" и на "-", сразу с айдишником.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Maximbl4m сказал:

В контроллере, который отвечает за вывод отзывов в данные добавить чтобы id отзыва выводился, и выводить его во вьюхе. Но было бы правильнее генерировать ссылку на "+" и на "-", сразу с айдишником.

так и сделал, осталось прикрутить проверку на то что человек уже поставил, и убирать + если ставит минус

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, entense сказал:

так и сделал, осталось прикрутить проверку на то что человек уже поставил, и убирать + если ставит минус

По айпишнику фиксировать либо в таблице БД либо через setting/setting модель. Тут уж как правильнее хочется) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что тут не так? 
$this->db->query("INSERT INTO " . DB_PREFIX . "reviews_custom p SET p.customer_id = '" . (int)$this->customer->getId() . "', p.status = '3', p.review_id = '" . (int)$review_id ."' ON DUPLICATE KEY UPDATE p.status = '3' ");

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем сделал почти, все сохраняется осталось добавить класс кнопки то что уже ты ставил оценку, код весь скину если кто отпишется сюда, сюда и скину, всю ночь потратил, там красиво все кода на строчек 20

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.