SAAS Platform News BooStore.pro CMS
Updates on the platform for creating sites and online stores BooStore.pro

Updates and News

Added fetchpriority parameter for managing product image loading

The BooStore.pro platform has introduced a new image loading control parameter — fetchpriority. The settings now include an extended set of modes that allow flexible control over how and where images are loaded on the website.







What has changed

The system now provides extended parameters that allow you to:

  • enable or disable loading="lazy"
  • control adding image dimensions (width/height)
  • enable fetchpriority="high" for priority loading (new parameter)
  • set different modes separately for product pages and product listings
  • fully disable or combine parameters

What are lazyload and fetchpriority

Lazy Load (loading="lazy") is deferred image loading. Images are loaded only when the user scrolls to them. This reduces the initial load and speeds up page rendering.

Fetch Priority (fetchpriority="high") is priority image loading. The browser receives a signal that a specific image (for example, the main product image) should be loaded before other resources. This is especially important for LCP elements.

Full flexibility of control

The new parameters allow combining modes and precisely configuring the loading strategy:

  • enable lazyload only where necessary
  • add image dimensions to prevent CLS
  • assign fetchpriority to main images
  • separate settings for product listings and product pages

Why this is important

Flexible image loading control allows you to:

  • speed up page rendering
  • improve LCP and CLS metrics
  • increase Google PageSpeed scores
  • reduce server and browser load
  • improve behavioral factors

Now BooStore.pro provides full flexibility in image loading management for maximum website performance and improved Google PageSpeed results.

Additional horizontal menu with categories and manufacturers added to BooStore.pro

A new type of horizontal menu with categories and manufacturers is now available on the BooStore.pro platform, improving navigation.

The main feature of this update is the expansion mechanism: child subcategories open within a common block as a dropdown list, without overlapping the main content or extending beyond its borders. Intelligent positioning ensures that the menu block always remains within the visible area and does not go beyond the boundaries of the user's screen.







The SaaS platform BooStore.pro fully abandons the external jQuery library and has already completed a full refactoring to pure JavaScript.

BooStore.pro have completely abandoned Jquery

BooStore.pro have officially completed a full removal of the Jquery library from the system core. All internal scripts, interface components, and platform widgets have been migrated to pure Vanilla JavaScript. This strategic decision is the result of a large-scale technical modernization aimed at improving website speed, stability, and security.


Why Jquery was a standard for many years

For decades, Jquery remained the foundation of frontend development for most websites. During the rapid evolution of the web, browsers differed in JavaScript support, and there were no convenient methods for working with AJAX, events, DOM manipulation, and animations. Jquery solved several problems at once:

  • Code unification across different browsers
  • Simplified selectors
  • Convenient AJAX handling
  • A large number of UI plugins
  • Faster interface development

At that time, it was truly necessary. Without Jquery, building complex interfaces required significantly more time.


Why Jquery is no longer needed today

Modern browsers fully support native JavaScript. Now we have:

  • Fetch API instead of $.ajax
  • querySelector / querySelectorAll instead of $()
  • classList for class management
  • addEventListener with delegation
  • CSS animations and transitions instead of JS animations
  • Modern ES6+ standards

What previously required a third-party library is now built directly into the language and supported 100% in all modern browsers.

An additional library has become unnecessary overhead:

  • Increases page size
  • Slows down loading
  • Creates risks of conflicts with other scripts
  • Complicates maintenance

The scale of the work completed

The BooStore.pro team carried out extensive refactoring. The following were completely rewritten:

  • Administrative panel
  • System widgets
  • Catalog filters
  • Modal windows
  • AJAX mechanisms
  • Interactive template elements

All code was migrated to pure Vanilla JavaScript without using third-party frameworks. This made it possible to:

  • Reduce client-side load
  • Speed up interface performance
  • Improve compatibility
  • Simplify maintenance and scaling

Important

Jquery has been completely removed from the system core.

Only connect the library in extreme cases — if you need to run an old third-party plugin that has no pure JS equivalent.

In all other cases, it is strongly recommended to use Vanilla JavaScript.








How to connect Jquery if necessary

