Despite the fact that QuickForm is a form builder, you can make excellent stores on it, surpassing those made on specialized store scripts. The component opens up such opportunities that were not yet available before it, but there was a significant need for them.

To begin with, let's put the dots over I. QuickForm is an extension for developing forms. Unlike the scripts of online stores, it does not have many interfaces required for them, first of all, a product catalog. Instead, it is suggested to use any other directory, for example, the standard materials manager in Joomla! or WordPress. You can use any other directories, including specialized ones: VirtueMart, JoomShopping, WooCommerce. You can add the functionality of the catalog yourself. It's not difficult, I just don't want to overload the constructor with functions that will be rarely used.

What is there in QuickForm? There is a cool basket functionality here. There is a button "add to cart". It is possible to use the component forms as products, including their entire powerful set of features-dependent fields, a calculator, and so on.

First, you need to go to the global settings of the component and enable the store mode there. At the same time, a new link "cart settings" will appear in the QuickForm menu. Let's look at them below in the text, and now I'm putting out the mini-basket module.

Cart empty

It is easy to do this. In Joomla, you need to display the mod_qf3 module on the page in the mini-cart mode. WordPress uses the hashtag [qfminicart]. Now we will add some form to the page, it will be our product. Instead of the "submit" button, there should be an "AddToCart" button in this form. I made two products as an example and added them to the page.

Case ATX ACCORD P-28B (1 390 rub.)
0$
Lunch CAPRICE
Composition (1020 g): Roll Baked Salmon, California Roll Tempura, Roll Tory Teriyaki, Roll Murakami.
0$

The shopping cart can be tested. It is clearly visible how the dependent fields and the unlimited mathematics of the calculator give the product the flexibility from QuickForm. If we compare it with a typical online store script, it is obvious that QuickForm will be more convenient with a small number of products - up to several dozen. It is more difficult to create a product on it, but the product has more opportunities. The advantage will be the speed of the store, since QuicForm does not slow down the site.

Now I want to tell you a little about the settings. They include several tabs, which we will consider in order.

1. The first tab is responsible for the output of the mini-cart module. There is nothing to describe here, you can set the position of the currency and the formatting of the price. The currency itself is set in the product by the calculatorsum field and can be different for different products. Be careful, " usd " and "$" are different currencies. Currencies can be amps, kilometers, and so on. In addition, one product may have several amounts or not at all. If QuickForm cannot calculate the total amount, it will show the number of product positions.

shop 1

2. The second tab configures the display of the store's shopping cart window. At the top there are three fields for inserting html code, I have not used them now.
Then there are three embedded forms: payment, delivery, contact details. In principle, it can be anything, the names are arbitrary. The difference is that the first two will be displayed at the bottom of the cart, and the third will open in a modal window. If it is enabled, instead of the "send" button, there will be a "checkout" button. As for the functionality of embedded forms,it is preserved in full. In the example, I use dependent fields, a calculator, and even dynamic embedding of one price position (payment by bank card). Thus, you can very flexibly configure the final calculation of the cart, with almost no restrictions on the possibility.
There are text variables at the bottom (my site is in two languages). You can replace them with your own text.

shop 2

3. The third tab is responsible for the email message. At the top there are two fields of text inserts for the email design. Below the E-mail field, you can enter several addresses separated by commas. Then there is the subject of the message. As in the component itself, you can add replacement variables to the subject: {replacerName}, {replacerId}, {replacerDate}.

shop 3

4. The fourth tab develops the functionality of the shopping cart. It includes an interface for downloading files and discounts. To activate the file upload, you need to enable the "upload files to the server" option in the global settings of the component. After that, this functionality will be available. And how to attach files: at the bottom of the cart or in each item. In my example, the files are attached at the bottom, but sometimes it is necessary to attach files to each product. For example, for a printing products store, because layouts are attached to each product.

In the latest versions of this component, downloading files is not related to the functions of the engine, it is an independent process. Therefore, there will be no unexpected surprises and restrictions. Files can be filtered with a white list or not filtered. In the latter case, the plugin will load any, except those that are dangerous for the server and the site. You need to understand that the file is safe for the server, it may not be safe at all after you have downloaded it to your computer and launched it. However, this applies to any files from the Internet.

To activate discounts, just fill in the appropriate field. At the same time, a discount from the total amount, a discount on a promo code, or both will appear in the cart. The discount on the promo code takes priority and suppresses the discount from the amount. The description is in the component itself.

shop 4

5. The last tab includes additional settings. Here you can choose whether to record order statistics in the database. Make a redirect to a specific page after the order.Also, fill in the text of the message that the user will see after the order is sent. You can use substitution variables in the message.

shop 5

As a recommendation, I can advise you to always use a mini-cart on the product pages, even if the store operates without it. Do not use the built-in default.css style file. It will be overwritten during the update, and your edits will fly off. Create your own css file in the same folder, copy the styles and edit them. The selection of this file will be available in the settings.