การปรับแต่งระบบรีวิวสินค้า

โดยปกติแล้วระบบรีวิวหรือระบบแสดงความคิดเห็นของสินค้าใน Opencart นั้น สถานะจะถูกกำหนดไว้เป็น ไม่ให้แสดงจนกว่าผู้ดูแลระบบจะอนุมัติ ซึ่งดูไปแล้วค่อนข้างเอาเปรียบผู้ใช้ บ่งบอกว่าร้านค้าออนไลน์นั้นๆยังไม่เป็นมืออาชีพ วิธีการก็ไม่ยากครับ เปิดไฟล์

 

catalog/model/catalog/review.php

 

public function addReview($product_id, $data) {
$this->db->query("INSERT INTO " . DB_PREFIX . "review SET author = '" . $this->db->escape($data['name']) . "', customer_id = '" . (int)$this->customer->getId() . "', product_id = '" . (int)$product_id . "', text = '" . $this->db->escape($data['text']) . "', rating = '" . (int)$data['rating'] . "',status = '1', date_added = NOW()");
}

โค้ดด้านบน ผมเพิ่ม status = ‘1’ ลงไป แล้วก็บันทึกได้เลยครับ

ปรับปรุงโค้ดให้สามารถกรองคะแนนรีวิวได้ โดยผมเปลี่ยนเป็นแบบนี้ครับ

public function addReview($product_id, $data) {
if((int)$data['rating'] >= 3){ //ถ้าคะแนนมากกว่าหรือเท่ากับ 3 ก็อนุมัติเลย
$status = 1;
}else{
$status = 0;
}
$this->db->query("INSERT INTO " . DB_PREFIX . "review SET author = '" . $this->db->escape($data['name']) . "', customer_id = '" . (int)$this->customer->getId() . "', product_id = '" . (int)$product_id . "', text = '" . $this->db->escape($data['text']) . "', rating = '" . (int)$data['rating'] . "',status = '".$status."', date_added = NOW()");
}

จากนั้นแก้ไขไฟล์เทมเพลทนิดหน่อย

 

catalog/view/theme/default/template/product/product.tpl

 

หา

 


$('#button-review').bind('click', function() {
$.ajax({
url: 'index.php?route=product/product/write&product_id=',
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('

');
},
complete: function() {
$('#button-review').attr('disabled', false);
$('.attention').remove();
},
success: function(data) {
if (data['error']) {
$('#review-title').after('

' + data['error'] + '

');
}

if (data['success']) {
$('#review-title').after('

' + data['success'] + '

');
$('input[name=\'name\']').val('');
$('textarea[name=\'text\']').val('');
$('input[name=\'rating\']:checked').attr('checked', '');
$('input[name=\'captcha\']').val('');
$('#review').load('index.php?route=product/product/review&product_id=');//เพิ่มบรรทัดนี้ลงไป
}
}
});

จบการปรับแต่งเพียงเท่านี้ครับ

Don't be shellfish...Share on FacebookTweet about this on TwitterShare on Google+Digg thisPin on PinterestShare on Reddit

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *

คุณอาจจะใช้ป้ายกำกับและคุณสมบัติHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>