List of requirements and procedure for installation for Quick.Cart on your server.
Requirements
For our scripts to work properly, your server should meet the following requirements:
- handle PHP scripts (PHP version 5.2.0 or higher - how to check the php version of my server).
- enabled mail() function, required for sending e-mail. If the e-mail sending is not working correctly or mail() function is to be disabled, then clear the "Administrator email" field in the settings.
- enabled allow_url_fopen option, required for "Check for fixes" and "Plugins" functions.
Basic requirements for proper adding of photos:
- installed gd2 library (how to check GD library availability),
- uploaded photos shouldn't be larger than 2000px (longer side).
Uploading scripts on your server
Unpack the script's zip archive and follow one of the two options:
- Run the script on your computer using the XAMPP, WAMP or EasyPHP server. We recommend that you prepare and test the website this way.
Don't know how to create your own local server? Read the instruction on how to install a local server.
- Run the script on an external server. We recommend that you test the script and upload a finished website this way.
- in the program you use to execute the FTP connection, set the transfer mode to binary,
- change permissions (CHMOD) to 777 (or: rwxrwxrwx) for:
- "database" directory including all sub-directories and files in it,
- "files" directory and all sub-directories and files in it.
For better security use the 700 permissions for the above directories and subdirectories, and 600 for files, then check if the script is working correctly. If not, restore the permissions to previous settings. Read the instruction to change permissions.
After upload
If your server meets all of the above requirements and you have uploaded all the files:
- open your website to see the home page,
- add the admin.php phrase to your home page address (e.g. www.your-address.com/admin.php) to go to the administration login page,
- default administration panel login data are:
- login: admin
- password: admin
- After uploading the website, make sure to change the "admin.php" file name to something else, like: "9d0333.php". When this change is done, the administration panel's address in your browser will be www.your-address.com/9d0333.php. Don't share this address with anyone - it will make it much harder to hack your website.
- For versions v6.2 and higher, edit the "database/config/general.php" file, find the $config['admin_file'] variable, and replace its value "admin.php" with the new file name, which in this case is "9d0333.php".
Read more in the "Security" section.
User's manual - first steps
Go to the user's manual we've prepared so you can learn step by step how to manage your website.
Turning options on and off
Disabling selected plugins
Some options available in the paid edition can be disabled. Disabling options you don't use can have some significant benefits:
- it makes the script run faster
- forms are clearer since there are no redundant options
- it allows to block clients from managing options they shouldn't have access to. For instance when a webmaster installs certain plugins and doesn't want clients to install any other for security and design reasons.
Functionalities that can be enabled and disabled are set in the "database/config/general.php" file and stored in the $config['plugins'] table. For instance to disable the plugin installer, change:
$config['plugins']['plugins'] = true;to
$config['plugins']['plugins'] = false;
Hiding advanced options
available since version v6.3Additionally in the paid edition in the admin panel you can hide / block some options, changing which may cause the website to display incorrectly or even crash.
To hide a chosen field/option/tab, select a proper variable from the list below and paste it in the "database/config/general.php" file below the variable:
$config['hide_theme'] = true;
To restore a specific field/option/tab, remove the corresponding line, comment it or set it to null (changing true to false or any other value will not have the desired effect).
Developer's mode
Developer's mode allows webmasters to enable all hidden options and functions listed above for a chosen IP. It is useful especially if you want to change something in the admin panel, and the option that needs to be modified is hidden from other admin panel users.
To go to developer's mode, in the "database/config/general.php" file paste the following variable:
$config['developer_mode_for_ip'] = '1.1.1.1'; // where 1.1.1.1 is the IP address, logging from which will allow access the developer's mode
Initial configuration
Installation of plugins
First use the plugin manager to install required options.
Note! It's not a good idea to install in advance plugins you don't need now, but you think you might use sometime in the future. It might have a negative influence on the script's performance, and also cause the administration panel to be less clear due to large number of fields and options in forms.
Configuration file
The "database/config/general.php" file contains some configuration variables, that are not accessible from the administration panel. It's a good idea to think about settings of those options before developing a website. It will influence functioning of the script, its efficiency etc.
The most important variables are:
- $config['allowed_ips_admin_panel'] - available since version v6.4 - contains list of IP addresses from which logging in to admin panel is allowed. To add this variable edit the configuration file and paste the following code:
$config['allowed_ips_admin_panel'] = Array( '1.1.1.1', '2.2.2.2' ); // 1.1.1.1 and 2.2.2.2 are IP addresses, from which one can log in to admin panel
If you want to define only one IP address, change the variable's value to Array( '1.1.1.1' ); If you want to add more than two addresses, separate each new address from previous ones using a comma. - define( 'DEVELOPER_MODE', true ); - available since version v6.5 - when this option is enabled, the script will display all possible errors in the PHP code and incorrect permissions for files. Once the website is published, disable this option by changing it to //define( 'DEVELOPER_MODE', true );
- $config['language_in_url'] - if you're planning on creating a multilingual website, then we recommend setting this variable to true.
- $config['products_full_description_to_file'] - if your shop will have lots of products (e.g. 1000 and more ), we recommend setting this variable to true. Full descriptions will be saved in files in the "database/products/" directory, what will accelerate the script significantly, but searching products by their full descriptions will be impossible. EXT edition allows for searching by descriptions located in the "database/products/" directory by setting the $config['search_in_files'] variable to true. It will however mean a heavy server processor load. So if the server load is too heavy, it will be necessary to disable searching by descriptions option.
- $config['pages_full_description_to_file'] - if your site will have lots of text (e.g. 200 and more pages and subpages), we recommend setting this variable to true. Full descriptions will be saved in files in the "database/pages/" directory, what will accelerate the script significantly, but searching pages by their full descriptions will be impossible.
- $config['images_sizes'] - set the seize of miniatures, that will be displayed in lists and page details as well as products. There are 3 default sizes of miniatures in the script: 100, 150 and 200 (in pixels (px)). When generating a miniature the script shrinks an image so that its wider side has the chosen length. So if a 100 miniature is chosen for a 800x600 picture, it will be shrunk to the size of 100x75.
- $config['thumbs_ratios'] - set additional options for image cropping. For example, if you want to add 3:2 cropping (longer to shorter side ratio is 0.666), add the following to the variable: , '0.666' => '3:2'
- $config['products_default_image_size_list'] - set default miniature 1 size for products (by default displayed in lists)
- $config['products_default_image_size_details'] - set default miniature 2 size for products (by default displayed in details)
- $config['products_default_image_location'] - set default image location
- $config['pages_default_image_size_list'] - set default miniature 1 size for pages (by default displayed in lists)
- $config['pages_default_image_size_details'] - set default miniature 2 size for pages (by default displayed in details)
- $config['pages_default_image_location'] - set default image location
- $config['default_subpages_show'] - set default subpages display type
- $config['promoted_products_elements'] - available since version v6.4 - set product elements that will be displayed for promoted products. Elements may be given in any order. For more information go to elements for pages and products»
- $config['default_boxes_product_elements'] - available since version v6.4 - set default product elements that will be displayed in a "display product" type box. Elements may be given in any order. For more information go to elements for pages and products »
- $config['default_boxes_page_elements'] - available since version v6.4 - set default page elements, that will be displayed in a "display page" type box. Elements may be given in any order. For more information go to elements for pages and products »
- $config['max_dimension_of_image'] – this table stores maximum width of additional image. If the image is larger than the value in this table, it is resized to fit this value.
- $config['time_diff'] - if there is a difference between local time and time on the server, you have to set it in minutes to compensate, for instance if the server is 1 hour late, than set this variable to "-60".
- $config['date_format_admin_default'], $config['date_format_admin_orders'], $config['date_format_customer_orders'], $config['date_format_customer_comments'] - available since v6.2 - define date display format depending on the variable's value. Name of the variable specifies locations where dates with format determined by the variable will be displayed. Date format can take the same values as the date() function parameters.
- $config['image_preview_size'] - size of the larger side of the picture preview in the product details. If you want to turn this option off, set this value to null
- $config['max_product_quantity'] - max number of items of a given product allowed per one order
- $config['order_details_from_customer'] - if the variable is set to true, then the sender of the e-mail with the order details sent to the administrator will be the client
- $config['cache_bestsellers'] - if the variable is set to true, the bestsellers will be saved in the cache and refreshed every 24 hours. It decreases server's load
- $config['show_vouchers_form'] - if the variable value is set to true, the discount vouchers entering field will be displayed
- $config['dir_*'] - tables, which keys start with "dir_", store information about folders like databases or files. You can change the names before releasing your website to protect your site from hackers, for example.
- $config['style'] - this variable contains style name. If you want to develop your own style, change value of this variable.
- $config['gallery_columns'] - number of columns in which pictures are to be displayed in the top/bottom format or number of subpages in the image gallery format.
- $config['related_columns'] - this variable determines number of columns in which products related to the viewed product will be displayed
- $config['show_order_details_link'] - if you want your clients to be able to view product details after placing an order via a special link, set this parameter to true
- $config['page_link_in_navigation_path'] - available since version v6.3 - if a variable is set to false, name of the currently browsed page in the navigation path will not be a link
- $config['change_language_to_polish'] - available since version v6.3 - if the variable is set to true, and the browser's language is set to polish, and the language of the admin panel wasn't set by an admin, the language of the admin panel will be automatically changed to polish.
- $config['hide_theme'] - available since version v6.3 - hides theme select field. The null value restores this field.
- $config['hide_thumbnails_2'] - available since version v6.3 - hides thumbnail 2 size select field. The null value restores this field.
- $config['display_lang_preview_link'] - available since version v6.3 - if the variable is set to true, a link to a page preview next to the page name in the page list in administration (magnifying glass icon) includes a language parameter
- $config['display_homepage_name_title'] - available since version v6.4 - displaying page title on homepage
- $config['max_textarea_chars'] - available since version v6.3 - set maximal length of a textarea field
- $config['max_text_chars'] - available since version v6.3 - set maximal length of form fields
- $config['allowed_extensions'] - available since version v6.5 - a list of accepted file extensions, which the script will allow to be uploaded to a server. Be very careful when adding new extensions to the list.
Also remember to:
- remove languages you don't use.