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

हां, मेरे पास व्यवस्थापक से केवल एक ही रेटिंग सक्रिय है। तो मुझे इस कोड की कोशिश करते हैं
रौनक चौहान

बहुत बहुत धन्यवाद :) यह ठीक काम कर रहा है। बहुत बहुत धन्यवाद फिर से
रौनक चौहान

इस कोड को उपरोक्त परिणाम में कहां जोड़ा जाए? मुझे एक ही काम करने की जरूरत है।
जय

@ जय, आपको यह कोड अपने किसी भी कस्टम मॉड्यूल ब्लॉक फ़ाइल में डालना है और जहाँ से आप चाहें, इस विधि को कॉल करें। जैसे आप इसे अपने विषय की समीक्षा सूची पृष्ठ से कह सकते हैं।
आशीष जगनानी

क्या आप कृपया ऐसा कर सकते हैं, मैं उसके अनुसार चल सकता हूं? आप जोड़ सकते हैं कि आपने अपने काम में कैसे किया था। आपके द्वारा बनाए गए ब्लॉक का कोड पोस्ट करें और आप समीक्षा सूची पृष्ठ पर कैसे कॉल करें।
जय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.