[PMP] - Products module pack

[PMP] - Products module pack
I'm tired of converting the description to bbcode every time. Therefore, the description will be in Google Docs.
PMP creates modules for displaying products and uses different data sources for them (latest products, special, bestsellers, etc.). In addition to the global mode (which is implemented in the standard modules of the engine), absolute and relative modes are implemented in PMP.

For example, "Latest from the selected category/manufacturer", "Latest from the current category/manufacturer", "Latest from the same category/manufacturer as the current product". Details below.

Operating modes
Data sources (latest products, special, bestsellers, etc.) can work in three modes. Let me explain using the example of the "Latest" module:
Absolute and Global modes

  • Latest products from manually selected categories / manufacturers. This is Absolute mode.
  • If you don't select any category/manufacturer, it will be Global mode, like the standard latest products module.

Depends on manually specified parameters. You can specify both the category and the manufacturer at the same time.
Relative Mode

  • Latest products of the current category / manufacturer (where the module is located / visited by the user). This mode also works on the product page, it can take into account both the category and the manufacturer of the product at the same time.
  • If the module is placed on the main page or any other place where it has nothing to cling to (product, category, manufacturer), then the module will work also in Global mode.

Depends on the location of the module. If you place the same module of latest products at the same time on the page of categories, manufacturer and product, then it will show different sets of products on each page. An example is in the demo.
Data sources
Absolute, Relative, Global:

  • Latest;
  • Bestseller;
  • Products with discounts;
  • Special;
  • Products with bonus points;
  • Random products;
  • Most viewed products;
  • Most discussed products.


  • Your SQL query;
  • Your PHP code.


  • Hand-picked items.

Other features

  • It is possible to invert the selection for absolute/relative data sources. This means that products NOT included in the current selection will be selected.
  • There is a choice of product status, quantity, sorting, mixing of goods, and caching.
  • The module supports template compatibility mode. This means that in 99% of cases, you shouldn't worry about adapting the module to the design template. This mechanism works by replacing products in the standard "Recommended Products" module. Uses the event mechanism, works without injection into files.
  • The module also implements the ability to replace the template (tpl / twig) with your own. This will allow you to display products in any desired form, be it a slider / swiper, etc. This feature also works in compatibility mode.

In total, we have (16 (absolute + relative) * 2 (sample inversion)) + 8 (Global) + 3 (Additional data sources) = 43 product sampling options. You can also multiply the result by the number of your options for settings.


  • OpenCart / ocStore 2.3, 3.x, 4.x.
  • Version for 4.x is alpha. Works perfect, but has usability issues.

  • https://pmp.shth.me/admin/ (auto login)

  • https://pmp.shth.me/

The demo site has a top menu for quick navigation.
Description of the demo site
There are 3 modules created on the demo site:
Most Viewed - Absolute | Most viewed - Absolute
  • Selected manufacturer Apple. Posted on the main page only.

New - Relative | Latest - Relative
  • Placed on the pages of categories, manufacturers, products, and the main page. There is nothing to cling to on the main module (product, category, manufacturer), it selects new items from the entire store (Global mode).

Custom PHP code | custom php code
  • Placed on the products page, it always displays the same products (3 products).

  • Install the extension through the standard extension installation section.
  • Go to the modules section and install the "[PMP] Products module pack" module.

The module is simple, no manual is required, everything is in the description and hints.
If you have any questions, write to the support thread or send a private message.
  • The license covers one shop / multishop.

Description of files and checksums
  • pmp_v1.2_oc_v2.3.ocmod.zip for versions 2.3 a30eb76e67f304b923f2b2d1310dbabc
  • pmp_v1.2_oc_v3.x.ocmod.zip for versions 3.x 1142d2954bdc4cb96486e9e216e6678b
  • pmp.ocmod.zip for versions 4.x 6f22880d8def8eaeb2523c8a78cdf9c3

In progress
  • Similar products algorithm using clustering - DBSCAN / DBSCANPlus. Similarity is determined by the name, common attributes, and categories. Cosine similarity and a modified Sørensen measure are used.
  • Collaborative filtering algorithm for the formation of personal recommendations to users. Used by DBSCAN / DBSCANPlus. Based on previous orders and reviews.

UPD There are significant delays due to known events.
See also
  • Custom templates Pro - a module that replaces tpl / twig templates for any sections and modules, depending on the conditions.
  • Extended layouts - extends the functionality of the standard layout mechanism, allows you to control the visibility of modules depending on the conditions.
  • FSMonitor - File system monitoring - the module monitors new, modified, and deleted site files of your site.

Other modules and services tagged "Flexibility".

  • Fixed a module caching feature bug where only one relative module variant was cached.
  • Fixed an error in the directory when a route is missing.
  • Fixed a bug in the PHP code of the random product model.
  • Fixed a bug in the SQL code of the most viewed products model.
  • Fixed an error using a non-existent twig variable in the admin form.

New functions

  • Added support for selection by quantity and status of goods.
  • Switching to the event mechanism, abandoning ocmod. Instructions for updating are in the support topic.


  • Added a button for quick navigation through already created modules.
  • Custom SQL / PHP have different tooltip styles.
  • The Compatibility Control block is highlighted in a different color.
  • added a display of the current version in the panel header.
  • When you turn on compatibility mode, not only the controller changes, but also the template.


View all my modules on the marketplace. Modules tagged "Flexibility".


  • Developed by OpenCart Community
  • 12 Months Free Support
  • Documentation Included



Last Update
29 Jan 2024

13 Jul 2022
0 Sales
Member since: 22 Dec 2012

View all extensions Get Support