Magento 2の各レビューに評価を取得する方法

目次

  1. はじめに
  2. Magento 2での評価の重要性
  3. 課題:評価をプログラムで取得する
  4. 基本的なしくみの理解
  5. 評価を取得する手順
  6. 結論
  7. よくある質問

はじめに

お気に入りのオンラインストアをブラウズして、特定の商品を購入するかどうかを決めるために、商品レビューを読んでいます。しかし、レビューの中に評価の「星」の表示がないとしたら、決断はより難しくなるでしょう。商品の評価が正しく表示されることは、どのEコマースプラットフォームにおいても重要ですが、Magento 2も例外ではありません。このブログでは、Magento 2で各レビューの評価をプログラムで取得し、表示する方法についてご案内します。開発者やMagentoストアのオーナーとして、Magentoストアを最適化したい場合でも、このガイドは必要な洞察と実践的なステップを提供します。

Magento 2で評価の重要性

商品の評価は、顧客の認識を形成し、購買意思決定に大きな影響を与える重要な役割を果たします。評価のない場合、不完全な情報が提供されるため、ユーザーエクスペリエンスが悪化することがあります。Magento 2は、評価の管理に強力な機能を提供していますが、これらの評価をプログラムで表示することは、時には課題となることがあります。このガイドでは、これらの課題に対処し、解決策を提供します。

課題:評価をプログラムで取得する

開発者は通常、Magento 2のgetDetail()メソッドを使用して、レビューのテキストや作成日を取得することは容易です。ただし、商品の品質を可視化する評価値は、しばしばゼロとして返されたり、期待通りに表示されなかったりします。データベースに評価が保存されていることは間違いありませんが、評価値の問題はイライラすることがあります。

基本的なしくみの理解

Magento 2は、レビューと評価の管理に複雑なアーキテクチャを使用しています。評価は別々に保存され、データベースの複数のテーブルを介してレビューと関連付けられています。評価スコアを正常に取得するには、この構造を理解することが重要です。

主要なコンポーネント

  1. レビューリポジトリ:レビューデータの取得を処理します。
  2. 評価ファクトリ:評価データの作成と操作を管理します。
  3. Magento評価モデル:データベース内の評価データとのやり取りを行います。

評価を取得する手順

ステップ1:環境のセットアップ

コードに取り組む前に、開発環境を正しくセットアップしてください。Magento 2のインストールにアクセスできることと、優れたテキストエディタまたはIDEが必要です。

ステップ2:レビューデータの取得

まず、プログラムでレビューデータを取得します。これには、必要なレビュー詳細を取得するために、レビューリポジトリにクエリを実行する必要があります。

use Magento\Review\Model\ReviewFactory;

protected $_reviewFactory;

public function __construct(
    \Magento\Review\Model\ReviewFactory $reviewFactory
) {
    $this->_reviewFactory = $reviewFactory;
}

// レビューを読み込む
$review = $this->_reviewFactory->create()->load($reviewId);

ステップ3:評価をロード

キーポイントは、レビューに関連付けられた評価をロードすることです。これには、レビューモデルのgetRatingVotes()メソッドを使用します。

use Magento\Review\Model\ResourceModel\Review\SummaryFactory;

protected $_reviewSummaryFactory;

public function __construct(
    \Magento\Review\Model\ResourceModel\Review\SummaryFactory $reviewSummaryFactory,
    \Magento\Review\Model\ReviewFactory $reviewFactory
) {
    $this->_reviewSummaryFactory = $reviewSummaryFactory;
    $this->_reviewFactory = $reviewFactory;
}

// 評価を読み込む
$votes = $review->getRatingVotes();
foreach ($votes as $vote) {
    echo $vote->getPercent();
    echo $vote->getRatingCode();
}

ステップ4:一般的な問題のトラブルシューティング

評価の取得結果がゼロ

getRatingVotes()メソッドがゼロを返す場合、レビューと正しく関連付けられていること、評価データがデータベースに存在していることを確認することが重要です。

データベースの整合性

評価データの整合性を確認するために、rating_votereview、およびrating_option_voteを含むデータベーステーブルをチェックしてください。これらのテーブルの不一致や破損がある場合、誤ったデータが取得される可能性があります。

ステップ5:評価の表示

評価を正常に取得したら、次のステップは、フロントエンドで適切に表示することです。これは、テンプレートやスクリプトを更新して、レビューと一緒に評価を表示することを意味する場合もあります。

foreach ($votes as $vote) {
    echo '<div class="review-rating">';
    echo '<span class="rating-code">'. $vote->getRatingCode() .': </span>';
    echo '<span class="rating-percent">'. $vote->getPercent() .' %</span>';
    echo '</div>';
}

結論

Magento 2でのレビューの評価を取得し、表示することは複雑な場合がありますが、方法論を守ることで完全に実現可能です。基礎となるアーキテクチャを理解し、適切なメソッドを使用することで、製品レビューが顧客にとって完全に情報提供され、有益な情報となることを確認できます。このブログ投稿で紹介された手順は、この目標を達成する包括的なガイドを提供します。

よくある質問

Eコマースプラットフォームにおいて、なぜレビューの評価は重要ですか?

レビューの評価は、顧客の意見を簡単かつビジュアルに示し、購買意思決定に大きな影響を与えます。

よくある問題はありますか?

getRatingVotes()メソッドがゼロを返すという問題がよくありますが、これはデータベースの設定ミスや正しくないレビューIDによる場合が一般的です。

評価データが正常であることをどのように確認できますか?

評価とレビューのリンクには、rating_votereview、およびrating_option_voteを含むデータベーステーブルが関連付けられていますので、これらのテーブルの整合性を確認してください。

これらの手順を実行することで、製品ページに価値ある情報を追加し、顧客の満足度を向上させ、売上を増加させることができます。今すぐMagento 2ストアのレビューセクションをより包括的でユーザーフレンドリーなものにしましょう!