Magento 2: Her bir yıldız için ürün puanlarını, ortalama puanları ve ürün sayfasında 5 yıldız puanlarının yüzdesini göster


14

Ürün sayfasında derecelendirmeleri şu şekilde görüntülemek istiyorum:

resim açıklamasını buraya girin

  1. Kaç kullanıcı seçti 5/4/3/2/1 yıldız derecelendirme
  2. Yıldız olarak görüntülenen ortalama derecelendirme
  3. 5 yıldızlı bir derecelendirme seçen kullanıcıların yüzdesi

Bunun için özel kod eklemeniz gerekiyor, bu yüzden lütfen getReviewsSummaryHtml önermeyin .


Size tam bir çözüm gönderebilir misiniz? Aynı şeyi yapmam gerekiyor ama bunu yapmakta iyi değilim.
— Jai

Yanıtlar:


9

Ürün kimliğiyle bu yeni yöntemi oluşturun ve çağırın. Ayrıca admin'de yalnızca 1 derecelendirme seçeneğinin etkinleştirildiğinden emin olun.

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;
    }

evet, yönetici için etkin tek bir derecelendirme var. bu kodu deneyeyim
— Ronak Chauhan

Çok teşekkürler :) İyi çalışıyor. Tekrar çok teşekkürler
— Ronak Chauhan

Bu kodu yukarıdaki sonuca nereye ekleyebilirim? Aynı şeyi yapmam gerek.
— Jai

@Jai, Bu kodu özel modül blok dosyanızdan herhangi birine koymanız ve bu yöntemi istediğiniz yerden çağırmanız gerekir. Temanızın inceleme listesi sayfasından arayabilirsiniz.
— Ashish Jagnani

Bunu yapabilir miyim lütfen buna göre takip edebilir miyim? İşinizde nasıl yaptığınızı ekleyebilirsiniz. Oluşturduğunuz bloğun kodunu ve nasıl çağırdığınızı inceleme listesi sayfasına gönderin.
— Jai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.