If the library is still required for objective reasons:

  1. Create a Block or Menu
  2. Place it in “Service tags”
  3. Set it to display on all pages
  4. Add the following code:
Code: HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>

Migration from Jquery to Native JavaScript


Selecting elements (Selectors):
Code: JavaScript
// Jquery

$(".my-class");

// Native JS

document.querySelectorAll(".my-class");

Click events and delegation:
Code: JavaScript
// Jquery

$(document).on("click", ".btn", function() { ... });

// Native JS

document.addEventListener("click", function(e) {

if (e.target.closest(".btn")) { ... }

});

AJAX requests:
Code: JavaScript
// Jquery

$.ajax({
url: "/api",
method: "POST",
data: { id: 1 }
});

// Native JS

fetch("/api", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ id: 1 })
}).then(response => response.json());

Working with attributes:
Code: JavaScript
// Jquery

$(el).attr("data-src");

// Native JS

el.getAttribute("data-src");

Working with classes:
Code: JavaScript
// Jquery

$(el).addClass("active");

// Native JS

el.classList.add("active");

Show and hide:
Code: JavaScript
// Jquery

$(el).toggle();

// Native JS

el.style.display = (window.getComputedStyle(el).display === "none") ? "block" : "none";

Why abandoning Jquery is strategically important

The modern web is moving toward performance, minimalism, and native standards. Abandoning outdated dependencies means:

  • Better Core Web Vitals metrics
  • Faster loading speed
  • Fewer conflicts and bugs
  • Cleaner project architecture
  • Readiness for further scaling

Today, Vanilla JavaScript fully covers all needs — from complex AJAX mechanisms to dynamic UI and interactive interfaces.

BooStore.pro have taken a technological step forward by completely updating the platform’s frontend architecture. This is an investment in performance, stability, and the future of the system.


Conclusion

Jquery played an important role in the evolution of the web. But its time has passed.

BooStore.pro have fully transitioned to pure JavaScript, ensuring a modern, fast, and technologically up-to-date standard for website operation.

Use Vanilla JS — it is faster, safer, and more professional.

BooStore.pro Updated to TinyMCE 8 and Other System Plugins

We are pleased to announce a major technical update to the BooStore.pro platform. The main goal of these changes is to increase interface speed, ensure modern compatibility, and implement our strategy for a gradual, complete transition from the jQuery library to native solutions.







New TinyMCE 8 Editor in Pure JavaScript

The visual content editor has been updated to TinyMCE 8. The key feature of this update is that the editor now runs on pure JavaScript (Vanilla JS), without external dependencies.

  • Instant Loading: The absence of heavy libraries allows the editor to initialize significantly faster.
  • Stability: More predictable code behavior and no conflicts with other scripts on the page.
  • Modern Interface: Improved ergonomics and support for the latest web development standards.






Table Responsiveness: hotengine_mobile_table Plugin

We have completely redesigned the script for displaying tables on mobile devices. A new plugin, hotengine_mobile_table, was developed specifically for BooStore.pro.

Working with data has now become even more flexible:

  • Automatic transformation of tables to fit smartphone screen sizes.
  • Full Control: We have retained the ability for users to manually enable or disable mobile view for each specific table in the settings.

Smart Update for Widgets and Owl Carousel

Updates also affected system widgets, with a strong focus on resource optimization:

  • Intelligent JQuery Owl Carousel Loader: The carousel script now independently checks for the presence of jQuery in the system. The library will be loaded in the background only when absolutely necessary, significantly saving traffic and speeding up page rendering for most users.
  • Minimizing Dependencies: Widgets are systematically being migrated to modern data processing standards.

These updates are another step toward a faster and more modern BooStore.pro. We continue to optimize the code, making the platform lighter and more technologically advanced.

On the BooStore.pro platform, jQuery FlexSlider has been replaced with pure JavaScript

On BooStore.pro, the slider has been migrated to a proprietary software component — HotengineSwiper. This solution replaces the outdated jQuery FlexSlider as part of a strategy to completely eliminate heavy external dependencies.







