Welcome to CM Live Deal’s documentation!¶
This documentation gives you instruction how to install and setup CM Live Deal on your Joomla! website.
Overview¶
CM Live Deal is a Joomla! extension providing ability to list deals or discount offers.
The offer in CM Live Deal is limited-time and real-time offer which is created by site administrator or merchant. Offer can be started or stopped by merchant at any time.
User can browse for the deals in his/her city and claim the deals without paying to website. After getting coupon, user can print it or show it to merchant to redeem and receive discount from merchant.
Technical Requirements¶
- Joomla! 3.x.x: CM Live Deal is NOT compatible with Joomla! 1.x.x or 2.x.x, only Joomla! 3.x.x is supported. Please check Joomla! 3’s Technical Requirements for more information.
- Bootstrap 2: CM Live Deal is NOT compatible with Bootstrap 3. Bootstrap 2 is available by default in Joomla! 3.x.x. Bootstrap 2 must be loaded on your site by Joomla! or by your template.
Features¶
For merchants:
- Easy sign-up: User can register for a Joomla! user account and a merchant account at the same time.
- Easy profile management: Merchants can manage Joomla! profile and merchant profile in the same place.
- Create unlimited deals.
- Start and stop deals at any time: Create deals when merchants need traffic and customers, stop deals when merchants satisfy their traffic needs.
- Know how much their deals attract customers by impression and click values.
- Manage their coupons. Mark coupons as redeemed.
- Know if user is a trusted customer (user will come to redeem coupon).
- Know if user is a return customer.
- Upload photos of their stores, products,... to promote for their businesses.
- Integrate with membership component, currently only support Membership Pro. Limit how many deals merchant can create, how many days merchant’s deals are available on the site.
For users:
- Search for deals by keyword, category and city.
- Get coupon just in few clicks.
- Ability to get coupon without registration.
- Manage claimed/captured coupons.
- Do not need to pay to get coupon, only need to pay directly to merchant, no more asking website owner for refund.
- Do not need to wait until deal reaches its minimum claim/purchase quantity like traditional “groupon” sites.
- No daily mail: Users are not bothered by marketing emails every day, they only find deals when they need and come to merchants to redeem instantly.
- Share deals to Facebook, Twitter, Pinterest and Google+.
For site owners:
- Create unlimited categories and sub-categories (powered by Joomla!’s Categories component).
- Easy to manage merchants and cities via Google Maps.
- Easy to manage the uploaded photos of merchants.
- Get coordinates by location address or by clicking and moving marker on Google Maps, no need for copy-paste coordinates from Google Maps website.
- Manually create new coupon.
- Provide coupons in HTML or PDF format (mPDF PHP library is required).
- Integration with Jooma!’s Group: charging merchants for subscription/membership for posting deals on website by integrating with third party extensions of Joomla! (eg. Akeeba Subscription or PayPlans).
- Responsive website: with the power of Bootstrap, website is responsive and nicely displayed on mobile devices, saving the cost for developing and maintaining iOS and Android applications.
Install & upgrade¶
Install¶
This section will show you how to install CM Live Deal on your Joomla! 3.x.x website.
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 -> Extension Manager to access Extension Manager.

You see the page like the screenshot below.

Click “Browse” button and select the package of CM Live Deal 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.”

Now the component CM Live Deal, its plugins and modules are installed on your site. You can now start using them.
If you want to support PDF coupon, you also need to install mPDF library package. You can view PDF coupon section for more information.
Upgrade¶
To upgrade CM Live Deal, you just need to install the package of the new version.
If you upgrade from a version which is older than 1.2.0, you need to run “Deal alias generator” tool after upgrade. You can view Tools section for more information.
If you upgrade from a version which is older than 1.5.0, you need to run “City alias generator” tool after upgrade. You can view Tools section for more information.
Configuration¶
This section will give you instructions to setup Joomla! and CM Live Deal. If this is the first time you use CM Live Deal, we suggest that you should follow this guide step by step.
Users component¶
The merchants in CM Live Deal component are actually Joomla! users that are in a specific user group.
In your back-end, you navigate to Users -> Groups.

You can see the list of current user groups on your site. Click “New” button in the toolbar to create a new user group.

You give your new user group a name by entering the name in “Group Title” field. You select a parent group in “Group Parent” option. Because merchant is just a registered user so you can select “Registered” as the parent group, you can always select a different group if you are already familiar with Jooma!’s user group and access level.

After creating the user group, you can see it displayed in the group list as the screenshot below.

Media Manager component¶
Merchant can upload image to your site. You need to configure where the images are stored and what image extensions are allowed to upload.
In your back-end, you navigate to Content -> Media Manager to access Media Manager component.

You can see the page similar to the screenshot below.

You click “Options” button on the toolbar to configure the component.

CM Live Deal uses the configuration of Media Manager in uploading merchant’s photo. You can adjust the default settings of Media Manager to suit your needs. If you don’t have any special requirement, you can keep the default settings.
In Media Manager’s main view (Content -> Media Manager), you create a new folder to store all merchants’s photos by clicking “Creat New Folder” button, enter the folder name and click “Create Folder” button.

You will receive “Create Complete” message if the folder is created successfully.

CM Live Deal component¶
In your back-end, go to Components -> CM Live Deal to access CM Live Deal component.

