Manual for Quick.Cart.Ext v6.6 and v6.7

Requirements and installation

List of requirements and procedure for installation for Quick.Cart.Ext on your server.

Script's requirements - servers

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. Does not apply to free Quick.Cart

Basic requirements for proper adding of photos:

Uploading scripts on your server

Unpack the script's zip archive and follow one of the two options:

  1. 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.

  2. 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.

Script's requirements - browsers

To have the administration panel work properly, learn about minimal requirements for a browser. Minimal window width: 1280 pixels, minimal version: Firefox 32, Chrome 37, Opera 12, Internet Explorer 11, Java Script and cookies management enabled. We don't recommend removing cookies after closing a browser.

Running the script

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
    Note! After first login make sure to go to settings and change login and password.
  • After uploading the website, make sure to change the "admin.php" file name to something else, like: "5fc7c9.php". When this change is done, the administration panel's address in your browser will be www.your-address.com/5fc7c9.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 "5fc7c9.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 Quick.Cart.Ext can be disabled. Disabling options you don't use can have some significant benefits:

  1. it makes the script run faster
  2. forms are clearer since there are no redundant options
  3. 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

Additionally 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;

  • $config['hide_language_delete'] = true; // hides buttons that delete translations.
  • $config['hide_main_page_add'] = true; // hides the option to add pages to top or left menu.
  • $config['hide_backup_restore'] = true; // hides the option to restore backup copies of database.
  • $config['hide_boxes_delete'] = true; // hides buttons to delete boxes.
  • $config['hide_plugins_install'] = true; // hides buttons to install plugins.
  • $config['hide_main_page_delete'] = true; // hides the option to delete parent pages that have, for example, subpages.
  • $config['hide_settings_tab_pages'] = true; // hides the "Pages" tab in settings.
  • $config['hide_settings_language_url'] = true; // hides the field with the option to choose whether a language parameter is to be displayed in URL's.
  • $config['hide_settings_items_list'] = true; // hides fields to choose number of subpages, news and images in gallery per page.
  • $config['hide_settings_skin'] = true; // hides the skin select field.
  • $config['hide_settings_crop_thumbnail'] = true; // hides the thumbnail crop ratio select field.
  • $config['hide_settings_dynamic_meta_description'] = true; // hides the dynamic meta description choice field.
  • $config['hide_settings_basket_summary'] = true; // hides the basket summary visibility choice field.
  • $config['hide_settings_products_comments'] = true; // hides the option to change product comments visibility.
  • $config['hide_settings_tab_payments'] = true; // hides the "Payments" tab in settings.
  • $config['hide_settings_subcategory_products'] = true; // hides the option to change whether products from a subcategories are to be displayed in their parent categories.
  • $config['hide_settings_sort_products'] = true; // hides the option to change visibility of sorting products option.
  • $config['hide_settings_remember_basket'] = true; // hides the option to change visibility of the "Remember basket" option.
  • $config['hide_cart_options'] = true; - hides cart functions in the admin panel, useful if the shop is to function as a "product catalog"
  • $config['hide_page_menu_name'] = true; - hides the "Name in the menu" field in the page form.
  • $config['disable_settings_logo'] = true; // blocks the "Logo" field in settings.
  • $config['disable_settings_slogan'] = true; // blocks the "Slogan" field in settings.
  • $config['disable_settings_footer'] = true; // blocks the "Foot info" field in settings.
  • $config['display_editing_options'] - allows to go to page/product form or delete it client-side. If you want to disable this option, set this variable's value to null.

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

"database/config/general.php" and "database/config/lang_pl.php" files contain 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'] - 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 ); - 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'] - 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'] - 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'] - 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'] 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'] - 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'] - 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'] - hides theme select field. The null value restores this field.
  • $config['hide_thumbnails_2'] - hides thumbnail 2 size select field. The null value restores this field.
  • $config['display_lang_preview_link'] - 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'] - displaying page title on homepage
  • $config['max_textarea_chars'] - set maximal length of a textarea field
  • $config['max_text_chars'] - set maximal length of form fields
  • $config['allowed_extensions'] - a list of approved file extensions, which the script will allow to be uploaded to a server. Be very careful when adding new extensions to the list.
  • $config['disable_pages_in_sitemap'] - available since version v6.7 - List of id's of pages, that are to be displayed on a sitemap. If you want to keep some pages from showing on a sitemap, name them in this variable in the following way Array( 7 => true, 32 => true ). In this example pages with id 7 and 32 and their subpages will be blocked.
  • $config['disable_pages_in_sitemap_xml'] - available since version v6.7 - This variable contains the list of page id's, that are not to be displayed on the Google sitemap (sitemap.xml). If you want some pages not to show on that map, put them in this variable in the following format Array( 7 => true, 32 => true ). In this example pages with id 7 and 32 and their subpages will be blocked.

Also remember to:

  • remove languages you don't use.
o nas | kontakt