This module allows you to add a form to any page type for the purpose of accruing feedback about how a user perceives that page.

Installs: 350

Dependents: 0

Suggesters: 1

Security: 0

Stars: 8

Watchers: 1

Forks: 4

Open Issues: 4


2.0.3 2020-02-13 09:05 UTC

This package is auto-updated.

Last update: 2024-06-13 18:55:00 UTC


Build Status Latest Stable Version Latest Unstable Version Total Downloads License Monthly Downloads


This module allows you to add a form to any page type for the purpose of accruing feedback about how a user perceives that page.

Commonly found on help desk pages under a label similar to "How helpful did you find this page?".

It allows the user to rate the page out of five (5) and allows them to optionally provide a comment

The users IP address and their PHP Session ID is recorded on a per-page basis so that a user can only submit feedback once for that specific page.


  • silverstripe/cms: "^4.0"


Installation is supported via composer only:

composer require vulcandigital/silverstripe-pagefeedback "^2"


This module is predominantly both a DataExtension and a Extension. You must apply them on the page type(s) and their respective controller(s) where you wish to be able to render the feedback form.

If you wanted to enable it's functionality on all pages you would:

    - Vulcan\PageFeedback\Extensions\PageFeedbackExtensions

    - Vulcan\PageFeedback\Extensions\PageFeedbackControllerExtensions

or for a specific page type

    - Vulcan\PageFeedback\Extensions\PageFeedbackExtension

    - Vulcan\PageFeedback\Extensions\PageFeedbackControllerExtensions


By default, the mode is set to "form" which will generate a form allowing a user to rate between 1-5 and optionally provide a comment An alternate mode, "thumbs" is available which will generate a form containing two buttons +1 and -1, which can be beautifully styled:

Thumbs Preview

You can change the mode via YML on the controllers of the pages you desire

    pagefeedback_mode: "thumbs"

Adding the form

In order for the form to show you will need to add $PageFeedbackForm into your template, in the location you wish for it to display.


<div id='myfeedbackform'>

If you wish to hide the form if feedback has already been supplied by the user:

<% if not $GivenFeedback %>
<div id='myfeedbackform'>
<% end_if %>

If you wish to display information about the feedback the user has provided:

<% if $GivenFeedback %>
    <% with $GivenFeedback %>
    <div id='myprovidedfeedback'>
        <% if not $Rating %>
            Rating: $Rating<br/>
            Comment: $Comment
        <% else %>
            You gave this page a thumbs <strong>$Thumbs</strong>
        <% end_if %>
    <% end_with %>
<% end_if %>


  • Adds a "Page Rating" section to the CMS Page Editor
  • Adds a "Page Feedback" tab containing a GridField of all feedback for that specific page


The form is provided to you unstyled, but each of the five radio buttons on the form have a class of pagefeedback-option-n where n is 1 through to 5 for easier customisation (ie swap the radio buttons with smiley faces that have different expressions; sad through to happy)

Shopify Inspiration Shopify Inspiration

(inspiration courtesy of shopify docs)


BSD-3-Clause - Vulcan Digital Ltd