The dashboard is displayed by default.

On the toolbar there is a button “Options”, you click this button to configure the component.
On the configuration page, the settings are grouped into 7 tabs: Layout, Deal list, Currency Merchant, Deal, Coupon and Permissions.
Layout¶

- Image’s width (management): Image thumbnail’s width (pixel) in deal list table (in back-end and in merchant’s management area in front-end). Default value is 50px.
- Map’s height: The height of Google’s maps, used in both front-end and back-end. Default value is 400px.
- Map’s zoom level: Default Google Maps’s zoom level. Default value is 15.
- Map’s default location: The default location of Google Maps when the map is displayed, used in both front-end and back-end. You can click on the map or move the marker to the location you want.
- Date format: Date format that is used in front-end.
- Time format: Time format that is used in front-end.
Deal list¶

- Default pagination limit: The quantity of deals that are displayed in deal list by default.
- Show pagination limit option: Show an option to select the quantity of deals that are displayed in 1 page in deal list.
- Show pagination sorting option: Show an option to select how deals in deal list are sorted.
- Show price tag: Show price tag at the top left corner of every deal in deal list. This price tag contains discounted price, discounted value or discount percent.
- Show original and discounted prices: Show original price and discounted price of deal of it has these prices.
- Price tag of deals which have discounted price: If deal has original price and discounted price, you show discounted price or discount value (how much customers save). For example, if orginal price is $100, discounted price is $40, you can show $40 (discounted price) or $60 (discount value).
- Thumbnail width: The width of deal image in deal list calculated by Bootsrap framework’s 12 grid column. You can select one of the 3 options and refresh your front-end deal list until it looks good for you.
Geolocation¶

- Geolocation service: The service you use to detect user’s location.
- Disabled: Searching for deals which are near user’s location is disabled.
- HTML5 Geolocation: Use Geolocation which is available in HTML5 technology.
- Maxmind: Use GeoLite2 data created by MaxMind.
- Search radius from user’s location: The radius in kilometer to search for nearby deals of user. Default is 5 kilometers. This value is used when user searches for deals in his/her location by using the search module.
Currency¶

- Currency symbol: Currency symbol which is used for original price, discounted price and discounted value.
- Currency symbol’s position: Where currency symbol is displayed, before or after amount.
- Currency decimals: The number of decimals in currency.
- Decimal point: The character which is used as decimal point.
- Thousands separator: The character which is used as thousands separator.
Merchant¶

- Merchant’s user group: Joomla! user group that merchant are assigned to. Only users in the selected group can submit new deal and edit merchant’s profile. You need to select the group that you create in the above step.
- Add merchant to group: Options for adding merchant to merchant’s Joomla! user group after registration.
- Add automatically after registration: After user registers for a merchant account, user is added to the merchant group automatically.
- Add manually by administrators: After user registers for a merchant account, user is not added to the merchant group. Administrator needs to review user’s registration and add user to the group manually.
- Block merchant: After user registers for a merchant account, user’s Joomla! account is blocked and user can not login, administrator needs to unblock the account after reviewing the registration.
- New merchant notification: Send email to administrators when there is a new merchant registration.
- Image folder: Folder where the images that are uploaded by merchants are stored. You can only select the folders which are in the image folder that you set in Media Manager component. You can select the folder that you create in Media Manager in the above step of Media Manager.
- Display user’s stats: Display coupon owner’s statistics in merchant’s coupon list. This info lets merchant know if coupon owner is a serious customer.
- Display user’s visits: Display coupon owner’s visits to merchant’s. This info lets merchant know if coupon owner is a returned customer.
- Membership component integration: To enable membership integration, select a membership Joomla! component to integrate with. Membership Plans menu item will be available in the component’s menu for you to create and configure your membership plans.
- Membership upgrade form: The menu item for upgrading membership. The link to this menu item is displayed in merchant’s deal management page when merchant reaches his/her limit of created deal quantity. This option is only used if membership integration is enabled.
- New coupon notification: Send email to merchant when there is new coupon captured.
- Merchant detail page: Enable merchant detail page where merchant info and merchant’s deal list are displayed.
Deal¶

- New deal notification: Send email to administrators when there is a new deal submitted.
- Display merchant’s photos: Display the slideshow for merchant’s photos in deal’s popup.
- Auto approve new deals: If enabled, new deals that are submitted by merchants are approved and published by default. Enable this option if you don’t want to manually check and approve/publish every submitted deal.
- Merchant can edit published deals: Allow merchants to edit their own deals after the deals are published and visible to customers.
- Prices and discount input: Enable options for original price, discounted price and fixed discount values of the deal in deal submission form.
Coupon¶

- Coupon code’s length: The number of characters in a coupon code. Default value is 5.
- Coupon’s characters: The character’s types in coupon code. Default is alphanumeric. Coupon code’s characters are always uppercase.
- Latin alphabetic characters only (from A to Z): for example, “GWLCA”.
- Latin numeric characters only (from 0 to 9): for example, “83061”.
- Latin alphabetic and numeric: for example, “F52H2”.
- Coupon format:
- HTML: Coupon in HTML format (a web page).
- PDF: Coupon in PDF format. You need to install mPDF library package. Please view PDF coupon section for more information.
- QR code’s size: The size of coupon’s QR code in pixel.
- Guest can get coupon: Allow guests can capture coupons without registering accounts.
- Limit coupon quantity: Enable this option to give administrators and merchants ability to set and change coupon quantity for every deal. If this option is disabled, coupon quantity is unlimited.
Permissions¶

