Welcome to CM Coupon Listing’s documentation!¶
This documentation gives you instruction how to install and setup CM Coupon Listing on your Joomla! website.
Overview¶
CM Coupon Listing is a Joomla! component which gives you ability to setup a coupon listing website, where merchants or customers can register and submit discount offers like coupon code, coupon image, discount activation link, affiliate link; this helps the merchants promote their trademarks, promote their services and earn more sales, this also helps customers purchase for their favorite products and services with discount prices.
License¶
CM Coupon Listing is released under GNU Public License version 2 or later.
Technical Requirements¶
- Joomla! 3.x.x: The latest stable release of Joomla! is always recommended for stability and security. Please check Joomla!’s Technical Requirements for more information.
- Joomla! 2.5.x: CM Coupon Listing could run on Joomla! 2.5.x. However we don’t test all of CM Coupon Listing features on Joomla! 2.5.x because Joomla! 2.5 is not supported by Joomla! any more. Please update to Joomla! 3 if possible.
- Bootstrap 2 or Bootstrap 3: Your site needs to have Bootstrap 2 or 3. If you don’t use Bootstrap, you may need to override the output of CM Coupon Listing to add your own CSS classes.
Additional extensions¶
- CMCouponListing Category List module: a module listing all categories.
- CMCouponListing Featured Merchants module: a module showing random featured merchants.
- CMCouponListing Search module: a module showing a search form.
- cmcouponlistingmerchant plug-in: a plug-in for integration with Akeeba Subscription component, a merchant is automatically created in CMCouponListing when he/she subscribes a subscription in Akeeba Subscription component. Merchant is inactive when subscription expires.
- tagcmcouponlising plug-in: a tag plug-in for ACYMailling, this helps you insert many coupons from a specific category into ACYMailing’s newsletter automatically.
- CMCouponListing Merchant’s Coupons: a plug-in to insert list of coupons from a specific merchant into Joomla! article, Custome HTML module or any extension which supports onContentPrepare event.
Main features¶
Front-end:
- Support Bootstrap 2 and Bootstrap 3.
- Menu item for listing all coupons, coupons in specific categories.
- Menu item for listing all categories and merchants in them.
- Menu item for listing all merchants.
- Menu item for search page.
- Coupons from featured merchants or featured coupons can be displayed on the top of coupon list.
- Merchant’s management area, where merchant edits profile and manages coupons.
- Integrate with Akeeba Subscription, only active merchant can access management area, when merchant’s subscription expires his/her account is deactivated so he/she can’t access this area any more, unless he/she extends the subscription in Akeeba Subscription.
- Merchant can upload his/her own logo image.
- Merchant can create, edit and delete his/her own coupons.
- Registration form for user to sign up as a merchant.
- Facebook, Twitter and Google+ sharing for coupon and merchant.
- Coupon detail page.
- Support Joomla!’s access control. Coupon can be configured to available to a specific user group, this give you ability to deliver special coupons to special users, for example, users who pay for monthly fee to have access to special offers.
- Merchant registration settings inherit from Users component’s settings.
- Merchant logo upload settings inherit from Media component’s settings.
- User feedback for working coupon and not working coupon.
- Ask user for how much user saves (for example $50, 10€) and what user purchases if coupon works.
- Ask user for the reason why coupon doesn’t work.
- User can post comment for coupon.
- Print coupon or download coupon image (for printable coupon only).
Back-end:
- Manage category, merchant, coupon.
- Manage where coupon images and logo images are stored.
- Enable or disable Facebook, Twitter and Google+ buttons.
- Enable or disable coupon detail page.
- Control where users can get offers, in coupon listing page or in coupon detail page.
- Manage users’s votes.
- Manage users’s comments.
- Ability to setup custom reasons for not working coupons.
- Ability to setup currencies for asking how much user saves.
Install & Upgrade¶
Install CM Coupon Listing is very easy, just like installing any other Joomla! extension.
We strongly recommend to backup your site before installing any new extension on your site.
Log into your Joomla! back-end. On the top menu, you navigate to Extensions -> Manage to access Extension Manager. Click “Browse” button and select the package of CM Coupon Listing that you downloaded from our website, click “Upload & Install” button to upload the package to your server to install.
If the installation is successful, you will receive the message “Installing package was successful.”
To upgrade CM Coupon Listing, you just need to install the package of the new version. Please note that when you upgrade, all the files of CM Coupon Listing will be overwritten, so if you have customized CM Coupon Listing’s source code, your customizations will be lost.
Configuration¶
After you install CM Coupon Listing, you need to configure it first. In CM Coupon Lising’s Dashboard, you click Options button on the toolbar, you are taken to Config component where you can configure many options in CM Coupon Listing.
We have 9 tabs: General, Coupon types, Layout, Vote & comment, Submission page, Sharing buttons, Pagination, Access and Permissions.
General¶
- Logo folder: The folder where logos of merchants are stored.
- Coupon folder: The folder where coupons of merchants are stored.
- Notify admin for new merchant: Enable or disable mailing to administrators when a new merchant registers. All administrators will receive this notification mail.
- Date format: The date format used which is used in merchant and user’s submission forms.
- Notify admin for new coupon: Send notification mail to administrators when there is a new coupon submitted in front-end by merchant or user.
- Auto activate merchant: Auto activate merchant after merchant registers.
Logo and coupon folders are inside your Joomla!’s image folder. You can configure your Joomla!’s image folder in Media Manager.
The email’s templates are stored in the language file of the component, to customize the templates you can modify the language file.
Coupon types¶
- Supported coupon types: Coupon types that you support on your site. Only selected coupon types are displayed in front-end for users to choose.
Layout¶
- Layout: Select the Bootstrap version that your site uses.
- Coupon display order: The order of coupons in coupon list.
- Enable coupon detail page: Detail page shows more info about coupon. Enabling coupon detail page also gives user ability to share coupon via social networks. Coupon’s detail description is disabled if coupon detail page is disabled.
- Display get coupon button in coupon list: If you disable coupon detail page, you should display get coupon button in coupon list so that users can get coupon. If you enable coupon detail page, you can hide the button in coupon list, users need to view detail page to get coupon.
- Category list’s column quanity: Category list page displays categories and merchants in those categories, the list is displayed as columns.
- Sub-category’s left indent: Children categories are displayed right below their parent category, you can use spaces or symbols to separate these categories from the left margins, let’s us easily recognize that they are children category. This setting is used in both back-end and front-end. You can use HTML entity name, eg for a space or → for a right arrow.
Vote & comment¶
- Vote: Enable or disable vote.
- Who can vote: Only users in selected access level can vote.
- Ask questions: When voting, ask user what he/she bought and how much he/she saved (good coupon), or the reason why coupon didn’t work (bad coupon).
- Comment: Enable or disable comment.
- Who can comment: Only users in selected access level can comment.
- Captcha: Use the captcha plugin in comment form. You may need to enter required information for your captcha plugin in the Plugin Manager.
- Comment’s pagination: The number of comments which are displayed below coupon, this is also the number of comments which are loaded next when user want to view more comments.
Submission page¶
- Access submission page: Only users who are in the selected access level can access submission page to submit new coupon.
- Return page: The page where user is taken to after a successful submission.
- Captcha: Use the captcha plugin in submission form. You may need to enter required information for your captcha plugin in the Plugin Manager.
Sharing buttons¶
- Share coupon buttons on coupon list: Display sharing buttons for coupon on coupon list page.
- Share coupon buttons on coupon detail: Display sharing buttons for coupon on coupon detail page.
- Share merchant buttons on merchant list: Display sharing buttons for merchant on merchant list page.
- Share merchant buttons on merchant detail: Display sharing buttons for merchant on merchant detail page.
Pagination¶
- Limit: Number of items displayed per page. Only applied for coupon list in categories, merchant list. Not applied for coupon list in merchant detail page.
- Display Select: Whether to show or hide the Display Select dropdown listbox.
- Table Headings: Show or Hide the headings in list layouts.
- Pagination: Show or hide Pagination support. Pagination provides page links at the bottom of the page that allow user to navigate to additional pages. These are needed if the information will not fit on one page.
- Pagination Results: Show or hide pagination results information, for example, “Page 1 of 4”.
Access¶
- Coupon’s default access level: The access level group that is allowed to view coupons. This setting is applied for new coupons submitted by merchants and users in front-end.
Permissions¶
Default permissions used in CM Coupon Listing. The component doesn’t support access level group in back-end so actions Create, Delete, Edit, Edit State and Edit Own are not supported.
Merchants¶
Create merchant¶
In your Joomla! back-end, go to Components -> CMCouponListing -> Merchants to access the list of merchants on the site
Click “New” button on the toolbar to create a new merchant.
A merchant has the following data:
- Name: Merchant’s name.
- Alias: Merchant’s alias for search engine friendly URL. An alias is created automatically if you don’t provide any alias when you create or edit merchant.
- Manager: A Joomla! user who manages merchant. This Joomla! user has ability to edit merchant’s profile and coupons in front-end.
- Categories: Categories of products/services that merchant provides.
- Overview: A short overview of merchant.
- Logo: Merchant’s logo.
- Address: Merchant’s address.
- Website: Merchant’s website.
- Phone: Merchant’s phone number.
- Featured: Merchant is featured. Coupons of featured merchants could be displayed on the top of coupon lists, you can configure this in the component’s configuration.
- Published: Merchant and merchant’s coupons are displayed in front-end if merchant is published.
- Active: If merchant is inactive, Joomla! user who manages merchant can’t manage profile and coupons in front-end any more. Inactive merchant and his/her coupons are still displayed in front-end.
- ID: Record number in database.
Merchant registration¶
User can register as a merchant on your site via Merchant Registration menu item.
Guest¶
A guest can register as a merchant and as a Joomla! user at the same time.
When a guest registers, Joomla! notification and activation mails could be sent to user and administrators, this depends on your configuration for Users component. Go to your back-end, User Manager, click Options button on toolbar to configure Users component.
Registered user¶
Registered user can login and then register as a merchant.
A user can only manage 1 merchant. If a user who already manages a merchant access registration form, he/she receives an error message.
Send activated notification mail¶
When a user registers as a merchant, a merchant is created automatically in CM Coupon Listing, however this merchant is inactive. You can edit inactive merchant, set it to “Active”, then press “Send activated notification mail” button on merchant edit page, an email is sent to merchant to notify him/her that his/her merchant account is now active and he/she can submit coupon now.
You can customize the content of activated notification mail in the language file of CM Coupon Listing component.
Edit profile¶
You need to create a menu item for “Merchant management area” page, this is where merchant manage his/her coupons and the profile information.
Access the page, merchant can see an overview of the merchant’s profile and coupons. To edit the profile merchant click “Edit profile” button.
Categories¶
Create category¶
In your Joomla! back-end, you navigate to Components -> CMCouponListing -> Categories to access the list of categories.
On the toolbar, you click “New” button to create a new category.
In the form, there are the options:
- Name: Category’s name.
- Alias: Category’s alias for search engine friendly URL. An alias is created automatically if you don’t provide any alias when you create or edit category.
- Published: Category is displayed in front-end if category is published.
- ID: Record number in database.
Category list¶
With “Categories” menu item, you can list all your parent categories and the merchants in these categories.
Coupons¶
Create coupon in back-end¶
In your Joomla! back-end, you navigate to Components -> CMCouponListing -> Coupons.
On the toolbar, you click “New” button to create a new coupon.
- Name: Coupon’s name.
- Alias: Coupon’s alias for search engine friendly URL. An alias is created automatically if you don’t provide any alias when you create or edit coupon.
- Short description: A short description about coupon, it is displayed in coupon list and coupon detail pages.
- Description: A detailed description about coupon, it is only displayed in coupon detail page.
- Type: Coupon type. There are 4 types: coupon code, printable coupon, sale link and activation link. You can configure what types are used, what types are not used in the component’s configuration.
- Coupon code: Coupon is a code to enter when check out.
- Printable coupon: Coupon is an image to print or save to smartphone and bring to merchant.
- Sale link: Coupon is a deal or an offer from a third-party website.
- Activation link: A link to merchant’s website which automatically activates discount, no coupon code is required when checkout.
- Merchant: Merchant who owns coupon.
- Categories: Categories which coupon is in.
- Starting date and Ending date: The date when coupon starts valid and the date when coupon expires. Coupon is only displayed in front-end if current date is between these two dates.
- Featured: Featured coupons could be displayed on the top of coupon lists, you can configure this in the component’s configuration.
- Published: Coupon is displayed in front-end if it is published.
- Access: Joomla!’s access level group. Only users in selected access level can see and get coupon. This is useful if you want to have some special coupons which are only available for registered users, or users who have already purchased for subscriptions on your site.
- ID: Record number in database.
User submits coupon in front-end¶
To allow users to contribute coupons to the site, you need to configure some options in Configuration section. The most important options is “Access submission page”, it provides the options for access levels, only users in the selected access level can access the form. For example if you select “Public” then all users inluding guests can submit new coupon. If you want to limit access to the form you need to select a different access level, for example you select “Registered” to only allow logged-in users to access the form.
To create new new access level you can do it in your back-end (access Users -> Access Levels on the top menu).
You need to create a menu item for “Coupon submission” page. Visit the page in front-end with an account which is in the configured access level, you can see the form with less fields than the coupon form in back-end. After user submits coupon, you can receive an notification email if you enable it in the component’s configuration, you need to log into your back-end, review the coupon, assign it to a correct category and publish it.
Merchant manages coupon in front-end¶
“Merchant management area” menu item is required to allow merchant to manage coupons. To create a new coupon, merchant needs to click “New coupon” button. To delete coupons, merchant needs to select the coupons and click “Delete” button.
Merchant needs to fill the required fields. After coupon is saved, it is published immediately. If email notification is enabled in the component’s configuration, administrators will receive emails for new coupon submission.
Vote and Comment¶
User can vote if a coupon works (good coupon) or doesn’t work (bad coupon). While voting, user can also provide information about how much user saves when use the coupon (if coupon is good), or why coupon doesn’t work (if coupon is a bad coupon).
You can enable/disable vote and comment, or configure some options of them in Configuration section.
Manage currencies¶
You only need to use currencies if you enable voting and asking questions in Configuration section. If user votes coupon as a good coupon, then user is asked how much user has saved and what item user has bought, this is when currencies is used.
In your back-end, navigate to Components -> CMCouponListing -> Currencies to access the list of currencies.
Click “New” button on the toolbar to create a new currency.
- Currency name: You can use currency name, eg. USD, or currency sign, eg. $. This name is only for internal use, it is not visible in front-end.
- Currency sign: Your currency’s sign/symbol, eg. $.
- Currency sign’s position: The position of your currency’s sign, before or after the amount.
- Status: Only published currencies are displayed in front-end.
- Ordering: The position of the currency in the currency list.
- ID: Record number in the database.
Manage reasons of bad coupon¶
If you enable voting and asking questions in Configuration section and user votes for a bad coupon, then user is asked why the coupon is bad. You can create some reasons for user to choose.
Go to to Components -> CMCouponListing -> Bad coupon’s reasons in your back-end to access the list of reasons.
Click “New” button on the toolbar to create a new reason.
- Reason: The reason.
- Status: Only published reasons are displayed in front-end.
- Ordering: The position of the reason in the reason list.
- ID: Record number in the database.
Manage votes¶
Go to to Components -> CMCouponListing -> Votes in your back-end to access the list of votes submitted by users.
You can click on the ID of the vote to edit it. You can also create a vote by yourself by clicking “New” button.
- Coupon: The coupon which the vote is for.
- User: The user who makes the vote. If no user is selected, user is considered as a guest.
- Vote: Vote (good or bad coupon).
- Voted date: The date when user makes the vote.
- Status: Published status.
- Currency: The currency that user uses to pay for product/service with the coupon. Only used if the vote is good.
- Saved amount: The amount that user saves by using this coupon. Only used if the vote is good.
- Items: The items that users pay for by using this coupon. Only used if the vote is good.
- Reason of bad coupon: The reason why user votes this coupon bad. Only used if the vote is bad.
Manage comments¶
In back-end, to access to comment list you navigate to Components -> CMCouponListing -> Comments.
You can edit a comment by clicking its ID. In comment form, we have the following options.
- Comment: The content of the comment.
- Posted date: The date when the comment is posted.
- Status: Published status.
- User: The Joomla! user who posts the comment, if commenter is a registered user.
- Guest’s name: The name of the guest who makes the comment. This value is not used if user is a registered user. If no value given, the word “Anonymous” is used.
Vote in front-end¶
If you enable vote in the component’s configuration, you can see the vote option for every deal in front-end.
If coupon works, you click “Yes”, otherwise you click “No”.
Depending on your configuration, there could be another step asking for how much you save, what items you purchase if coupon is good or why you think the coupon is bad.
After your vote is submitted, you receive the message.
Comment in front-end¶
If you enable comment in the component’s configuration, below every deal’s detail there is a form for submitting new comment and the list of submitted comments.
In the comment list, comments and votes are showed, they are sorted by submitted date, newer comments/votes are displayed first.
Category List module¶
This module lists categories in CM Coupon Listing component in alphabet order and also displays how many coupons in each category.
For SEO purpose, you should create hidden menu items for your every category of CM Coupon Listing.
After install the module via Extension Manager, you can find it in Module Manager. To find the module quickly, you can filter for “CMCouponListing Category List” type.
The module doesn’t have any special options. You just need to publish the module on your desired template’s position and menu items.
Featured Merchants module¶
CMCouponListing Featured Merchants module helps you list random featured merchants in CM Coupon Listing component. Merchant name’s also linked to merchant’s detail page, so to have friendly URLs in the module you need to create menu item for the detail page of every merchant.
After install the module via Extension Manager, you can find it in Module Manager. To find the module quickly, you can filter for “CMCouponListing Featured Merchants” type.
The module only has 1 option for the quantity of featured merchants displayed in the module.
Search module¶
CMCouponListing Search module displays a text field where user can enter keywords and search for coupons or merchants.
You should use this module together with “Search” page. If you create a menu item for “Search” page, you can have a friendly URL for search result page.
After install the module via Extension Manager, you can find it in Module Manager. To find the module quickly, you can filter for “CMCouponListing Search” type.
The module doesn’t have any special options.
tagcmcouponlisting plugin¶
This plugin is only used if you want to integrate with ACYMailing component to send coupon newsletter to your subscribers.
tagcmcouponlisting plug-in helps you insert coupons in a specific category into ACYMailing’s newsletter automatically.
After install the plugin, you can find it in your Plugin Manager.
You can find the following options in the plug-in setting:
- Single coupon template: Template of a coupon in ACYMailing newsletter. You can use HTML and CSS to design how a coupon looks like in newsletter. You can use the following variable tags, these tags will be replaced by real information of coupon:
- {coupon_name}: Name of coupon.
- {coupon_description}: Description of coupon.
- {coupon_link}: Link to coupon’s detail page.
- {merchant_name}: Merchant’s name.
- {merchant_logo}: Image path to merchant’s logo. You need to put this tag into a <img> HTML tag, otherwise image is not displayed. For example: <img src=”{merchant_logo}”/>.
- Sort coupons by: Coupons’s ordering.
- Sample user: If you have special coupons which are only available to a specific access level group, you can select a user who are not in this access level group so that special coupons will not be insert in newsletter.
- Max coupon returned: Limit how many coupons are displayed at max.
In ACYMailing’s newsletter, you can use this tag to insert a single coupon: {cmcouponlisting|category:X|ordering:Y}. “X” is the ID of the category you want to get coupons from, “Y” is the ordering number of coupon in the list of coupons returned from the plug-in.
For example, if your “Max coupon returned” is 5, and you want to get coupons from category ID 1, you can use the following tags:
{cmcouponlisting|category:1|ordering:1}
{cmcouponlisting|category:1|ordering:2}
{cmcouponlisting|category:1|ordering:3}
{cmcouponlisting|category:1|ordering:4}
{cmcouponlisting|category:1|ordering:5}
If there are only 4 coupons found in this category, the last tag is replaced by nothing, so your newsletter template is not broken.
CMCouponListing Merchant’s Coupons plugin¶
This plugin helps you insert list of coupons from a specific merchant into Joomla! article, Custom HTML module or any extension which supports onContentPrepare event.
After installing the plugin, you need to enable it to make it working. You can find it in Plugin Manager with the name “Content - CMCouponListing Merchant’s Coupons”.
In Joomla! article or in the editor of the extension, you insert the followin tag:
{cmcouponlisting merchant=XX}
XX is the ID of the merchant in CMCouponListing. For example if merchant has ID 10, the tag should be:
{cmcouponlisting merchant=10}
The result is the list of coupons with coupon’s name and coupon’s short description.