Feature Requests & Voting: setup and help

Quick start

  1. Upload and install mprfeaturerequest through Module Manager.
  2. Open Feature Requests > Settings > Configuration.
  3. Keep Enable Feature Requests on and choose Require Login to Submit and Require Admin Approval.
  4. Review Voting and Display, including Show Tab on Product Pages, then Save.
  5. Submit a test request from a product tab.
  6. Open Requests, change the test to Under Review, and add an Admin Note if needed.
  7. Verify public visibility, votes, and the roadmap from a separate browser.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Setup manual

Install and open configuration

Upload and install mprfeaturerequest in Modules > Module Manager. Open Configure, then use Improve > Feature Requests > Settings > Configuration for the settings form. The module also provides Dashboard and Requests, with Integrity, License, Support, and Update under Settings.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

The product tab supports legacy hooks and displayProductExtraContent.

Installation creates request, localized request-content, content invalidation, vote, and comment tables with the shop database prefix. It also installs configuration and admin infrastructure. There is no separate cron command required for basic submissions and voting.

Configure General

Setting Default What it does
Enable Feature Requests Yes Enables the request interface and submission handling.
Require Login to Submit No Enable to accept submissions only from signed-in customers. Otherwise guests enter their name and email.
Require Admin Approval Yes New requests start as Submitted. Disable to start them as Under Review and make them eligible for public display immediately.
Requests Per Page 10 Saved, but does not change the current page size. Product request lists and the request browser use 20 entries per page.
Index Feature Requests Hub Yes Allows the main roadmap hub to be indexed. Detail, product/module, filtered, and private interaction pages remain excluded by policy.
Include Feature Requests Hub in Sitemap Yes Allows the indexable hub into compatible sitemap generation when the roadmap is enabled.

For a moderated guest-submission board, leave Require Login to Submit off and Require Admin Approval on. For customer-only submission, turn the login setting on.

Configure Voting, Display, and Notifications

Voting

Setting Default What it does
Enable Voting Yes Allows vote changes on visible requests.
Allow Guest Voting No Enable for guest votes tracked by IP. Signed-in votes use customer identity.

Each new public submission is created with one automatic submitter vote. Allow Guest Voting controls later guest voting; it does not prevent the initial automatic vote on an accepted guest submission.

Display

Setting Default What it does
Show Tab on Product Pages Yes Adds the product's Feature Requests tab where the theme renders the applicable hook.
Show Vote Count Yes Displays request vote totals.
Show Status Badges Yes Displays request status labels.
Show Admin Responses Yes Displays public admin responses and supported comment content.
Enable Roadmap Page Yes Enables the public hub across products.

Notifications

Notify Admin on New Request defaults to Yes. Admin Email defaults to empty, with a form hint to use the shop email. New requests do not trigger email notifications. Review Requests directly.

Save the form after changing settings. Most settings are shared across all shops. The Where to show feature requests setting under Display is an exception: select a single shop, then choose Own pages (the default) for the dedicated request pages or Module help for the module help page provided by Product Tabs. If a suitable help page is unavailable, the dedicated request pages are used. This location is saved per shop.

Review and publish requests

Open Feature Requests > Requests. You can filter, export, edit, delete, and apply bulk status changes. The statuses are:

Label Key Public behavior
Submitted submitted Visible to its owner through signed-in customer identity or a guest submission receipt.
Under Review under_review Public.
Planned planned Public.
In Progress in_progress Public.
Implemented implemented Public.
Declined declined Hidden from the storefront.

Change a moderated request from Submitted to Under Review or another public status to publish it. Put a public reply in Admin Note. Keep private material out of that field.

The editor includes multilingual Title and Description, customer details, votes, and status. When creating an entry, select Product and Source language. For existing entries, Correct customer source content explicitly applies a source correction while preserving the original. Reviewed against current source marks a translation reviewed. Delete translation removes a selected non-source translation. Reload an editor that reports a revision conflict before resubmitting changes.

The storefront prefers a reviewed translation matching the current source. It falls back to source content, or eligible default-language recovery content, when a current translation is unavailable.

Use and verify the storefront

Open a product's Feature Requests tab. The browser supports votes, newest, and status ordering, plus status filtering and pagination. The form and browser have full-page paths as well as fragment/AJAX interactions. Do not depend on the old modal-only or Load more-only workflow.