On the left side there are tabs for user groups. On the right side, we have the options of the permissions that the users in the selected group can do.
You select your merchant group and configure the following permissions:
- Configure ACL & Options: Not Allowed
- Access Administration Interface: Not Allowed
- Create: Allowed
- Delete: Allowed
- Edit: Not Allowed
- Edit State: Allowed
- Edit Own: Allowed
CMLD Merchant plugin¶
CMLD Merchant (CM Live Deal - Merchant) is a Joomla! plugin to insert custom profile fields into Joomla! user profile. CMLD Merchant plugin provides the needed fields for merchant profile.
To configure the plugin, you need to access Extensions -> Plugin Manager.

You can search for the plugin by using keyword “merchant”, “CM Live Deal”, etc... The plugin name is “User - CM Live Deal’s merchant profile”

You click on the plugin name to edit the plugin’s setting.

- Registration page: You select the menu item of merchant registration page that you create in the above step.
- Status: You set the status to “Enabled”.
For profile fields, you have 3 options:
- Required: Field is displayed and user must enter value.
- Optional: Field is displayed and user can leave field empty.
- Disabled: Field is not displayed in profile form.
After saving the plugin, you receive the message “Plugin successfully saved”.

You can visit the page for merchant registration in your front-end to check if the merchant’s profile fields are displayed there. The page could look like the following screenshot.

Coupon template¶
After capturing a deal, a coupon for the deal is available for user. User can print coupon or show it on his/her phone to merchant.
To design how coupon on your site looks like, go to Components -> CM Live Deal.

On the toolbar, you click “Coupon template”.

In the form, you can use HTML and CSS to design your coupon.

To display the information of deal on your coupon, you can use the following tags (shortcodes):
- {code}: Coupon’s code.
- {qrcode}: Coupon’s QR code.
- {deal}: Deal’s name.
- {description}: Deal’s description.
- {terms}: Deal’s fine print.
- {merchant}: Merchant’s name.
- {address}: Merchant’s address.
- {phone}: Merchant’s phone.
- {captured}: Date when the coupon is captured.
- {expired}: Date when the coupon is expired.
When coupon is showed to user, the tags are replaced by deal’s information.
Categories¶
The deals in CM Live Can can be assigned to categories. With categories, users can search for the interesting deals easily.
In your back-end, go to Components -> CM Live Deal to access CM Live Deal component.

On the toolbar, you click “Categories” to access the list of categories in Category Manager.

Click “New” button on the toolbar to create a new category.

There are only 3 fields that you need to set:
- Title: The name of your new category.
- Parent: The parent category of your new category.
- Status: Status of the category, you always set it to “Published” most of the time.

After saving the new category, it is displayed in your category list.

Cities¶
In your back-end, go to Components -> CM Live Deal to access CM Live Deal component.

On the toolbar, you click “Cities” item to access the list of cities.

Click “New” button on the toolbar to create a new city.

The form to create new city (and to edit existing city) has the following fields:
- Name: The city’s name.
- Radius: The radius in kilometer to collect deals from the city’s position. The deals which are in this radius are considered to belong to this city. After entering your value in this field, you can click somewhere else on the page to update the new value to the Google Maps on the page.
- Location: A Google Maps to select your city’s location. You can move the marker to select the location. You can see an circle on the map, this circle’s center is the Google Maps marker and the circle’s radius is the radius of the “Radius” field, the deals which are in this circle are considered to belong to this city.
- Status: Status of the city.
- Created Date: The date the city is created.
- Created by: The person who creates the city.
- Modified Date: The date the city is modified the last time.
- Modified by: The person who does the last modification.
- ID: The ID of the city.

After saving the new city, it is displayed in your city list.

Merchants¶
This section will give you instructions to register a new merchant in front-end and manually create a new merchant in back-end.
This section uses the result of the setup in Configuration section.
New merchant registration¶
Access your menu item for merchant registration that you create in Configuration section, fill the form and click the Register button.

If in CM Live Deal’s Configuration, you set
- “Merchant’s user group” option to “Merchants” user group (create in Configuration section).
- “Add merchant to group” option to “Add automatically after registration”.
- “Block merchant” to “No”.
Then your new merchant is displayed in User -> User Manager similar to the screenshot below.

Create new merchant¶
As an administrator, you can always create a new user account in back-end.
Access User -> User Manager, click “New” button to add a new user.
In “Account Details” tab, you provide basic account information for user.

In “Assigned User Groups”, “Registered” group is selected by default, you need to select the group for your merchants. In the below screenshot, “Merchants” group that we create in Configuration section is selected.

In “Merchant Profile” tab, you enter the details of merchant’s business.

After saving the new user, it is displayed in the list of users on the site.

Edit profile¶
To allow users to edit their profiles, you need to create a menu item for “Edit User Profile”
Create a new menu item in a menu that you want, select User Manager -> Edit User Profile as the menu item type.

Access the new menu item in front-end, login with a merchant account, you can see the form to edit profile which includes merchant’s profile fields.

