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.