Knowledge Base
Shopping Cart Software Online Manual
Directory Structure
Custom Script Slots Preferences Files
Location Home > Developer's Guide > Document Structure

Directory Structure

this article last updated: May 27, 2010
Due to inevitable changes that will be made to the shopping cart software over time, the cart's variable and database structure may change from time to time without advanced notice. We will attempt to keep the information in this article up-to-date, but Modular Merchant makes no guarantee as to the accuracy of the information provided in this article. Use this information at your own risk.

In addition to the core shopping cart software PHP, JavaScript, CSS and XML files, the MMv4 installation will include a number of subdirectories. Following is a definition of those directories.

  • affiliates
    Redirects to aff_login.php
  • ajax
    Contains files called by AJAX scripts. Similar to "includes", but specific to AJAX functionality.
  • api
    Contains various files that will be called from remote locations. Unlike cron jobs, the files in the API directory don't need to execute, so this directory should not need to be chmod 777. The files in the API directory will receive $_POST and $_GET requests like normal web pages, and will respond with text/HTML/XML output.
  • basket
    Redirects to basket.php
  • checkout
    Redirects to checkout.php
  • cron
    Contains scripts that need to be run autonomously on a regular basis. These scripts are usually run by the server (Apache), but sometimes need to be run manually within a web browser (usually for debugging purposes). As such, it is very important that this directory and its contents are chmod 777. Cron jobs typically do not output any text/HTML/XML content when run.
  • cstm
    Contains any custom scripts specific to the client's account. This directory does not contain any actual standard MM software files, so its contents will be left untouched during software updates. The "txt/CSTM_xxxxx.php" files from previous versions of MM will be located in this directory as of MMv4.
  • customers
    Redirects to cmr_login.php
  • design_packages
    Contains the various Design Packages installed in the account. Since the Design Packages can potentially be edited both via FTP and the administration area GUI, the Design Packages should be chmod 777. This will prevent permission errors by FTP when the DP files have been updated using the administration area GUI, and vice-versa.
  • digital_objects
    Contains any downloads being sold by the client. Previous to MMv4, this directory was titled "uploads".
  • download
    Redirects to digital_delivery.php
  • fonts
    Contains various fonts that are required for the generation of PDF files. (Is this directory necessary anymore?)
  • gateway third_party
    Expanded version of the previous "gateway" directory. Contains the APIs for various payment gateways. The gateway APIs are located here for convenience, since they seem to require a lot of ongoing maintenance. APIs for other third party services, such as shipping services, fulfillment companies, etc., will also be stored in this directory.
  • img
    Contains the image files used be the Modular Merchant software.
  • images
    Contains image files uploaded by the client. It has not yet been determined if all of the client's images will be located in this directory, or if options to create subdirectories within it will be provided. NOTE: Images related to Design Packages are located in the Design Package's directory. The "images" directory contains all the other images uploaded by the client, such as product images.
  • includes
    Contains files that are used by multiple files, such as functions, classes, javascript, etc.
  • label_editor
    Contains the software components related to the Label Editor application. Note: The XML files generated by the Label Editor are uploaded to the "txt" directory.
  • language_packages
    Contains a subdirectory for each language pack. (Currently just english.) The language packs will include the content for each error message that is displayed in the storefront. Saved in XML format.
  • logs
    Contains logs generated by the MM software. These logs will record activity, warning and/or errors generated by the software. These logs are meant for assisting MM tech support. It has not yet been determined if the client will have access to these log files within the store admin GUI.
  • prefs
    Contains prefs files for each admin account. The data stored in the prefs files will be in XML format. Each admin will potentially have a separate prefs file for each section of the administration area.
  • txt temp
    Contains various custom and temp files that are written/rewritten on a regular basis. Since the files in this directory are created and edited on a regular basis, it is important that this directory be chmod 777.
  • xml
    Contains various XML documents used by the system. These XML documents may the result of data generated by API calls. Sample XML documents include: System Setting preferences, Support Ticket history, recent sales history, client's billing history, etc.


  • admin
    Redirect to the admin area no longer needed, since login is done on the Modular Merchant website.
  • category
    SEO-Friendly URLs make this redirect obsolete.
  • custom_code
    Custom code now resides in the "cstm" directory. (This includes the CSTM_xxxxx.php files previously located in the "txt" directory.)
  • manufacturer
    SEO-friendly URLs make this redirect obsolete.
  • product
    SEO-friendly URLs make this redirect obsolete.
  • tutorials
    Content moved to the "includes" directory.
  • uploads
    Renamed "digital_objects".

— Last Edited - 05/27/2010 9:39pm PDT
Rank and add a comment to this article
Only logged in users may leave comments and rank articles. Log in to have your say!
  Knowledge Base Home

  QuickCode™ Tag Glossary

  Modular Homepage

Not Logged in.
Either Log in or create a User Account.

Other articles in this category...

Custom Script Slots

Directory Structure

Preferences Files