Submit a test with a title of 5 to 255 characters and a description of 10 to 2000 characters. A guest must also supply a valid name and email. The name limit is 128 characters. Submission is limited to three requests per product, shop, and IP during the last 24 hours.

  1. Submit a request with approval required.
  2. Confirm it appears in the admin Requests list.
  3. Check that it is hidden in an unrelated browser. A guest sees their own submission only with the submission receipt; sharing an IP address does not give access.
  4. Change it to Under Review and add an Admin Note.
  5. Verify the public list, vote behavior, and response display.
  6. Test voting as both a signed-in customer and a guest with your chosen settings.

Default English routes are:

/feature-requests
/feature-requests/page/{page}
/feature-requests/{request-slug}
/feature-requests/module/{product-slug}
/feature-requests/module/{product-slug}/page/{page}

Included prefixes are feature-requests for English, funktionswuensche for German, demandes-de-fonctionnalites for French, propozycje-funkcji for Polish, richieste-funzionalita for Italian, and solicitudes-de-funciones for Spanish. Use generated links for language and shop prefixes.

The gSitemapAppendUrls entry uses priority 0.5, weekly change frequency, and the latest public update or current time. Verify it in your actual sitemap generator.

Customize and troubleshoot

Theme override paths include:

themes/your-theme/modules/mprfeaturerequest/views/templates/hook/product-requests.tpl
themes/your-theme/modules/mprfeaturerequest/views/templates/hook/request-item.tpl
themes/your-theme/modules/mprfeaturerequest/views/templates/front/roadmap.tpl
themes/your-theme/modules/mprfeaturerequest/views/templates/front/detail.tpl
themes/your-theme/modules/mprfeaturerequest/views/templates/front/module-requests.tpl

Use .mprfr-container, .mprfr-status-badge, .mprfr-item__admin-note, and .mprfr-dashboard__pill for theme CSS changes after checking the rendered element.

If a request is missing, check its status, product, shop, enabled settings, and owner receipt. If submission fails, check field lengths, the daily limit, and the security-token error; refresh the form before retrying. A Content was saved. Cache refresh is pending; do not submit again. response means the submission succeeded. Review the existing entry instead of creating a duplicate.

Use Integrity for schema and infrastructure failures. Submitting a request does not send an email. This module is a request board; use your support process for urgent store faults.

Uninstall

Export any requests you need before uninstalling. Uninstall removes configuration, admin preferences and menus, theme registration, and module-owned schema tables, including request content, votes, and comments. Disabling the module is the reversible option when you need to retain the installed data.

Screenshots

Feature Requests & Voting, screenshot 3

Feature Requests & Voting, screenshot 4

Feature Requests & Voting, screenshot 6

Feature Requests & Voting, screenshot 10

Questions

2

How do multistore and languages affect feature requests?

Requests are stored with their shop and source language, and storefront lists filter by the current shop. A request can have reviewed translations, with source-content fallback when a current translation is unavailable. Most module settings are global across shops; the feature-request location is configured per shop.

What personal data is stored, and which details are public?

A request stores the submitter name, email and IP address, plus the customer ID for a signed-in submission. Public request lists and detail pages can display the submitter name. Email, IP address and customer ID are excluded from the public request-field selection.

Known Issues

17

Administration labels remain untranslated

ResolvedUpdated:
Fixed in: 2.4.4
Some administration labels stayed in the source language despite available translations.

Request pages leave unnecessary empty space

ResolvedUpdated:
Fixed in: 2.4.4
A request with no related requests could still reserve space for the absent related content.

Roadmap display ignores settings or shop language

ResolvedUpdated:
Fixed in: 2.4.4
Roadmap cards could ignore vote-count and status switches, and product-tab dates could appear without localization.

Product-tab sign-in link fails

ResolvedUpdated:
Fixed in: 2.4.4
The sign-in link in the product feature request tab could fail on pages without the expected link information.

Unstored settings ignore their defaults

ResolvedUpdated:
Fixed in: 2.4.4
Settings with no saved value could display or behave differently from their documented defaults.

Administration controls stop responding

ResolvedUpdated:
Fixed in: 2.4.4
Administration scripts could fail to load, leaving affected controls unavailable.

