Feature Requests & Voting: setup and help
Quick start
- Upload and install mprfeaturerequest through Module Manager.
- Open Feature Requests > Settings > Configuration.
- Keep Enable Feature Requests on and choose Require Login to Submit and Require Admin Approval.
- Review Voting and Display, including Show Tab on Product Pages, then Save.
- Submit a test request from a product tab.
- Open Requests, change the test to Under Review, and add an Admin Note if needed.
- 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.
- Submit a request with approval required.
- Confirm it appears in the admin Requests list.
- 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.
- Change it to Under Review and add an Admin Note.
- Verify the public list, vote behavior, and response display.
- 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




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
Request pages leave unnecessary empty space
Roadmap display ignores settings or shop language
Product-tab sign-in link fails
Unstored settings ignore their defaults
Administration controls stop responding
Multilingual transition can lose or misread existing content
The first feature request cannot be submitted
Roadmap pages ignore central SEO decisions
Old request rows remain visible during loading
Storefront assets fail with asset combining
Theme detection endpoint is missing
Request pages fail to load on PrestaShop 8 and 9
Vote totals overwrite existing counts
Localized request links use incorrect addresses
Invalid pagination produces duplicate pages
Special characters appear incorrectly in page titles
Feature Requests
11
Implemented
Public roadmap with search, status filters and sorting
Public request hub and roadmap
Localized request addresses
Sitemap inclusion setting
Product roadmap on demand
Updates from the back office
Multilingual administration
Feature request content by language
Reusable request content during a visit
Public page cache integration
Customer proposals and voting
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.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.