Skip to main content
WEBSALE V8s regularly retrieves the product ratings submitted on eKomi and stores them in the shop. They are displayed in a separate template, which you enter in the shop.config shop configuration in the ExternalProductRating section below Ekomi in the Template parameter, for example incl_prodrating_ekomi.htm. This template is pulled into the product detail view with ~WS-Module(rating_ekomi)~. The tags on this page apply exclusively within it. Guide: eKomi product rating · Reference: ExternalProductRating section · Reference: WS-Module()
The eKomi connection must be activated by WEBSALE AG, and you receive the interface IDs from eKomi. Without both, the template remains empty.

The order in the template

E-PRODRATING-EKOMI_Count() looks like a mere setting, but it is the starting signal for everything else. Only this tag counts the existing ratings, calculates the number of pages from them and loads the ratings of the current page.
E-PRODRATING-EKOMI_Count() belongs at the beginning of the template, before every wrapper and every loop. If it is missing or placed further down, E-PRODRATING-EKOMI_FeedbackData remains empty, the rating loop does not run, and the entire paging function reports that there is nothing to page through. The overall score and the rating bars still appear, so the error is easily noticed late.
The value is limited to 1 to 500. A 0 or an empty value becomes 1, a value greater than 500 becomes 500.

The overall rating

E-PRODRATING-EKOMI_Votes is suitable as the outer wrapper for the entire rating block, because without ratings there is no score, no bars and no customer reviews.
E-PRODRATING-EKOMI_Score outputs the score with a period as the decimal separator, i.e. 4.5 and not 4,5. For a German-language display, replace the character in the template or show only the image instead.
E-PRODRATING-EKOMI_PositivePercentage is an integer. Decimal places are truncated, not rounded.

The rating images

Which image belongs to which score is defined in the shop.config shop configuration in the AdvancedProductRatingImages subsection. Each range is a separate <+Entry> subsection with From-Value, To-Value and Image.
In the eKomi template, both limits are inclusive, and if several ranges match, the last one entered wins. Therefore, create the ranges without gaps and in ascending order; values on a boundary then always end up on the higher image.
In product lists, it is not the module but the shop core that evaluates the same configuration, and it does so with an exclusive upper limit and the first matching range. A product with exactly 5.0 gets the five-star image in the eKomi template, but none at all in the product list via PR-AdvRatingScoreImg(ekomi). Therefore, set the upper limit of the last range above the maximum value, for example to 5.1.
E-PRODRATING-EKOMI_ScoreImg can be used as a wrapper. The range applies if an image was found for the current score at all, and thus catches an incomplete configuration.

The rating bars

E-PRODRATING-EKOMI_Ratings iterates over the five possible score levels, descending from 5 to 1. From this, you build the typical bar list in which each level is also a filter link.
Within the loop, the three tags do not need a parameter; they then refer to the score level of the current iteration. Outside the loop, you specify the level in parentheses, for example ~E-PRODRATING-EKOMI_RatingVotes(5)~.
E-PRODRATING-EKOMI_Rating only responds within {@E-PRODRATING-EKOMI_Ratings}. Outside of it, the tag remains unresolved in the page. The score of an individual customer review is returned by E-PRODRATING-EKOMI_FeedbackData_Rating.
The values 1 to 5 are permitted as parameters. Anything else results in 0 or an empty filter link.
E-PRODRATING-EKOMI_RatingFilterParam is a pure single tag. A wrapper with it has no effect.

Displaying the active filter

E-PRODRATING-EKOMI_ActiveFilter outputs the score currently being filtered by and, as a wrapper, applies exactly when a filter is set at all.
The way back to all ratings is a link without a filter parameter, here simply ~PR-Link~. Without this exit, the visitor remains trapped in the filtered view, because the paging links always carry the filter along.
The filter comes from the URL parameter ws_ext_prodrating_filterByRating, the page from ws_ext_prodrating_page. You only need both yourself if you reload the ratings via AJAX.

The individual ratings

E-PRODRATING-EKOMI_FeedbackData is at the same time the check for existing ratings and the loop over the ratings of the current page.
An eKomi rating always consists of a score, but not always of a text. The wrapper around _Feedback keeps empty paragraphs out of the list.
E-PRODRATING-EKOMI_FeedbackData_Timestamp follows the date format set for the respective subshop. In multilingual shops, the notation is therefore automatically correct.

Date and time in individual parts

If you want to assemble the date yourself, you get each component individually.
Without a parameter, the part tags output the number without a leading zero, i.e. 7 for the seventh day. The parameter true pads to two digits and results in 07. There is no such padding for the year; the parameter has no effect there.
As a wrapper, the part tags compare with the parameter. {E-PRODRATING-EKOMI_FeedbackData_Timestamp_year(2026)} applies to ratings from the year 2026, for example to mark older reviews.
Without a parameter, wrapping with the part tags does not work. {E-PRODRATING-EKOMI_FeedbackData_Timestamp_day} remains unresolved in the page.

The merchant’s reply

You can reply to every rating on eKomi. The reply is imported along with it and is available within the rating loop.
The time tags of the merchant reply begin with FeedbackData_, just like those of the rating. The part tags behave the same way: the parameter true pads to two digits, and as a wrapper they compare with the parameter.
The wrapper with _Merchant_Answer is mandatory, because the vast majority of ratings have no reply. Without it, an empty reply box with a date from the year 1970 appears under every other customer review.

Translated ratings

If you run the shop in multiple languages, WEBSALE V8s can have incoming ratings translated during import. The translation is then displayed. You also get the original wording.
A note about the machine translation belongs with the rating. Outputting a translated customer review without comment as an original quote is improper toward both the author and the reader.
If the ratings are not translated, the text and the original are identical and both language values are the same. The wrapper in the example therefore checks for the shop’s language and only shows the note for ratings that are actually in a foreign language.

Paging

The paging function works on the ratings whose page size you defined with E-PRODRATING-EKOMI_Count().
E-PRODRATING-EKOMI_Page and E-PRODRATING-EKOMI_PagingParam always refer to the wrapper they are placed in.
Outside these wrappers, both tags are not reliable. After a PagingBack or PagingNext block, they even retain its value, so a standalone ~E-PRODRATING-EKOMI_Page~ there shows the neighboring page instead of the current one. Therefore, do not write the current page number with this tag, but mark it via the gap between the two loops.
Without a parameter or with an unusable value, all four paging tags calculate with five pages. Set the same value in PagingBefore, PagingAfter, PagingMoreBefore and PagingMoreAfter so that the ellipsis appears exactly when the bar actually omits something.
E-PRODRATING-EKOMI_PagingParam always carries an active rating filter along. Anyone who has filtered by five stars stays within this selection when paging.

Ratings in product lists

The eKomi template is not available on product overview and search result pages. There, you display the rating with the two product tags, each with the parameter ekomi.
Without a parameter, both tags refer to WEBSALE’s own product rating. The parameter switches to the external rating module.
Reference: PR-RatingVotes() · Reference: PR-AdvRatingScoreImg() · Reference: PR-Data

Tag overview

Overall rating and control

Rating bars

Individual ratings

<Teil> stands for day, month, year, hours, minutes or seconds.

Paging function

All tags on this page are permitted exclusively in the eKomi rating template that is entered in the shop.config shop configuration in the ExternalProductRating section below Ekomi in the Template parameter.
  • Guide: eKomi product rating
  • Guide: Displaying ratings on the product
  • Guide: Microdata from eKomi product ratings
  • Guide: AJAX functions
  • Reference: ExternalProductRating section