Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Mind these directories are relative to the application folder. These are different for Wordpress, Joomla and Magento. See where they are in this article.

/assets

This folder contains all JS, CSS and images of the application (mind there is a separate location for customization assets).

in /assets/javascript/ you find CB's AMD modules. CB and Kenedo use require.js for AMD functionality.

in /assets/css/ you find stylesheets that CB uses. Note that in CB, views choose which stylesheets are loaded and there is a general and many view-specific stylesheets. 

...

Important note: Loading of assets is designed for use in CDNs and with Far-Future-Headers. Assets are loaded with cache-busting query strings, which can be controlled in CB settings (since CB 3.1.2, see CB settings at 'Analysis and Debugging'). For Apache, there are .htaccess files in place, for nginx or others you must make settings yourself.

...

Each file represents a controller and is named via a naming convention (controller name cart is in file cart.php containing the class ConfigboxControllerCart).

See KenedoController for details on controllers.

/

...

This folder contains 3 things:

  • customization: Customization code and assets. See the dedicated section lower in this articles for details.

  • customer: All dynamic customer data (like uploaded files, generated quotations, invoices etc). There are subfolders 'public' and 'private' (private must be non-accessible via HTTP)

  • store: All dynamic store data (like product images, shop logo etc). There are subfolders 'public' and 'private' (private must be non-accessible via HTTP)

Important note: For Apache there are .htaccess files for protecting the private folders. For nginx and others you must make your own server settings.

Important for customizations: When you build customizations that create files, keep them in customer or store in the appropriate 'public' or 'private' subfolder. There, place a folder called 'custom_media' to avoid collisions with future core file locations.

/external

This folder contains 3rd party libraries for CB and also Kenedo (CB's framework). Kenedo uses it's own external lib folder in (/external/kenedo/external).

...

Contains .ini files for localization of system texts. There is also a folder and file for overrides. See Custom Wording and Translations for details on localization and custom wording.

...

See details on KenedoModels in the article KenedoModel.

/observers

ConfigBox uses the Observer Pattern for appending and manipulating common data during various events. There is also a folder for custom observers, which are called 'Connectors'. See the article on Custom Connectors.

/psp_connectors

This folder is home to all PSP (payment service provider) integrations. 

...

Instances of a KenedoView are returned by KenedoView::getView($viewClassName). Since CB 3.1.2 you get regular instances (no longer via singleton pattern).

See the comprehensive article on KenedoView.

...

Customization dir

This folder holds the entirety of customization files for CB. The location of that directory depends on the platform (Joomla/Wordpress/Magento). See Filesystem directories for ConfigBox . The following paths are relative to the customization directory.

In your customization code, you can get the path to this location with this method.

...

See articles on Custom CSS styling and Custom JavaScript for adding your own stylesheets and JavaScript files. For JS, we recommend using AMD JS Modules .

/calc_term_types/

This is the location for custom calculation terms. This is an experimental feature and bound to potential removal or breaking changes. The feature aims to enable custom calculation logic in the calculation formula editor. Rovexo is in the process of collecting implementation experience in customization projects before finalising API specs and will fully document this feature.

...

This is the location for custom KenedoControllers. They work exactly the same as built-in controllers. See above and in article KenedoController.

Developers must ensure that no naming collisions occur. We recommend using prefixes to your controller names.

...

This is the location for custom observers (called 'Custom Connectors' in user interfaces). Compare with built-in observers and in article Custom Connectors

/language_overrides

Here you place overrides to the localized wording of CB system texts and add localization of your customization's text output. See infos on core folder /language and the article on Custom Wording and Translations.

/model_property_customization

...