An open API service indexing awesome lists of open source software.

https://github.com/oveleon/contao-recommendation-bundle

Recommendation integration for Contao Open Source CMS
https://github.com/oveleon/contao-recommendation-bundle

contao contao-bundle rating recommendation reviews testimonials

Last synced: 6 days ago
JSON representation

Recommendation integration for Contao Open Source CMS

Awesome Lists containing this project

README

          

Contao Recommendation Bundle





The contao recommendation bundle adds recommendations to Contao 4.





Oveleon


---

## Support

If you like this extension, we'd love your support in keeping the open-source spirit alive.

If you think this plugin is useful, please consider [sponsoring us](https://github.com/sponsors/oveleon) to help
contribute to our time invested and to further development of this and other open source projects.

Your contributions, whether through `coding`, `testing`, `providing feedback`, or even
a [donation](https://github.com/sponsors/oveleon), help ensure that we can continue offering free open source software.
Join us in making a difference, and thank you for your support! - [Oveleon](https://www.oveleon.de).

[![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/oveleon)

---

> Working with **Contao 4.13** and **Contao 5.3+** (PHP ^8.1)

---

## Description

This plugin adds a new sub-menu *Recommendations* with recommendation archives and recommendations

---

+ [Features](#features)
+ [Installation](#installation)
+ [Composer](#via-composer)
+ [Contao Manager](#via-contao-manager)
+ [Initial setup](#initial-setup)
+ [Front end modules](#front-end-modules)
+ [Recommendation list](#recommendation-list)
+ [Recommendation reader](#recommendation-reader)
+ [Recommendation form](#recommendation-form)
+ [Sitemap](#sitemap)
+ [Verified recommendations / GDPR](#verified-recommendations--gdpr)
+ [Bugs and feature requests](#bugs-and-feature-requests)
+ [Styled Reviews](#example)

## Features

- Compatible with Contao 4.13 and higher versions (PHP 8 Support)
- Possibility to create multiple recommendation archives
- Possibility to create recommendation items
- Frontend- and Backend permissions for archives and items
- Access protection for modules
- Recommendation list to display recommendation items
- Choose multiple archives to display from
- Filter by rating
- Pagination
- Featured recommendations (for sorting)
- and more
- Recommendation reader for recommendations
- Recommendation form to let users submit their recommendations into a specific archive
- Choose what users can submit
- Get E-Mail notifications when people submit a recommendation
- Moderation settings
- Possibility to add a privacy checkbox
- Possibility to activate an e-mail verification (opt-in) to verify recommendations
- No IP-logging
- Sitemap-Integration
- Recommendations will be added to the sitemap.xml
- Automatic purge of non verified recommendations
- Cache invalidation

## Installation

#### Via composer
```
composer require oveleon/contao-recommendation-bundle
```

#### Via contao-manager
```
Search for contao recommendation bundle and add it to your extensions.
```

After installing the contao-recommendation-bundle, you need to run a **contao install**.

## Initial setup

The recommendation bundle is close to the core-bundles of contao cms.
If you are familiar using the news- or events bundle, you should be able to set it up without further knowledge.

1. Create a new archive in *Recommendations*

![Admin View: Recommendation Archive](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/recommendationArchive.jpg)

2. Create a new recommendation in your archive and fill out
- Author
- Date and time are set automatically but can be changed
- Recommendation text
- Choose a Rating (1 to 5)
- Publish the recommendation

![Admin View: Recommendation](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/recommendation.jpg)

3. To display your recommendations, you will need a recommendation-list.
1. Create the front end module *recommendation-list*
2. Choose your recommendation archive/s
3. Choose the meta fields you want to show in your front end
4. Embed the module in a page

![Admin View: Recommendation List](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/recommendationList.jpg)

4. Setting up colors for your recommendation rating
- You can go to "settings" within *Recommendations* (Location of archives) and choose a color for active stars

![Admin View: Recommendation Archive Settings](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/recommendationArchiveSettings.jpg)

5. Setting up the recommendation alias
- Within the recommendation settings, you can update the default-prefix for aliases when no title has been given

![Admin View: Recommendation Reader](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/defaultAlias.jpg)

6. Setting up a recommendation-reader for a redirect page
1. Create the front end module *recommendation-reader*
2. Choose your recommendation archive/s
3. Choose the meta fields you want to show in your front end
4. Embed the module in a page or set it up for your recommendation-list
5. Set up the redirect page in your recommendation archive/s

![Admin View: Recommendation Reader](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/recommendationReader.jpg)

Recommendation List on your website
![Admin View: Recommendation Frontend](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/frontendList.jpg)
## Front end modules

### Recommendation list
The recommendation list can display published (and verified) recommendations from selected archives.

#### Settings


Recommendation-List


Option
Description


Recommendation archives
Here you can select one or more archives to display recommendations from


Recommendation reader module
Automatically switches to the recommendation reader if a recommendation has been selected


Minimum rating
Filter displayed recommendations based on their rating (e.g. minimum of 3 stars)


Featured items
Here you can choose how featured recommendations are handled


Sort order
Here you can choose the sort order of recommendations (e.g. by date, rating, random)


Number of items
Here you can limit the total number of recommendations that are shown


Items per page
Number of recommendations per page - Activates pagination


Custom label
Allows customizing the translation to for the redirect link


Meta fields
Here you can select meta fields to display


Recommendation template
The recommendation template that is being used


Module template
The modules template that is being used


Use dialog popup
Does not output the redirect link and embeds a dialog box instead. The `js_recommendation` template has to be included in the page layout


Image settings
You have the possibility to add pictures to your recommendations. These are the image settings for them


Access protection
Show the module for certain member groups only

---

### Recommendation reader
The recommendation list can display published (and verified) recommendations from selected archives.

#### Settings


Recommendation-Reader


Option
Description


Recommendation archives
Here you can select one or more archives to read recommendations from


Overview page
Adds the overview page to the template to not use ``javascript:history.go(-1)`` anymore


Custom label
Allows customizing the translation for the overview link


Meta fields
Here you can select meta fields to display


Recommendation template
The recommendation template that is being used


Module template
The modules template that is being used


Image settings
You have the possibility to add pictures to your recommendations. These are the image settings for them


Access protection
Show the module for certain member groups only

---

### Recommendation form
The recommendation form can be used to let your visitors submit recommendations on your website. These recommendations will be saved in a preconfigured archive.

#### Settings


Recommendation-Form


Option
Description


Recommendation archive
Here you can select the archive that will save the submitted recommendations


Optional recommendation fields
Here you can select one or more fields that will be added to the form. Author, rating and text are always mandatory.


E-Mail notifications
Enable notifying the administrator when a recommendation has been submitted


Moderate
If true, recommendations need to be published before appearing on the website.


Disable spam protection
Disables the spam protection for the recommendation form


Data security
Here you can add a label for a checkbox to make the recommendation form GDPR compliant. A checkbox will appear if you add any text.


Redirect page
A redirect page to which visitors will be redirected after submitting the form


Send activation e-mail
Enable e-mail opt-in verification for verifying submitted recommendations


Confirmation page
A redirect page to which visitors will be redirected after clicking on the confirmation link


Activation message
The activation message that users receive after submitting a form


Module template
The modules template that is being used


Access protection
Show the module for certain member groups only

## Sitemap

Recommendation archives that are not protected and have a jumpTo page will add their published recommendations to your sitemap.xml.
It is recommended to have a title for your recommendations as they are being used to create an alias.
If you do not want certain recommendations to be shown on your sitemap, you can unpublish them.

## Verified recommendations / GDPR

When adding a privacy text to the recommendation form, it will create a mandatory checkbox that visitors have to accept to submit their forms.

Recommendations that are created in the backend are verified by default.
You have the possibility to set up an activation mail in recommendation forms that will be sent to the visitor.
The submitted recommendations will not be shown on any list and can not be verified by the administrator.
A cronjob will purge the unverified recommendations after 24 hours.

![Admin View: Unverified Recommendations](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/unverifiedRecommendations.jpg)

The recommendation form does not save the IP of the user. However, it will save the e-mail-address of a user if they verified their recommendation
with the opt-in token.

## Bugs and feature requests

We appreciate your contributions when opening issues or requesting features. To help keep our issue list tidy, we may need to close issues if questions go unanswered.

### Bugs
If you think you have found a bug please follow these guidelines
1. Search for existing issues and check if your problem has already been reported
2. Check if you are using the latest version and if the issue has been fixed already
3. Provide a step-by-step tutorial on how to reproduce the issue in an isolated environment using only this bundle and the contao managed edition

### Feature requests
Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project.
It's up to you to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible.

## Example

An example how to style your reviews on your website

![Admin View: Recommendation Exammple](https://www.oveleon.de/share/github-assets/contao-recommendation-bundle/recommendationExample.png)