I was thinking of using EE for a restaurant review kind of website. Ideally, I would like to create the restaurants as entries and have the entire menu of each restaurant as a Martix in their entry.

Next, I would like website members/visitors to rate individual dishes of a restaurant through star ratings (and possibly comment). There are quite a few ratings add-ons but they rate entries not rows in Matrix. Keep in mind that this should be done on the front-end and not CP.

Any ideas if there is anything that could help me? Or possibly look at the above from a different prospect to get it to do what I want?


The way you describe your project there is a pretty strong case for defining your dishes as Matrix rows instead of entries as you described (ie, restaurants defined as an entry with a Matrix for the menu and each dish being a Matrix row).

That said, as an alternative you could define dishes as fully-fledged entries and relate them to restaurants using a Playa field in the restaurant entry. This would allow you to use one of the rating add-ons that works with entries, but your menus would be more fragmented in the system and maybe less convenient/intuitive from a maintenance standpoint.

But since ratable Matrix rows sounds like the best approach, take a look at VZ Average. I have not tried it but according to the docs it supports rating Matrix rows.

VZ Average is a flexible and minimal framework for rating or tallying anything in EE that you can identify with an ID: a channel entry, a comment, a Matrix row, or anything else. A few possible uses for it include: star ratings, thumbs up/down ratings, flagging comments as offensive, voting on entries, etc.

I actually discovered this add-on just now and wish I had known about it earlier since I had a very similar project requirement and ended up building a custom module. Building the module was fun, but if I had known about VZ Average I would have at least tested it out!

  • 2
    I'm the developer of VZ Average. It should be able to do exactly what you want (assuming I'm understanding you correctly). It will take a bit more work on your part than some of the drop-in entry ratings plugins you've seen, but it's also a lot more flexible. Take a look at the docs on GitHub and feel free to email me if you get stuck. – Eli Van Zoeren Mar 14 '13 at 16:40
  • I had looked at VZ Average and installed it but for some reason, it doesn't give me as a custom field in Matrix. I can see it as a custom field on its own but when adding a new column to Matrix, it doesn't come up in the drop-down. – Abbas Jaffar Ali Mar 14 '13 at 19:46
  • Hmm- I am not seeing the ability to add VZ as a Custom Field at all now- not in Matrix, not as a standard custom field. Weird. It is definitely installed and shows up in the list of Add-On->Custom Fields – Abbas Jaffar Ali Mar 14 '13 at 19:57
  • Well, it is not a fieldtype it is a module. So you won't add it to custom field groups or as a matrix column. You use the module's template tags in your templates to save or display ratings associated with particular content. See the documentation. – Alex Kendrick Mar 14 '13 at 21:07
  • 1
    Yes, Alex is exactly right. You will do everything in the templates. Just make sure to set entry_type="matrix" and entry_id="{row_id}" in your module tags, so the ratings are attached to the Matrix row rather than the entry. – Eli Van Zoeren Mar 14 '13 at 21:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.