As an administrator, you can always edit any user’s profile in User Manager.
Manage merchants¶
In your back-end, go to Components -> CM Live Deal to access CM Live Deal component.

On the toolbar, you click “Merchants” item to access the merchant map.

With this Google Maps, you can see the cities and the merchants in every city. Every city has a circle, if the merchant is in the circle of a city that means the merchant’s deals can be listed in the deal list when users search for deals in that city.
If there is any merchant that is not in the circle of any city, you should create a new city for that merchant, or extend the radius of the nearest city, unless the deals of these merchants are not searchable.

Deals¶
Create new deal in back-end¶
To create a new deal in your Joomla!’s back-end as an administrator, you go to Components -> CM Live Deal to access CM Live Deal component.

On the toolbar, you click “Deals” item to access the list of deals.

Click “New” button on the toolbar to create a new deal.

The form to create/edit deal looks like the screenshot below.

You need to enter your deal’s details: name, description, fine print, starting date and ending date. You also need to select a merchant and a category for your deal.
To assign an image to your deal, you click “Select” button to open image popup. Before selecting/uploading a new image, you must select a merchant first, this merchant will be the owner of any image you upload while you are creating/modifying the deal, unless you select a different merchant. You can only assign 1 image to a deal.
If you enable “Prices and discount input” option in the component’s configuration, “Discount info” is displayed in the form, there are 3 types of discount info available:
- Original price and discounted price. For example: original price was $50 but now discounted price is $30.
- Fixed discount value. For example: $10 discount for orders over $50.
- Fixed discount percent. For example: 10% discount for orders over $50.
If deal has a discount method which is not fit to these 3 discount types, you can select “None” option. Original price, discounted price can be displayed in deal list and deal popup. Fixed discount value and fixed discount percent can be dispayed in deal list.
If you want to publish the deal, you need to set “Status” to “Published” and “Approval” to “Yes”. However the deal is visible to users or not also depends on starting and ending time.
“Approval” is for marking that if administrator has already reviewed and approved the deal which is submitted by merchant in front-end. When deal is approved, merchant can’t change deal details any more, he/she only can modify starting and ending date.
If you enable “Limit coupon quantity” in the component’s configuration, “Coupon quantity” field is displayed in the form. You can enter the quantity of coupons that you allow customers to capture, if you want unlimited quantity, you can enter 0.
Other fields in the form:
- Impressions: The number of times this deal is displayed in deal list.
- Clicks: The number of times users click this deal to view its detail.
- Created Date: The date the deal is created.
- Created by: The person who creates the deal.
- Modified Date: The date the deal is modified the last time.
- Modified by: The person who does the last modification.
- ID: The ID of the deal.
After saving the deal, it is displayed in your deal list.

Create new deal in front-end¶
Merchant’s deal list¶
To allow merchants access the list of their deals, you need to create a new menu item for “Deal Management” page.
Create a new menu item, select CM Live Deal -> Deal Management as the menu item type.

In your front-end, login as a merchant and access the new menu item, you can see the list of merchant’s deals.

The list has 8 columns:
- Title: Displays deal name and the name of the category which the deal is in.
- Impressions: How many times the deal is showed in deal list to users.
- Clicks: How many times users click the deal to view its details.
- Captured: How many coupons of the deal that users have captured.
- Redeemed: The number of redeemed coupons of the deal.
- Approved: The deal is approved by administrators or is still in review.
- Published: The deal is published.
- Ending time: When the deal expires.
Click on deal name to edit the deal. If deal is already approved, merchant can only change starting date, ending date and published status. If the deal is not approved yet, merchant still can modify the deal’s details.
Submit new deal¶
In deal list, merchant can click “New deal” button to submit a new deal.
The form has the following fields:
- Title: The deal’s name.
- Category: The category which the deal is in.
- Image: Merchant can click “Select” button to open a popup and select an uploaded image, merchant can also upload a new image.
- Discount info: Similar to the deal submission form in back-end, this option provides 3 types of discount, if the deal has a different discount info you can select “None” option. This field only appear if “Prices and discount input” option is enabled in the component’s configuration
- Original price and discounted price. For example: original price was $50 but now discounted price is $30.
- Fixed discount value. For example: $10 discount for orders over $50.
- Fixed discount percent. For example: 10% discount for orders over $50.
- Description: The deal’s description.
- Fine print: The deal’s terms and conditions.
- Coupon quantity: This field is only visible if “Limit coupon quantity” in the component’s configuration is enabled. You can enter the quantity of how many coupon you want customers to get, if you want unlimited quantity you can enter “0”.
- Starting time: When the deal starts public to users.
- Ending time: When the deal expires and is not visible to users any more.
- Published: Deal’s published status.

You will receive message “Item successfully submitted.” if deal is saved successfully.

Deal Submission page¶
Instead of accessing Deal Management page and click “New deal” button to create a new deal. You can also create a menu item for “Deal Submission” page and let merchants directly access and create new deal.
Deal list¶
Deal list is where users browse and find the deals that they are interested in.
In your back-end, you create a new menu item for “Deal List” page. You can check the menu item in front-end, the deal list is similar to the below screenshot.

