目次
はじめに
お気に入りのオンラインストアをブラウズして、特定の商品を購入するかどうかを決めるために、商品レビューを読んでいます。しかし、レビューの中に評価の「星」の表示がないとしたら、決断はより難しくなるでしょう。商品の評価が正しく表示されることは、どのEコマースプラットフォームにおいても重要ですが、Magento 2も例外ではありません。このブログでは、Magento 2で各レビューの評価をプログラムで取得し、表示する方法についてご案内します。開発者やMagentoストアのオーナーとして、Magentoストアを最適化したい場合でも、このガイドは必要な洞察と実践的なステップを提供します。
Magento 2で評価の重要性
商品の評価は、顧客の認識を形成し、購買意思決定に大きな影響を与える重要な役割を果たします。評価のない場合、不完全な情報が提供されるため、ユーザーエクスペリエンスが悪化することがあります。Magento 2は、評価の管理に強力な機能を提供していますが、これらの評価をプログラムで表示することは、時には課題となることがあります。このガイドでは、これらの課題に対処し、解決策を提供します。
課題:評価をプログラムで取得する
開発者は通常、Magento 2のgetDetail()メソッドを使用して、レビューのテキストや作成日を取得することは容易です。ただし、商品の品質を可視化する評価値は、しばしばゼロとして返されたり、期待通りに表示されなかったりします。データベースに評価が保存されていることは間違いありませんが、評価値の問題はイライラすることがあります。
基本的なしくみの理解
Magento 2は、レビューと評価の管理に複雑なアーキテクチャを使用しています。評価は別々に保存され、データベースの複数のテーブルを介してレビューと関連付けられています。評価スコアを正常に取得するには、この構造を理解することが重要です。
主要なコンポーネント
- レビューリポジトリ:レビューデータの取得を処理します。
- 評価ファクトリ:評価データの作成と操作を管理します。
- 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_vote、review、および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_vote、review、およびrating_option_voteを含むデータベーステーブルが関連付けられていますので、これらのテーブルの整合性を確認してください。
これらの手順を実行することで、製品ページに価値ある情報を追加し、顧客の満足度を向上させ、売上を増加させることができます。今すぐMagento 2ストアのレビューセクションをより包括的でユーザーフレンドリーなものにしましょう!