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

Как организовать оценку товара (рейтинг, отзывы)


Recommended Posts

Так решение элементарное, выгрызите из шаблона товара все ненужное (поле ввода комментария и имя пользователья).

Перенесите радел с комментариями из таба под цену и в контроллере уберите валидацию ввода коментария.

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


видимо имелось ввиду совсем простая... так устроено на других движках по проще, т.е кликаем по одной и 5 звездочек и все.... "Спасибо за оценку".

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

видимо имелось ввиду совсем простая... так устроено на других движках по проще, т.е кликаем по одной и 5 звездочек и все.... "Спасибо за оценку".

Да, совершенно верно.

Сейчас надо указать имя, написать какой-нибудь комментарий подождать пока админ или модератор одобрит отзыв и только потом у товара оценка появится.

Можно сделать без обязательного написания комента и модерирования?

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


Да, совершенно верно.

Сейчас надо указать имя, написать какой-нибудь комментарий подождать пока админ или модератор одобрит отзыв и только потом у товара оценка появится.

Можно сделать без обязательного написания комента и модерирования?

Я тоже с вами согласен есть кто нибудь кто может помочь сделать нормальный простой отзыв и без модерирование и просто человек нажал на звездочку и все рейтинг засчитал!
Надіслати
Поділитися на інших сайтах


Завтра как раз начинаю этим пунктом заниматься...

Выложу решение (или наработки) - как пойдет.

ЗЫ: самого бесит сколько телодвижений нужно, чтобы оставить отзыв - даже охоту отбивает вообще отзыв оставлять.

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


Для затравки ))

Чтобы отзыв публиковался автоматически необходимо в базе в таблице _review в поле status поменять По умолчанию на 1 (сейчас стоит 0).

Я еще автора сделал По умолчанию = Гость.

  • +1 3
Надіслати
Поділитися на інших сайтах


Я не стал отзыв вырезать из таба и запихивать под цену. Также не стал убивать кнопку "Вперед" для вызова функции.

http://adjuster.jino.ru/index.php?route=product/product&path=43&product_id=49

Решение того, что есть:

---------------------------------------

файл catalogcontrollerproductproduct.php