Coupons¶
User gets coupon¶
While browsing deal list, user can click on any deal that they are interested in. If user likes a deal and decides to try it, he/she can click “Get coupon” button capture a coupon of the deal. User must be log into the site first before getting a coupon.
“Get coupon” button is not available if the current user is a merchant and the deal is his/her deal.
“Get coupon” button is not clickable if user has already captured a coupon of the deal in the past.
After capturing a coupon, user is taken to the list of his/her coupons, on this page user can have the coupon code and can access the captured coupon to print it..

User’s coupon list¶
You can create a menu item for “User’s Coupons” to let users access their coupon list in front-end.

To have a user friendly URL for coupon page you need to have a menu item for “Coupon download” view. This menu item should be used as a hidden menu item, please see Hidden menu item to know to create this type of menu item.
Administratiors manage coupons¶
In your back-end, go to Components -> CM Live Deal to access CM Live Deal component.

On the toolbar, you click “Coupons” to access the list of coupons.

You can edit an existing coupon be clicking on its code. You can also create a new coupon with your own custom coupon code and assign it to a specific user.

In the edit form, there are the following fields:

- Code: Coupon code.
- User: The user who owns this coupon.
- Deal: The deal which this coupon belongs to.
- Redeemed: Should be “Yes” if coupon is already redeemed by user.
- Redeemed date: When this coupon is redeemed.
- Created Date: The date the coupon is created.
- Created by: The person who creates the coupon.
- Modified Date: The date the coupon is modified the last time.
- Modified by: The person who does the last modification.
- ID: The ID of the coupon.
Merchant’s customer list¶
Merchant can manage the coupons of his/her deals in “Customers” page. You can create a menu item for it in Menu Manager.

Access the menu item in front-end, you can see the list of your coupons.
When user comes and redeems coupon, you can use this page to search for user’s coupon code

Click on coupon code, you are taken to the form to change coupon’s redeemed status and redeemed date.

Membership integration¶
Overview¶
When you integrate with a third party membership Joomla! component, you can
- earn money when merchant subscribes a new membership plan or upgrades subscribed plans
- limit how many deals merchant can create
- limit how may days merchant’s deals are displayed on your site
When the limitations are reached, if merchant wants to create more deals or extend the expired dates of merchant’s deals, merchant needs to upgrade to a higher membership plan.
Configuration¶
You can enable this integration in Configuration. At the present time only Membership Pro component is supported. More membership components will be integrated in future.
After enabling the integration by selecting a membership. Membership Plans item is displayed in the component’s menu.

Plugins¶
If you integrate with Membership Pro component, you will need to enable “Membership Pro - CM Live Deal integration” plugin which is automatically installed when you install CM Live Deal package. There is no configuration needed for this plugin.
Integration¶
If the membership component that you select in the configuration is not installed yet, you will get an empty page when access Membership Plans page.

If the component is already installed, you will get the list of membership plans.

After creating the plans in the membership component, you go back to CM Live Deal’s Membership Plans to create the plans to connect CM Live Deal and the membership component, click “New” button on the toolbar to create a new plan.

- Plan name: The name of the membership plan. Used internally in CM Live Deal only, only visible to administrators.
- Integrated plan: The membership plan of the integrated membership component.
- Deal quantity: The maximum deal quantity that merhant is allowed to created. You can enter -1 for unlimited quantity.
- Length: The number of days that merchant’s deals are published on the site.
- Created date: When the plan is created.
- Created by: The user who creates the plan.
- Modified date: The user who does the last modification.
- Modified by: When the last modification is maded.
- ID: Record number in the database.
If in the future you switch to a different membership component, you need to edit each of your plans, select the new membership component’s plan in “Integrated plan” option, otherwise the integration will be broken.
Create deal¶
If the deal quantity of merchant’s subscribed plan is unlimited (-1 value), then merchant can create unlimited deals on your site.
If it is limited by a specific value and merchant’s deal quantity is smaller than this value, in merchant’s deal management page there is a message similar to this:

However if merchant’s deal quantity is equal to the limit value, New button is not displayed any more and merchant is asked to upgrade his/her membership:

In the above screenshot, by clicking “ugrade” link, merchant is taken to the menu item to upgrade the membership plan. You can select this menu item in the component’s configuration.
Deal’s length¶
When merchant submits a new deal, administrator will review and approve the deal. The deal’s starting date is only counted by the time when administrator approves the deal, not by the time merchant submits the deal.
For example, if merchant submits a deal at January 01, 2015 01:00:00, 12 hours later administrator approves the deal, then the deal’s starting date is January 01, 2015 13:00:00. If the deal’s length is 1 day then it will be unpublished at January 02, 2015 13:00:00.
Merchant’s images¶
You can manage the images which are uploaded by merchants.
In your Joomla! back-end, go to Components -> CM Live Deal.

On the toolbar, you click “Images”.

In image list, you can search for images by file name, owner (merchant). To delete images you select them in the list and click “Delete” button on the toolbar, the selected images will be removed from the list and the image files are also deleted from your server.

