Encapsulated Plugins

Encapsulated plugin architecture and implementation guidance

In Zen Cart v1.5.7, a Plugin Manager was added to begin allowing support for Admin-Only plugins using the new architecture. This support has been incrementally improved in Zen Cart 1.5.8, 2.0.0 and 2.1.0, now providing support for storefront plugins as well.

The plugin architecture allows plugins to be encapsulated into a hierarchical directory structure that mimics the Zen Cart directory structure. As such, plugin files no longer need to be placed within the various Zen Cart core directories, but rather exist in directories below a zc_plugins directory.

The admin’s Modules :: Plugin Manager page allows for the plugin to be installed/un-installed and enabled/disabled.

Note: If your site is running a version of Zen Cart prior to 2.1.0, you’ll need to apply these changes to some ‘core’ files for storefront/catalog plugins to operate correctly. See https://gist.github.com/lat9/9deb64d3325081d18bb0db5534bcf142.


Encapsulated Plugin Directory Structure

Directory layout and naming conventions for encapsulated plugins

Encapsulated Plugin Manifest Files

Defining manifest files for encapsulated plugins

Encapsulated Plugin Installer Language Files

Adding installer language files to encapsulated plugins

Encapsulated Plugin Installer Classes

Using installer classes in encapsulated plugins

Encapsulated Plugin Class Autoloading

How class autoloading works in encapsulated plugins

Encapsulated Plugin SQL Installation

Using SQL files and installer logic in encapsulated plugins

Converting a Plugin to the Encapsulated Architecture

Converting an older plugin to the encapsulated plugin architecture

Upgrading Encapsulated Plugins

Upgrading encapsulated plugins between released versions

Last modified May 27, 2026 by Ian Wilson (e07ac859).