Key advantages of HotengineSwiper:

  • Performance: Removing the jQuery dependency reduced script initialization time and decreased the overall page weight.
  • Improved UX: The component is written in Vanilla JS using modern Pointer Events, ensuring a stable touch interface and smooth swipe behavior on mobile devices.
  • Load optimization: Native Lazy Load support and dynamic container height recalculation prevent layout shifts and save bandwidth.
  • SEO efficiency: Clean code and fast slide rendering directly improve Core Web Vitals metrics, which is critical for search engine optimization.
HotengineSwiper is a faster, lighter, and more functional tool adapted to modern web development standards and search engine requirements.

Switch from Jquery jGrowl to custom hotengine_notify module

As part of our performance improvement strategy, we have completely replaced JQuery jGrowl with pure JavaScript.







The new module hotengine_notify is our own solution that fully preserves the familiar notification logic, but removes unnecessary dependencies and heavy libraries from the project.

What changed?
  • Speed: No JQuery makes notification initialization instantaneous.
  • Weight: The module code is reduced several times compared to the original plugin.
  • Native: Full support for modern ES6+ standards.

Guide for developers and integrators

The hotengine_notify functionality is fully identical to jGrowl. If you used custom calls in your scripts, you only need to change the function name. All key parameters (life, header, sticky, theme) work the same way as before.

Usage examples

1. Basic call (Informational message)

Simple notification that disappears automatically after 3 seconds.

hotengine_notify('Changes saved successfully');
2. Important notification (Sticky Error)

Use the error theme for critical errors. This message will not close until the user clicks the cross.

hotengine_notify('Access error to section', { 
    header: 'System interruption', 
    theme: 'error', 
    sticky: true 
});
3. Using Callback functions

Now you can easily execute code when closing the notification via beforeClose. Useful for working with cookies or sending statistics.

hotengine_notify('You have a new notification', { 
    beforeClose: function(el, msg) {
        // Example: set a read cookie for 24 hours
        document.cookie = "notify_read=1; path=/; max-age=86400;";
    }
});

Interface localization

All text elements (e.g., the “Close all” button) have been moved to CSS. The module automatically detects the page language via the lang attribute in the HTML tag. Currently supported:

  • RU: [ Закрыть все ]
  • UK: [ Закрити все ]
  • PL: [ Zamknij wszystko ]
  • EN: [ Close all ]

BooStore.pro — we work on speed so you can work on results.

Global Script Update and Transition to Pure JavaScript

As part of a global update, all core scripts of the BooStore.pro platform websites have been rewritten to work almost without using the jQuery library.







Benefits of this approach:

  • Reduced page weight: no need to load the entire jQuery library, which decreases script size and speeds up page rendering.
  • Improved performance: native JavaScript runs faster, especially on mobile devices and low-powered browsers.
  • Dependency control: each script is loaded only when required.
  • Flexibility and scalability: the code can be easily adapted to new features without being tied to a specific jQuery version.

Current implementation:

  • In the admin center, jQuery is still loaded automatically to support legacy plugins.
  • On the frontend, websites can now operate entirely on pure JavaScript.
  • All libraries and additional scripts are loaded dynamically, on demand, for specific user tasks, without preloading large files.

Main updates:

  • Pop-up windows and the form builder have been completely rewritten in native JS.
  • Product widgets: product slider, swipe mode, touch scrolling, and dynamic content loading on scroll.
  • Menus: updated scripts for the main menu and the simple mobile menu.
  • Product sorting scripts have been updated.
  • Cart and product adding:
    • The product add-to-cart module has been updated.
    • The spinner and quantity switcher for adding products to the cart have been updated.
    • The script for displaying product variants in lists and during mouse-based editing has been updated.
    • The script for displaying products added to the cart (hover popup on the cart icon) has been updated.
  • AJAX requests have been fully rewritten in standard JavaScript for loading pages, products, articles, forms, and comments.

Future plans:

  • A gradual transition to a fully modular architecture without jQuery, while maintaining compatibility with the administrative interface.
  • Since many users rely on their own jQuery-based scripts, a global option will be introduced to enable loading the library on the site when needed.

BooStore.pro Mobile Menu Widget Update: Complete Removal of jQuery

The mobile menu widget on BooStore.pro has been updated. The main change is the complete removal of the jQuery library. Now all menu elements and interactive functions are implemented using pure JavaScript.

