Plugin Mini Shop by Ioannis Sannos is a shopping cart solution for Elxis CMS in compact size. It works in combination with the Mini Basket module in order chosen products to be added into cart. It supports multiple payment methods, downloadable products, product categories, shipping, it has checkout page, and many more as a full featured shopping cart should have. Here we will show you how to setup and work with the Mini Shop plugin and the Mini Basket module for Elxis.
General shop concept
The idea behind Mini Shop is to take advantage of the standard Elxis content items (articles) and use them as product listing pages. You can create content categories of any level and add inside them an article for each product. This way you will get a shopping cart with categories, navigation and product pages. You can alternatively group your products into Mini Shop categories and display them all together in a single article. On product page when you click the Add to Cart button the product is added into the Mini Basket module. Multiple products can be added into cart. When ready click on the Checkout button in module Mini Basket to proceed to the checkout page. For the checkout page a special integration of the Mini Shop plugin is required in an autonomous page.
Configuration parameters
General configuration parameters
Company A short name of your company.
Shop address The physical address of your shop or company. It is used in cases you have enabled the option to get the ordered products from shop as a delivery method.
Currency The currency in which the prices are entered. Note that if you enable Paypal as payment option then make sure the currency you have selected is supported by Paypal.
Article ID The ID of an autonomous page (article without category) that will be used as checkout page. In this page you have to integrate Mini Shop with the special checkout option. See integration guide below.
Keep ratio If Yes, original image ratio will be retained in the product thumbnails. If No, product thumbnails will be displayed squared (100x100pixels).
Newsletter registration If you enabled this option then shop's customers will automatically be registered in Newsletter. Requires module Newsletter (Newsletter documentation).
Payment methods
Pay on delivery With this payment method the customer pays upon delivery on his place.
Delivery free An optional extra amount to be charged to the customer if he has selected the Pay on delivery method. Example: 15.00
Bank deposit Enable payment via bank deposit?
Bank name The name of the bank for the Bank Deposit payment method.
Account owner The bank account owner for the Bank Deposit payment method.
Account number The bank account number for the Bank Deposit payment method.
IBAN/BSB number The bank IBAN/BSB number used for electronic money transfers for the Bank Deposit payment method.
Paypal Enable payments via Paypal? Customers will be able to pay online via credit card or with their paypal account.
Business If you have enabled payments via Paypal type he business email of your paypal account.
Shipping methods
You can set up to 10 shipping methods and provide a shipping cost for each one.
Shipping title 1 ... 10 A short (multi-lingual) title for the shipping method. Examples: Courier - Athens or DHL Express - Western europe
Shipping amount 1 ... 10 The charge amount for the shipping method. Example: 7.00
Pick from shop If this is enable the customer has the option to come into shop's physical location to get the ordered products. In this case shipping cost will be zero. If you enable it make sure you have also provided your shop's address.
Products
Mini Shop products are managed from the Elxis guided input console for plugins. Open any article and go to the WYSIWYG editor. Pick the second editor (main text) and click on the little icon with the Elxis symbol. On the window that will pop-up click on Guided input and then from the drop down list of plugins select plugin Mini Shop. From that window you can create new products, delete existing ones and select a product to be imported into the article.
Product options
pid Product ID. It is generated automatically after saving the product.
SKU A unique short alphanumeric string to identify your product. Example: NOKIA519S
Category Optional category product. You can select an existing one or type the name for a new one.
Title The title of the product.
Description A short text to describe the product.
Image Upload an image for the product (optional).
Amount The unit price of the product. Used for products that have a fixed price (see Note 1). Example: 25.00
Price options title The title for price options (see Note 1).
Price option name 1 ... 5 The name of up to 5 price options (see Note 1).
Price option amount 1 ... 5 The amount of up to 5 price options (see Note 1).
Options title group A The title for product options group A. These options do not affect product price (see Note 2).
Options name A 1... 5 Up to 5 product options for the options group A (see Note 2).
Options title group B The title for product options group B. These options do not affect product price (see Note 2).
Options name B 1... 5 Up to 5 product options for the options group B (see Note 2).
Maximum quantity
The maximum number of products of this type that can be added into cart.
Download file You can optionally upload a file (preferable zip) that will be shipped electronically to the customer after a successful online payment. This works only with the Paypal payment method. After the customer completes the payment a second email is send to the customer containing a download link for each download-able product he purchased. The links have a 24-hours life time after which they expire. To protect your download files from direct access rename this file: components/com_content/plugins/minishop/files/htaccess_rename.txt to .htaccess
Shipable If Yes, the product is considered a material one and shipping cost options are enabled.
Note 1
A product can have a fixed price (in this case Amount is used) or a price that is controlled by up to 5 price options. An example of such a product is a mobile phone that its price is controlled by the amount of RAM it has.
Price options title: Internal memory
Price option name 1: 16MB RAM
Price option amount 1: 10.00
Price option name 2: 32MB RAM
Price option amount 2: 20.00
Price option name 3: 64MB RAM
Price option amount 3: 30.00
Note 2
You can set up to 2 options groups for each product. Each group can have up to 5 options. These options do not affect the product price. An example fo such an options group would be a T-shirt's colour.
Options title: Colour
Option name: Black
Option name: Red
Option name: Green
Integration guide
Mini Shop can be integrated into any Elxis article with three methods, display a single product, display all category's products, display the checkout page.
Integration code for single product: {minishop}Product ID{/minishop}
Example: {minishop}7{/minishop}
Integration code for category's products: {minishop}category:Category ID{/minishop}
Example: {minishop}category:2{/minishop}
Integration code for the checkout page: {minishop}checkout{/minishop}
Module Mini Basket
Module Mini Basket works in combination with the Mini Shop plugin. Publish the module in a side column of your template. When you click on a product in Mini Shop to be added into cart, module Mini Basket is automatically updated with the product added. Moreover the browser scrolls to the module position in order to see that the product has been added and the cart has been updated. For each product a thumbnail of the product image is shown, a link to the product shop page, a removal icon and the product quantity and amount. On module top area a summary of the cart is shown. Click on the summary to toggle cart details. The addition of the product is done by using AJAX so you don't have to refresh the page to see the changes. To remove a product from the cart click on the little x icon next to a product. The cart and the cart summary will be updated. When ready click Checkout to proceed to checkout page to finalize your order.
Configuration parameters for Mini Basket.
Basket total On cart summary the total number of items added into cart are being displayed. If you want you can also display the total cart amount, in thi9s case set thsi option to Yes.
Open direction The direction the module opens to display cart contents. It can be Left or Right. This option is reversed on RTL languages.
CSS suffix An optional suffix to be added on module's DIV box with CSS class module.
License, author, support and download
Plugin Mini Shop and Module Mini Basket are provided for free under the Elxis Public License license. The author of the module is Ioannis Sannos who grants you the right to use these extensions for any purpose you like. The extensions were financially supported by Konstantinos Kosmopoulos who paid the development cost. For support please post your question at Elxis forums.