User statistics¶
User statistics help merchant know if a customer is a serious customer and if he/she already came to merchant in the past.
User statistics¶
This information of a user has 2 values:
- How many coupons the user captured (1)
- How many coupons the user came to merchant and redeemed (2)
If (2) value is equal to (1) value, this means the user always comes to redeem the coupons that he/she captures on the site. This is a serious customer, if he/she is happy at the merchant’s place, there are many chances that he/she will come back.
If (1) value is much greater than (2) value, the merchant shouldn’t expect that the user will come to the merchant to redeem the current coupon.
Captured and Redeemed values are not available if the owner of the coupon is a guest.
User visits¶
If the owner of coupon is a return customer, this means the customer enjoyed the products or the services of merchant and now he/she comes back again.
Configuration¶
To enable the statistics, in your Joomla! back-end you go to Components -> CM Live Deal.

On the toolbar there is a button “Options”, you click this button to configure the component.

Switch to “Merchant” tab and set “Display user’s stats” and “Display user’s stats” options to “Yes”.

In your Joomla! front-end, go to the menu item of Customers view, you can see that the statistics are displayed in the coupon list, the descriptions for these statistics are also displayed to help merchants understand.

CM Live Deal Search module¶
To configure your Search module, you go to Extensions -> Module Manager.

Joomla! creates a new module for you automatically after you install the package of CM Live Deal. You can see CM Live Deal - Search module in your module list.

Click on the module name to edit its settings. You can give the module a new name by modifying “Title” field. In the “Module” tab, you set “Status” to “Published” and select the position you want to put this module in “Position” option.

In “Options” tab, you can configure the main settings of the module.

- Display: How search form is displayed, there are 3 styles, “Inline”, “Horizontal”, “Vertical”. You can see how search form looks like in these styles in the screenshot below.
- Keyword field’s CSS: Custom CSS classes for keyword input field.
- Category list’s CSS: Custom CSS classes for category dropdown list.
- City list’s CSS: Custom CSS classes for city dropdown list.
- Search button’s CSS: Custom CSS classes for search button.
- Clear button’s CSS: Custom CSS classes for clear button.
- Display Clear button: Display or hide clear button.
- Button’s label:
- Use icon: Use only icons for search and clear buttons.
- Use text: Use only text for search and clear buttons.
- Use icon and text: Use both icon and text for search and clear buttons.
CSS fields are useful if you want to customize the element of search form to match your template’s style. This requires your skills in HTML and CSS.
In “Menu Assignment” tab, you configure what pages the module is displayed on.

After adjusting the settings, you can save the module and then you will receive “Module successfully saved” message. If you change the module’s name, you can see its name is updated in the module list.

You can check on your front-end to see if the module is displayed properly. The below screenshot is how the inline search form is displayed in “banner” positon of Joomla!’s‘ default Protostar template.

Examples (the settings on the left side, the result on the right side)
Example of how inline search form is displayed. The Clear button is displayed and the buttons have only icons. The fields are customized by using “input-medium” class of Bootstrap.

Example of how horizontal search form is displayed. The Clear button is not displayed and the Search button has only text. The fields are customized by using “input-medium” class of Bootstrap.

Example of how vertical search form is displayed. The Clear button is displayed and is customized by “btn-warning” class of Boostrap. The Search button is customized by “btn-success” class of Bootstrap. Icon and text are both used in the buttons. The fields are customized by using “input-medium” class of Bootstrap.

Search for nearby deals¶
By using CM Live Deal Search module, user can search for deals in all cities, in a specific city or deals near user.
To detect user’s location, You can use GeoLite2 data created by MaxMind, available from http://www.maxmind.com, or use HTML5 Geolocation service.
MaxMind service works on server side so it works in all browsers. HTML5 Geolocation works on client side, and not all browsers support HTML5 Geolocation, so dectecting user’s location is not possible if user’s browsrs is not supported.
Get GeoLite2 City database¶
GeoLite2 City is required to detect user’s location. Because the database file’s size is big, we don’t include it in CM Live Deal’s package, you need to download it from MaxMind website then upload it to your server manually.
Go to http://dev.maxmind.com/geoip/geoip2/geolite2/, download the gzipped binary file of GeoLite2 City.

Use your favorite file compression software to uncompress the downloaded file, then you get the file GeoLite2-City.mmdb, upload this file to <Joomla! root folder>/administrator/components/com_cmlivedeal/helpers/geoip/database/ folder.
Configure CM Live Deal component¶
In your Joomla! back-end you go to Components -> CM Live Deal.

On the toolbar, you click “Options” button.

Go to “Deal” tab, you select the Geolocatin service, set the radius (in kilometer) to search for nearby deals from user’s location and set the cookie lifetime.

- Geolocation service: The service you use to detect user’s location.
- Search radius from user’s location: The radius in kilometer to search for nearby deals of user. Default is 5 kilometers. This value is used when user searches for deals in his/her location by using the search module.
- Location cookie’s lifetime: Detect user’s location requires reading the database file and make the server slow. User’s location can be stored in cookie and reused later to reduce file reads from server. With this option you can set how many days this cookie is available. Default value is 7 (days). You can disable storing cookie by using 0 value.
Search in front-end¶
Go to your front-end where the search module is displayed. Now if you select “Your location” in the city list and search, you will get the deals near you in the result.

If the database file doesn’t exist, this function doesn’t work.
If your location can not be detected (not in MaxMind’s database), you will see the error message “We can’t detect your current location.”.
CM Live Deal Merchants module¶
CM Live Deal Merchants module is used to display a list of merchants. You can use this module to feature some merchants on your site.
If you use this module you need to create a hidden menu item for “Merchant” page of CM Live Deal, please see Hidden menu item to know to create this type of menu item.
To configure the module, you go to Extensions -> Module Manager.

