Magento 2: แสดงการให้คะแนนผลิตภัณฑ์สำหรับดาวแต่ละดวงอันดับเฉลี่ยและ% ของคะแนน 5 ดาวบนหน้าผลิตภัณฑ์


14

ฉันต้องการแสดงการให้คะแนนในหน้าผลิตภัณฑ์เช่นนี้:

ป้อนคำอธิบายรูปภาพที่นี่

  1. ผู้ใช้เลือกคะแนนระดับดาว 5/4/3/2/1 เท่าใด
  2. คะแนนเฉลี่ยแสดงเป็นดาว
  3. ร้อยละของผู้ใช้เลือกระดับ 5 ดาว

ฉันจำเป็นต้องเพิ่มรหัสที่กำหนดเองสำหรับที่ดังนั้นโปรดอย่าแนะนำgetReviewsSummaryHtml


คุณช่วยกรุณาโพสต์โซลูชั่นที่สมบูรณ์ให้คุณได้ที่นี่? ฉันต้องทำแบบเดียวกัน แต่ไม่ดีในการทำมัน
ใจ

คำตอบ:


9

สร้างและเรียกวิธีการใหม่นี้ด้วยรหัสผลิตภัณฑ์ ตรวจสอบให้แน่ใจด้วยว่าคุณมีตัวเลือกการให้คะแนนเพียง 1 ตัวเปิดใช้งานในผู้ดูแลระบบ

public function getAllStart($pid) {
    $review = $this->_objectReview->getCollection()     //\Magento\Review\Model\Review $reviewFactory (_objectReview)
            ->addFieldToFilter('main_table.status_id', 1)
            ->addEntityFilter('product', $pid)          //$pid = > your current product ID
            ->addStoreFilter($this->_storeManager->getStore()->getId())
            ->addFieldToSelect('review_id')
    ;
    $review->getSelect()->columns('detail.detail_id')->joinInner(
            ['vote' => $review->getTable('rating_option_vote')], 'main_table.review_id = vote.review_id', array('review_value' => 'vote.value')
    );
    $review->getSelect()->order('review_value DESC');
    $review->getSelect()->columns('count(vote.vote_id) as total_vote')->group('review_value');
    for ($i = 5; $i >= 1; $i--) {
        $arrRatings[$i]['value'] = 0;
    }
    foreach ($review as $_result) {
        $arrRatings[$_result['review_value']]['value'] = $_result['total_vote'];
    }
    return $arrRatings;
    }

ใช่ฉันมีเพียงคะแนนเดียวที่เปิดใช้งานจากผู้ดูแลระบบ ดังนั้นให้ฉันลองใช้รหัสนี้
Ronak Chauhan

ขอบคุณมาก :) มันใช้ได้ดี ขอบคุณมากอีกครั้ง
Ronak Chauhan

จะเพิ่มรหัสนี้ไปที่ผลลัพธ์ด้านบนได้ที่ไหน? ฉันต้องทำสิ่งเดียวกัน
ใจ

@ ใจคุณต้องใส่รหัสนี้ในไฟล์บล็อกโมดูลที่กำหนดเองของคุณและเรียกวิธีนี้จากที่ที่คุณต้องการ เหมือนที่คุณสามารถโทรหาได้จากหน้ารายการตรวจสอบของธีมของคุณ
Ashish Jagnani

คุณช่วยกรุณาทำตามฉันได้ไหม คุณสามารถเพิ่มวิธีการทำงานของคุณได้ โพสต์รหัสของบล็อกที่คุณสร้างและวิธีที่คุณโทรในหน้ารายการรีวิว
ใจ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.