Search by

aodihis / product-review

aodihis

Extend your commerce review exprience

Package info

github.com/aodihis/craft-product-review

Documentation

Type:craft-plugin

pkg:composer/aodihis/product-review

Statistics

Installs: 25

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v5.2.0 2026-08-30 13:45 UTC

README

Extend your commerce product review experience.

Product Review adds customer reviews to Craft Commerce. When an order reaches an order status you choose, the plugin creates one review per product in that order. The customer fills it in with a rating and an optional comment, and you read the results in the control panel.

Documentation

Read the full documentation

Get Started

Product Review What the plugin does, and a four step quick start
Requirements Craft, Commerce and PHP versions
Installation and Setup Plugin Store, Composer, uninstalling
Configuration Choosing the order status, the review window

Reviews

Flow The lifecycle, the three statuses, the review window
Review Everything on a review, in Twig and PHP
Available Functions craft.productReview, for fetching reviews anywhere
Available Custom Behavior What the plugin adds to products and users, in Twig and PHP
Submitting a review The form, with working examples
Displaying reviews Product pages, stars, breakdowns
Control Panel The section, filters, permissions, review panels
Services Calling the plugin from your own PHP

Requirements

This plugin requires Craft CMS 5.0.0 or later, Craft Commerce 5.0.0 and PHP 8.2 or later.

Installation

You can install this plugin from the Plugin Store or with Composer.

From the Plugin Store

Go to the Plugin Store in your project’s Control Panel and search for “Product Review”. Then press “Install”.

With Composer

Open your terminal and run the following commands:

# go to the project directory
cd /path/to/my-project.test

# tell Composer to load the plugin
composer require aodihis/product-review

# tell Craft to install the plugin
./craft plugin/install product-review

Getting started

After installing, open Settings, then Plugins, then Product Review, and choose the order status that should start a review. The plugin does nothing until this is set.

Then let an order reach that status, and give the customer somewhere to submit:

{% for review in currentUser.getWaitingToReviewItems() %}
  <form method="post">
    {{ csrfInput() }}
    {{ actionInput('product-review/review/save') }}
    {{ hiddenInput('id', review.id) }}

    <p>{{ review.product.title }}</p>

    <select name="rating" required>
      {% for i in 1..5 %}<option value="{{ i }}">{{ i }}</option>{% endfor %}
    </select>

    <textarea name="comment"></textarea>
    <button type="submit">Submit review</button>
  </form>
{% endfor %}

And show them on the product page:

{% for review in product.getReviews() %}
  <p>{{ review.rating }} out of 5</p>
  <p>{{ review.renderComment() }}</p>
{% endfor %}

See Building a review form and Displaying reviews for the full picture.