This approach offers several key advantages:

  • Faster page loading. Previously, the menu waited for jQuery to load, which delayed the display of elements on mobile devices. Switching to native JavaScript eliminates this wait, making the menu instantly responsive.
  • Full removal of $.cookie. The jQuery Cookie library is no longer used to store user settings and menu state. All cookies and local storage are handled with standard JavaScript methods.
  • Modern DOM handling. Opening and closing the menu, switching tabs, and handling events are now done using standard DOM API methods, increasing stability and compatibility across devices and browsers.

As a result of the update, the mobile menu is faster, more reliable, and completely independent of third-party libraries, improving the user experience and speeding up the site on all devices.







JavaScript Libraries Updated on BooStore.pro

We have completely updated all JavaScript libraries on the site to make the interface faster and more stable.

Main Changes:

  • New lightweight image gallery: replaced Colorbox (16 KB) with SimpleLightbox (7 KB) – a fully independent JavaScript gallery. This reduces page load, speeds up performance, and makes the gallery independent of the jQuery framework.
  • Full replacement of outdated request methods: all $.ajax, $.get, and $.post calls have been replaced with the standard fetch API. This update is required for the transition to jQuery 4 and the gradual move away from relying on this library.

Benefits of switching to fetch:

  • Fewer dependencies: jQuery is no longer required for asynchronous requests.
  • Modern standard: fetch is built into all modern browsers and supports promises, making it easier to handle results and errors.
  • AbortController support: timeouts and request cancellation are easy to implement, improving interface responsiveness.
  • Better optimization and speed: pages load faster because the amount of code is reduced and the data flow between server and client is simplified.

These updates make BooStore.pro faster, more reliable, and more convenient for all users. Stay tuned for our upcoming improvements!

Important Update on BooStore.pro: All Sites Now Have SSL!

We are pleased to announce that all sites on the BooStore.pro platform now run by default through a secure HTTPS connection. Every site receives an SSL certificate, which enhances user data protection and builds trust in your resource.

This update is an important step in improving the security and reliability of sites on our platform. You don’t need to take any additional action — we have automatically configured certificates for all domains and subdomains.

Now your visitors can be confident that their data is protected, and search engines recognize your site as a secure and modern resource.

BooStore.pro continues to improve the platform for your convenience and safety!







New markup option in BooStore.pro advertising exports

The BooStore.pro system now includes a new option for managing markups in advertising XML exports (Google Merchant, Rozetka, Prom.ua, Epicentrk.ua, and others).

You can now flexibly control which markups will be applied when generating exports or completely disable them.

Available options

  • completely disable all markups and export the original product price;
  • disable markups only for specific advertising platforms (Rozetka, Prom.ua, Epicentrk.ua);
  • disable only formula-based markups while keeping other pricing rules;
  • use standard markups without changes (default mode) — meaning the markups that are pre-configured for each category in the specific export.

** — on BooStore.pro, you can set individual markup rules for each category and each advertising platform separately, for example for Rozetka, Epicentrk.ua, or Prom.ua.

This allows you to precisely adjust prices to the requirements of specific advertising channels, avoid unnecessary markups, and increase the competitiveness of your offers.

The new option is already available in the advertising export settings and does not require any additional work.







New menu block position

In BooStore.pro, a new position for the existing menu block has been added — at the top of the page, but below the category tree.







This position is intended for control elements that are logically placed immediately after the category tree and before the main product list.

For example:
  • product sorting
  • additional catalog display options
  • navigation elements

BooStore.pro Widgets Update: New Script Loading Rules

BooStore.pro has introduced an important update for all widgets with products, categories, and manufacturers. Previously, the :htmlonly parameter was used to disable loading scripts and styles. Now it is replaced by the new :add-javascript parameter, but with the opposite logic.

What this means:

  • Previously, :htmlonly disabled script loading (useful if you wanted to implement your own dropdown menu script, styles, or other functions).
  • Now, :add-javascript works the other way — scripts and styles are automatically loaded when it is used.
  • All widget functions remain the same, only the logic of script inclusion has become more transparent.

Important:

On all pages and in all blocks/menus where the widget was previously used without the :htmlonly parameter, it has been automatically updated with :add-javascript. This means widget scripts are now loaded correctly without any additional manual setup.







Added Hutko payment system (with support for multiple languages, currencies, and payment methods).

Hutko.org is a Ukrainian payment service that allows businesses to easily and flexibly accept online payments across various sales channels — on websites, landing pages, social media, chatbots, mobile apps, and even offline via QR codes.
It supports bank cards (Visa, Mastercard), e-wallets, Apple Pay, Google Pay, and other payment methods, offers a responsive payment page, automatic currency conversion, and tools for recurring payments and online analytics.




Connection Instructions

BooStore.pro improves script loading: moving away from $.getScript

The BooStore.pro team has optimized JavaScript performance on the platform by replacing $.getScript with dynamic creation of <script> elements using plain JavaScript.







Previously, scripts were loaded like this:

Code: JavaScript
$(function(){
if ($(".hotengine-shop-products-add-count-spinner").length){
         if(typeof $hotengine_shop_product_count_spinner == "undefined"){
		        $.getScript("/templates/scripts/hotengine-script-shop-product-count-spinner.js?v33").fail(function(jqxhr, settings, exception) { console.error("Failed to load script: ", exception);
                });
		 }
} 
});

Now, a different approach is used:

Code: JavaScript
$(function(){
    if ($(".hotengine-shop-products-add-count-spinner").length){
        if (typeof $hotengine_shop_product_count_spinner == "undefined"){
            const s = document.createElement("script");
            s.async = true;
            s.src = "/templates/scripts/hotengine-script-shop-product-count-spinner.js?v34";
            s.onerror = (e) => { console.error(`Failed to load script: ${s.src}`, e); };
            document.head.appendChild(s);
        }
    }
});


Why this is recommended:

  • No jQuery required, fewer dependencies.
  • Control over duplicate loading: script is inserted only once.
  • Asynchronous loading improves performance without blocking the page.
  • Simple and predictable error handling via onerror.
  • Code is more modern and compatible with plain JavaScript.

Ajax + JSON product variant loading added

A new method for displaying product variants in the product list has been implemented — on-the-fly loading using Ajax and JSON technologies. This significantly reduces site load and speeds up the initial page load.

Product variants can now be loaded dynamically: when clicking the «Buy» / «Select» button or when hovering the mouse cursor. This approach does not create additional server load and is optimal for most stores with a large assortment.

Important: a paid method is also available in which product variants are displayed immediately in the product list. This option requires payment for extended export, as it increases site load due to the constant loading of all variants.

When using Ajax loading, please note that product sliders and widgets with dynamic scrolling may experience issues with correct variant display. Therefore, this method is recommended for standard product list viewing rather than within sliders or product widgets.







BooStore.pro adds testing for sending messages via Viber and Telegram

Now you can test sending notifications via Viber and Telegram directly from the control panel.
Additionally, it is now possible to remove subscribers without changing the access key.







New Feature: Image Conversion to WebP

The SAAS platform BooStore.pro now includes the ability to convert images when uploading products to the WebP format. This format provides faster loading and better image compression, which is recommended for website speed optimization.

Conversion is available both during manual product uploads and automatic imports. To enable conversion, simply check the «Convert to Webp» option when uploading images.

Your products will now be uploaded in a modern image format without the need for prior file conversion, improving website performance and user convenience.







A new option to select manufacturers has been added to the main menu

A new feature is now available in the main menu widget — a dropdown list of manufacturers. This allows users to quickly select a brand and go directly to its products.







Added support for a small icon for Store Categories, Manufacturers, and Collections

In addition to the large icon (displayed on the category page when opened), a separate small icon is now available. This small icon is shown in all menu locations — in the main menu, dropdown menus, and the mobile menu:

  • Small icons from the built-in library — available in color and monochrome (masked) SVG versions;
  • Custom color can be applied to monochrome SVG icons (via CSS/attribute or through the settings interface);
  • Uploading your own icon files is supported in SVG, WEBP, PNG, JPG formats;

This makes it possible for each category, manufacturer, or collection to display a recognizable small icon in menu items, improving navigation and overall usability.