Joomla! creates a new module for you automatically after you install the package of CM Live Deal. You can see CM Live Deal - Merchants module in your module list.

Click on the module name to edit its settings. You can give the module a new name by modifying “Title” field. In the “Module” tab, you set “Status” to “Published” and select the position you want to put this module in “Position” option.

In “Menu Assignment” tab, you configure what pages the module is displayed on.

In “Options” tab, you can configure the main settings of the module.

- Merchants: The merchants who are displayed in the module. To select a merchant you click the person icon then select a merchant in the popup, after that you click the plus icon to add the selected merchant to the list.
- Show deal quantity: Show the number of deals that a merchant currently has.
- <ul> CSS class: CSS classes that are applied to <ul> HTML element.
- <li> CSS class: CSS classes that are applied to <li> HTML element.
- Deal quantity CSS class: CSS classes that are applied to deal quantity.
- <ul> CSS style: CSS styles that are applied to <ul> HTML element.
- <li> CSS style: CSS styles that are applied to <li> HTML element.
- Deal quantity CSS style: CSS styles that are applied to deal quantity.
CSS fields are useful if you want to customize the elements to match your template’s style. This requires your skills in HTML and CSS.
For example, you can use the CSS classes from Bootstrap 2 like the screenshot above. The result could look like the screenshot below.
After adjusting the settings, you can save the module and then you will receive “Module successfully saved” message. If you change the module’s name, you can see its name is updated in the module list.

You can check on your front-end to see if the module is displayed properly.

CM Live Deal Categories module¶
CM Live Deal Categories module is used to display a list of all published categories.
To configure the module, you go to Extensions -> Module Manager.

Joomla! creates a new module for you automatically after you install the package of CM Live Deal. You can see CM Live Deal - Categories module in your module list.

Click on the module name to edit its settings. You can give the module a new name by modifying “Title” field. In the “Module” tab, you set “Status” to “Published” and select the position you want to put this module in “Position” option.

In “Menu Assignment” tab, you configure what pages the module is displayed on.

In “Options” tab, you can configure the main settings of the module.

- Show deal quantity: Show the number of deals in category.
- <ul> CSS class: CSS classes that are applied to <ul> HTML element.
- <li> CSS class: CSS classes that are applied to <li> HTML element.
- Deal quantity CSS class: CSS classes that are applied to deal quantity.
- <ul> CSS style: CSS styles that are applied to <ul> HTML element.
- <li> CSS style: CSS styles that are applied to <li> HTML element.
- Deal quantity CSS style: CSS styles that are applied to deal quantity.
CSS fields are useful if you want to customize the elements to match your template’s style. This requires your skills in HTML and CSS.
For example, you can use the CSS classes from Bootstrap 2 like the screenshot above. The result could look like the screenshot below.
After adjusting the settings, you can save the module and then you will receive “Module successfully saved” message. If you change the module’s name, you can see its name is updated in the module list.

You can check on your front-end to see if the module is displayed properly.

CM Live Deal Cities module¶
CM Live Deal Cities module is used to display a list of all published cities.
To configure the module, you go to Extensions -> Module Manager.

Joomla! creates a new module for you automatically after you install the package of CM Live Deal. You can see CM Live Deal - Cities module in your module list.

Click on the module name to edit its settings. You can give the module a new name by modifying “Title” field. In the “Module” tab, you set “Status” to “Published” and select the position you want to put this module in “Position” option.

In “Menu Assignment” tab, you configure what pages the module is displayed on.

In “Options” tab, you can configure the main settings of the module.

- Show deal quantity: Show the number of deals in category.
- <ul> CSS class: CSS classes that are applied to <ul> HTML element.
- <li> CSS class: CSS classes that are applied to <li> HTML element.
- Deal quantity CSS class: CSS classes that are applied to deal quantity.
- <ul> CSS style: CSS styles that are applied to <ul> HTML element.
- <li> CSS style: CSS styles that are applied to <li> HTML element.
- Deal quantity CSS style: CSS styles that are applied to deal quantity.
CSS fields are useful if you want to customize the elements to match your template’s style. This requires your skills in HTML and CSS.
For example, you can use the CSS classes from Bootstrap 2 like the screenshot above. The result could look like the screenshot below.
After adjusting the settings, you can save the module and then you will receive “Module successfully saved” message. If you change the module’s name, you can see its name is updated in the module list.

You can check on your front-end to see if the module is displayed properly.