в public function write() {

удаляем:

if ((utf8_strlen($this->request->post['name']) < 0) || (utf8_strlen($this->request->post['name']) > 25)) {
   $json['error'] = $this->language->get('error_name');
  }
 
if ((utf8_strlen($this->request->post['text']) < 0) || (utf8_strlen($this->request->post['text']) > 1000)) {
   $json['error'] = $this->language->get('error_text');
  }
if (!isset($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
   $json['error'] = $this->language->get('error_captcha');
  }

Остается только проверка Оценки post['rating']

-----------------------------------------

-------------------------------------------

файл catalogviewthemedefaulttemplateproductproduct.tpl

Было:

<?php if ($review_status) { ?>
  <div id="tab-review" class="tab-content">
    <div id="review"></div>
    <h2 id="review-title"><?php echo $text_write; ?></h2>
    <b><?php echo $entry_name; ?></b><br />
    <input type="text" name="name" value="" />
    <br />
    <br />
    <b><?php echo $entry_review; ?></b>
    <textarea name="text" cols="40" rows="8" style="width: 98%;"></textarea>
    <span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
    <br />
    <b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
    <input type="radio" name="rating" value="1" />
     
    <input type="radio" name="rating" value="2" />
     
    <input type="radio" name="rating" value="3" />
     
    <input type="radio" name="rating" value="4" />
     
    <input type="radio" name="rating" value="5" />
      <span><?php echo $entry_good; ?></span><br />
    <br />
    <b><?php echo $entry_captcha; ?></b><br />
    <input type="text" name="captcha" value="" />
    <br />
    <img src="index.php?route=product/product/captcha" alt="" id="captcha" /><br />
    <br />
    <div class="buttons">
	  <div class="right"><a id="button-review" class="button"><span><?php echo $button_continue; ?></span></a></div>
    </div>
  </div>
  <?php } ?>

Стало:

<?php if ($review_status) { ?>
  <div id="tab-review" class="tab-content">
    <div id="review"></div>
    <h2 id="review-title"><?php echo $text_write; ?></h2>
   
  
   
    <b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
    <input type="radio" name="rating" value="1" />
     
    <input type="radio" name="rating" value="2" />
     
    <input type="radio" name="rating" value="3" />
     
    <input type="radio" name="rating" value="4" />
     
    <input type="radio" name="rating" value="5" />
      <span><?php echo $entry_good; ?></span><br />
   
   
    <div class="buttons">
	  <div class="right"><a id="button-review" class="button"><span><?php echo $button_continue; ?></span></a></div>
    </div>
  </div>
  <?php } ?>

----------------------------------------------------------

файл catalogviewthemedefaulttemplateproductreview.tpl

Было:

<?php if ($reviews) { ?>
<?php foreach ($reviews as $review) { ?>
<div class="content"><b><?php echo $review['author']; ?></b> | <img src="catalog/view/theme/default/image/stars-<?php echo $review['rating'] . '.png'; ?>" alt="<?php echo $review['reviews']; ?>" /><br />
  <?php echo $review['date_added']; ?><br />
  <br />
  <?php echo $review['text']; ?></div>
<?php } ?>
<div class="pagination"><?php echo $pagination; ?></div>
<?php } else { ?>
<div class="content"><?php echo $text_no_reviews; ?></div>
<?php } ?>

Стало:

<?php if ($reviews) { ?>
<?php foreach ($reviews as $review) { ?>
<div class="content"><img src="catalog/view/theme/default/image/stars-<?php echo $review['rating'] . '.png'; ?>" alt="<?php echo $review['reviews']; ?>" /><br />
  <?php echo $review['date_added']; ?><br />
  <br />
  </div>
<?php } ?>
<div class="pagination"><?php echo $pagination; ?></div>
<?php } else { ?>
<div class="content"><?php echo $text_no_reviews; ?></div>
<?php } ?>
---------------------------------------

---------------------------------------

Еще в файле языка cataloglanguagerussianproductproduct.php

меняем

$_['text_success']      = 'Спасибо за Ваш отзыв. Он отправлен администратору на утверждение.';
На
$_['text_success']      = 'Спасибо за Ваш отзыв';
  • +1 3
Надіслати
Поділитися на інших сайтах


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

Не сообразят покупатели нажать вперед...

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

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

Не сообразят покупатели нажать вперед...

Уважаемый коллега, я чайник в PHP - практически ничего в нем не понимаю. Поэтому мне трудно из звездочек сделать вызов функции.

С удовольствием бы это сделал, но... Не хватает знаний в PHP.

(Я не шучу!)

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


Уважаемый коллега, я чайник в PHP - практически ничего в нем не понимаю.

это не php

вот эту часть

$('#button-review').bind('click', function() {
$.ajax({
type: 'POST',
заменить на

$('#tab-review  input[name=rating]').bind('click', function() {

$.ajax({
type: 'POST',

  • +1 2
Надіслати
Поділитися на інших сайтах

Сделал на выбор.

Теперь можно проголосовать прямо под ценой (см. по ссылке)

делаем так:

Вот этот код

<?php if ($review_status) { ?>
	 <h2 id="review-title"><?php echo $text_write; ?></h2>
	 <b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
	<input type="radio" name="rating" value="1" />
	 
	<input type="radio" name="rating" value="2" />
	 
	<input type="radio" name="rating" value="3" />
	 
	<input type="radio" name="rating" value="4" />
	 
	<input type="radio" name="rating" value="5" />
	  <span><?php echo $entry_good; ?></span><br />
	 <?php } ?>

Вставляем после

<div class="review">
		<div><img src="catalog/view/theme/default/image/stars-<?php echo $rating; ?>.png" alt="<?php echo $reviews; ?>" />  <a onclick="$('a[href='#tab-review']').trigger('click');"><?php echo $reviews; ?></a>  |  <a onclick="$('a[href='#tab-review']').trigger('click');"><?php echo $text_write; ?></a></div>

А в

$('#tab-review  input[name=rating]').bind('click', function() {

меняем на

$(' input[name=rating]').bind('click', function() {

Все это делается в catalogviewthemedefaulttemplateproductproduct.tpl

  • +1 2
Надіслати
Поділитися на інших сайтах


Для затравки ))

Чтобы отзыв публиковался автоматически необходимо в базе в таблице _review в поле status поменять По умолчанию на 1 (сейчас стоит 0).

Я еще автора сделал По умолчанию = Гость.

да работает

осталась такая проблема нужно чтобы при нажатии на звездочку проходил отзыв и внизу изменить обычное голосование на звездочки как можно организовать может кто знает?

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


Зачес упрощать отзывы ? это приведет что СЕШ-ники в коментариях будут писать поставые со ссылкой на другой сайт..часто такое вижу..а кому магазин действительно понравился и так отзыв оставит(или я не прав?)

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


  • 2 weeks later...

А как сделать, что бы комментарии можно было писать не во вкладке а сразу ниже описания? Спасибо

также по примеру с голосованием - использовать вывод в нужном месте.
Надіслати
Поділитися на інших сайтах


  • 2 months later...

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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