Multilingual transition can lose or misread existing content

ResolvedUpdated:
Fixed in: 2.4.3
Moving existing requests to multilingual content could fail to preserve legacy content or display it correctly.

The first feature request cannot be submitted

ResolvedUpdated:
Fixed in: 2.4.3
A shop with no existing feature requests could fail to accept its first submission.

Roadmap pages ignore central SEO decisions

ResolvedUpdated:
Fixed in: 2.3.1
Roadmap pages could apply SEO settings that disagreed with the shop's central page policy.

Old request rows remain visible during loading

ResolvedUpdated:
Fixed in: 2.2.16
Refreshing a request list could append a loading placeholder while leaving the previous rows visible.

Storefront assets fail with asset combining

ResolvedUpdated:
Fixed in: 2.2.16
Feature request assets could fail to combine correctly when PrestaShop asset optimization was enabled.

Theme detection endpoint is missing

ResolvedUpdated:
Fixed in: 2.2.16
Theme detection could fail because its required storefront endpoint was absent from the module.

Request pages fail to load on PrestaShop 8 and 9

ResolvedUpdated:
Fixed in: 2.2.16
Feature request pages could fail to load because a required component could not be found.

Vote totals overwrite existing counts

ResolvedUpdated:
Fixed in: 2.2.5
Recalculating votes could overwrite totals instead of applying the vote change.

Localized request links use incorrect addresses

ResolvedUpdated:
Fixed in: 2.2.5
Localized request links could use an incorrect language prefix, an outdated slug or an incomplete address.

Invalid pagination produces duplicate pages

ResolvedUpdated:
Fixed in: 2.2.5
Page numbers outside the available range could produce duplicate listing pages instead of redirecting.

Special characters appear incorrectly in page titles

ResolvedUpdated:
Fixed in: 2.2.5
Request page titles could display encoded characters instead of normal text.

Feature Requests

11

Implemented

Public roadmap with search, status filters and sorting

Implemented
Visitors can search feature requests, filter by status and sort by votes or update date on the public roadmap. Totals show how many requests have each status.

Public request hub and roadmap

Implemented
Let visitors browse feature requests with search, sorting, pagination and roadmap status summaries.

Localized request addresses

Implemented
Use readable request addresses with localized prefixes and links between language versions.

Sitemap inclusion setting

Implemented
Choose whether feature request content is included in the sitemap.

Product roadmap on demand

Implemented
Load product roadmap requests when the visitor opens the relevant content.

Updates from the back office

Implemented
Check for and install module updates from the back office.

Multilingual administration

Implemented
Use the module administration in French, German, Spanish, Italian and Polish.

Feature request content by language

Implemented
Manage feature request titles and descriptions per language while preserving the original submission.

Reusable request content during a visit

Implemented
Reuse request lists and proposal forms already loaded during the current visit, with refreshes when content changes.

Public page cache integration

Implemented
Compatible page caching can serve public roadmap and request pages and refresh them after content changes.

Customer proposals and voting

Implemented
Let customers submit feature requests, vote on proposals and follow their status.

Changelog

v2.2.82026-05-27

  • AddedFinalize feature request hub SEO cleanup
  • AddedComplete feature request SEO hub
  • AddedRebuild public feature request hub
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedIndex feature request hub by default
  • FixedLazy-load product roadmap requests
  • FixedKeep feature request details off product pages
  • FixedDefault feature roadmap to noindex
Older releases

v1.1.02026-04-20

  • AddedLocalized page keywords + route variants (strona/seite/pagina)
  • AddedEmit <link rel="prev"/"next"> for paginated feature-request listings
  • AddedMigrate feature-requests pagination to /page/N via shared listing helpers
  • AddedTranslate status labels and roadmap meta for all languages
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedMap --mprfr-success/danger to ThemeDetector vars, fix radius fallback
  • ImprovedUse inherited getCanonicalURL() and drop canonicalRedirection override
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
  • FixedUse ISO-based language lookup for feature-request URL prefixes
  • Fixed301-redirect out-of-bounds pagination + annotate title with "Page N"
  • FixedGetBaseLink() passed $idLang as $relativeProtocol — caused // URLs
  • Fixedvarious stability and compatibility improvements (8 fixes total)
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top