Friendly URL for categories and cities¶
Before CM Live Deal 1.5.0, when you search for deals in city/category, you get an URL in this structure:
http://yoursite.com/deals?keyword=&category=X&city=Y
X is the ID of the selected category, Y is the ID of the selected city.
Since 1.5.0, city’s alias and category’s alias are used to support friendly URL when searching for deals.
If you look for deals in Spa category, we can get an URL similar to this:
http://yoursite.com/deals/spa
If you search for deals in New York, we have this URL:
http://yoursite.com/deals/new-york
When searching for spa deals in New York, we get:
http://yoursite.com/deals/new-york/spa
You can easily notice a possible conflict here, what if we have a category “spa” and a city “spa”, the URL will be the same:
http://yoursite.com/deals/spa
In this case, CM Live Deal will look for deals in city “spa” instead of category “spa”. So to avoid this conflict, you should keep in mind that you shouldn’t have a city and a category which have the same alias. To solve the conflict you need to edit the alias of city or category, for example changing “spa” to “spa-city” for city, or “spa” to “spa-deals” for category.
Tools¶
Tools is available since version 1.2.0. You can find it in the component’s menu. Tools are used help you do some technical tasks easily without touching the source code or the database.
At the present time there is only 1 tool “Deal alias generator”, more tools will be added in future. To run a tool, you just need to click it’s “Run this tool now” button.

Deal alias generator¶
Before version 1.2.0, there was no sharing feature. Since 1.2.0 we can share deals to social networks. To be able to share deals, we need to have deal alias. This tool help you create deal alias automatically based on deal title.
If you upgrade from a version older than 1.2.0, you need to run this tool at least once to generate aliases for your existing deals.
City alias generator¶
This tool is available since 1.5.0 to support friendly URLs for categories and cities. Please see Friendly URL for categories and cities for more information.
If you upgrade from a version older than 1.5.0, you need to run this tool at least once to generate aliases for your existing cities.
Sample PDF coupon generator¶
PDF coupon is introduced in 1.5.0. You can use this tool to see how your PDF coupon could look like. You just need to select a deal and click “Run this tool now” button. If there is no deals selected, sample content will be used.
To support PHP coupon you need to install a PHP library. Please see PDF coupon section for more information.
Deal ending time generator¶
This tool is introduced in 1.5.1 to help the users who integrate with third party membership components ability to re-calculate the ending times of their deals easily.
PDF coupon¶
Before CM Live Deal 1.5.0, coupon was only in HTML format. Since 1.5.0, you can configure to use HTML coupon or PDF coupon in the component’s configuration.

Download mPDF library¶
You can download mPDF Joomla! library at http://cmext.vn/download/mpdf-joomla-library.
Install mPDF library¶
Because the package is about 47MB, so if your server allows to upload more than 47MB you can install this package via Extension Manager just like installing any other Joomla! extension. However if you can’t install by using “Upload Package File” option, you can use “Install from Directory” option. The following instruction is for installing via “Install from Directory” option.
First you need to log into your hosting’s control panel, access file manager tool, go the “tmp” folder in your Joomla! root folder, the below screenshots are the file manager of CPanel which is popular and is used by many hosting providers.

You upload the mPDF package into this “tmp” folder. In the below screenshots, the package is named “mpdf.zip”.

You can use any ZIP extracting tool available in the file manager to extract the filer. In CPanel, you select the file and click “Extract” button on the toolbar. The result is “mpdf” folder.

In Joomla!’s Extension Manager, you switch to “Install from Directory” tab and enter the path the “mpdf” folder. If your “tmp” folder is “/home/username/joomla/tmp” then the path to “mpdf” folder should be “/home/username/joomla/tmp/mpdf”.

Click “Install” button the library will be installed, you will get the successful message in the next page.

Now mPDF library is installed, you can delete “mpdf.zip” file and “mpdf” folder in your “tmp” folder.
Translation¶
CM Live Deal only comes with English by default however you can always translate CM Live Deal to other languages.
Installation¶
Before translating CM Live Deal to another language, you need to know install that new language.
In your Joomla! back-end, you go to Extensions -> Language Manager.

You can see the list of installed languages on your site. Click “Install Language” button on the toolbar to install a new language.

Search for the language you want to install, select it in the list and click “Install” button.

After installing new language, go back to the installed language list, you can see your new language in the list.

You need to remember the language tag of your new language. In the above screenshot, French language package is installed, and “fr-FR” is the language tag of French.
Preparation¶
You can use your favorite FTP software or file managers available in your hosting control panel to navigate to <Joomla! root folder>/components/com_cmlivedeal/language/ folder. In this folder you can see the folder “en-GB”, this is where the language files of English are stored.
In this “language” folder, you create a new folder for your new language, the name of the folder is the language tag. Follow the above example, you create a new folder “fr-FR”.
Go to “en-GB” folder, copy “en-GB.com_cmlivedeal.ini” file in this folder to the new language folder that you just create (“fr-FR” as in the example).
In the new language folder folder, rename “en-GB.com_cmlivedeal.ini” to “xx-YY.com_cmlivedeal.ini”, “xx-YY” is the language tag of your new language, eg “fr-FR”.
Translate¶
Open “xx-YY.com_cmlivedeal.ini” with a text editor and translate the English strings in this file to your new language.
Important note: Joomla! language INI files must be saved as UTF-8 without the Byte Order Mark (BOM). For more information on Byte Order Mark see http://unicode.org/faq/utf_bom.html#BOM
The above instruction is for translating the front-end of CM Live Deal component. To translate the back-end and other extensions, you need to repeat the above steps for the following folders:
- CM Live Deal component’s back-end: <Joomla! root folder>/administrator/components/com_cmlivedeal/language/
- CMLD Merchant plugin: <Joomla! root folder>/modules/mod_cmlivedeal_search/language/
- CM Live Deal Search module: <Joomla! root folder>/plugins/user/cmldmerchant/language/