Latest version: 5.4.25 (Change Log)
Release date: November 8th, 2023
Download AJAX-ZOOM Software

PrestaShop module

Demo front-office Demo front-office "axZmMode" Demo front-office "displayInTab" Download AJAX-ZOOM module for PrestaShop
1.5, 1.6, 1.7, 1.8, 8+


PrestaShop 1.5.x, 1.6.x, 1.7.x, 1.8.x, 8+
PHP 5.4, 7.x, 8.1, 8.2
Last successfully tested with PrestaShop version 8.1.2

In the front office at the product detail page, the AJAX-ZOOM module for PrestaShop replaces the default product views with the responsive zoom on hover AJAX-ZOOM extension capable of displaying 360 product spins and videos in one product viewer. On mobile devices, the viewer transforms into an image slider.

New: alternatively, you can configure the module to display only 360 product views and videos in an extra tab or any other place by defining a jQuery selector. In the first case, the module creates an additional HTML tab automatically. If set as a tab or the jQuery selector way, the default image box is kept, which allows you to use a different module for standard images. Thus, if you prefer, you can also use AJAX-ZOOM only as a 360-product viewer apart from the main image viewer and only for products for which 360 images are available.

In the back-office, administrators can upload several 360 or 3D product views or import them from ZIP files, which were previously uploaded, e.g., over FTP. You can configure every 360 spins with individual settings, e.g., set rotation speed and direction. Furthermore, you can arrange to show a particular 360-product spin only with unique product variations. Thus, there is a possibility to, e.g., define a separate 360-product view for each color variant of the same product.

The module supports defining videos from many sources such as YouTube, Vimeo, or links to an mp4 source and displays that video in "video-js" or browsers HTML5 player. Localization is possible in that you define alternative video sources or keys for each country or language. Like with the 360-product spins, there is a possibility to let specific videos display only with selected product variations.

There are no changes for regular images except that when the module is active, the quality of uploading images via BO is not reduced. You can also add clickable hotspots with a ton of predefined features to regular images via the integrated AJAX-ZOOM hotspot editor.

For your 360 product views, besides interactive and clickable hotspots, you can alternatively or additionally create 360 product tours via the second AJAX-ZOOM editor that is present in the back-office as well. Both editors have multi-language support.

Download the AJAX-ZOOM module for Prestashop and test it in your development environment. There is no need to purchase AJAX-ZOOM before you have tested it!

General features

Back-office screenshots

Creating and managing 360 spin product views

Creating a 360 / 3D product view is reasonably straightforward. Please see the screenshots to see how you can do it step by step.

360 degree "Product Tour"

The 360 interactive product tour is an optional enhancement of your 360 / 3D images. You can easily create such a touch in a short time with the integrated editor.

Hotspot editor for 360-degree product views

Hotspots are interactive markings on the images. They can have interactions like a popup with additional information as HTML / text and videos but do not necessarily need to have them. The module offers a very extensive hotspot editor integrated directly into the admin backend. The 360 product tour and hotspots work great together / at the same time.

Hotspots on regular images

You can also add hotspots to regular images, not just 360 spin views.

Videos - YouTube, Vimeo, mp4..

Add videos from YouTube, Vimeo, and other services or define a link to mp4 video, which will play in HTML5 video player. The functionality will also let you define separate video sources for each frontend language.

360 spin views at CMS pages

If you want to display specific 360 / 3D images on your shop's CMS pages, you can copy & paste the offered code and place it into the WYSIWYG editor at the place where you want a 360 spin to appear.

AJAX-ZOOM batch processing tool

Create the cache for AJAX-ZOOM using the integrated batch tool. However, you do not necessarily need to use the batch tool because if image tiles and other AJAX-ZOOM caches are not present yet, AJAX-ZOOM processes the images on the fly. Latest, when they appear at the frontend. However, if you have thousands of images, it is useful to batch process all existing pictures you plan to show via AJAX-ZOOM before launching a new website or before enabling AJAX-ZOOM at the frontend.

Create 3D (multi-row) views over backend row by row

It is possible to manually create a 3D multi-line (multi-row) view from within the back end by uploading images line by line. The recommended way is to use a ZIP file and import all rows automatically. Nevertheless, if you want to upload the pictures via the backend, please see the below screenshots for the step-by-step instruction.

Create 3D (multi-row) views via backend from ZIP files

An easier way to create 3D multi-row views is to import the images from a ZIP file that was previously uploaded in a specified folder.

Module configuration section

Typically, you do not have to change any AJAX-ZOOM settings to make it work. However, if you want to personalize the look and feel, you will find many options for that in the configuration area.

For trying out the module, we recommend using the "displayOnlyForThisProductId" option first. This option allows you to activate AJAX-ZOOM exclusively for specific products only.

Front office screenshots

For more real impressions, please check out the links at the top of this page!

Handling regular images

For regular images, there is no need to do anything. You can upload them as always. However, depending on the PrestaShop version, the original uploaded images might already be compressed by the PrestaShop image class. After activating AJAX-ZOOM, this compression is disabled, and if you are not satisfied with the quality, you might want to reupload your high-resolution images.

Staring from Module version 1.7, you can also add hotspots to regular images, not just 360-degree product views! The image files are not changed, and you can always edit, remove, or disable the hotspots.

Handling 360°/3D

To add 360° images, switch to the 'CATALOG' -> 'Products' panel, and select a product. There should be a new AJAX-ZOOM tab. In this tab, you will be able to:



Regular Installation via Back-Office

  1. It's best to make sure the servers and PrestaShop requirements are met before you start with installation.
  2. In the PrestaShop BackOffice, switch to the Modules -> Modules and Services tab.
  3. Click the "Upload Module" button and select the module_prestashop_ajaxzoom_{version}.zip file, which you can download from this page as a test version for free.
  4. The module is being installed, which can take some time. Unless no major errors occur, you can find the AJAX-ZOOM module listed under available modules.
  5. Activate the module now.
  6. If you encounter error messages such as "IonCube loaders not installed" or the /modules/ajaxzoom/axZm folder does not exist, please look for solutions in the "Troubleshooting" section on this page. Solving those most common errors in short:
    • The free "IonCube Loader" must be installed on the server. For additional information on this, please also check the FAQ section below.
    • You can upload the missing /modules/ajaxzoom/axZm directory via FTP. Download the AJAX-ZOOM main files from this page, unpack and upload the entire axZm folder via FTP to /modules/ajaxzoom/ directory on your server.
    If, after all, you cannot resolve the problem, please contact our support. We are confident to solve any problem except installing IonCube loaders where root access is needed in most cases.
  7. Click on "Configuration" and save the settings of the module with the default values once.
  8. If you have activated the CSS and JavaScript merging or template cache, you may need to delete/regenerate it.
  9. If you do not want AJAX-ZOOM to appear in the frontend immediately, switch to module settings and under "PLUGIN SETTINGS FOR PRESTASHOP", disable the enableInFrontDetail option. Alternatively, you can enter one or a couple IDs of a product into the displayOnlyForThisProductID configuration field. This way, AJAX-ZOOM is activated only for products with those numbers.
  10. To upload high-resolution images via BO, adjust PHP options' values for post_max_size and upload_max_filesize directly in your php.ini file or a control system that allows you to achieve the same. You may also need to increase the limit in BO under Advanced Parameters -> Administration -> Upload quota -> Maximum size for a product's image. The default value in the newer PrestaShop versions is 2 MegaBytes.

Manual Installation via FTP

The following manual installation approach does not work for all PrestaShop versions 1.7 or later. The AJAX-ZOOM module may not appear in the list of available modules, and therefore, you cannot activate or install it. We are uncertain if it is a new PrestaShop feature or a bug, so for PS 1.7+ versions, please use the standard installation method via back office.
  1. Make sure your server and PrestaShop requirements are met!
  2. Unzip the folder 'ajaxzoom' from this archive to the '/modules/' directory of your PrestaShop installation.
  3. Download the latest version of AJAX-ZOOM from and unzip only 'axZm' folder into '/modules/ajaxzoom/' directory. This step is not required but you might need it if, after installation, you will not find '/modules/ajaxzoom/axZm' folder (automatic download fails for a reason).
  4. Set chmod for '/modules/ajaxzoom/pic' directory to be writeable by PHP.
  5. Activate the module through the 'Modules' menu in your PrestaShop back-office panel.
  6. Click on "Configure" and save the settings with default values once.
  7. Installation is done. Now you can configure the module, but it should work out of the box.
  8. If the module does not work as expected, please check for possible solutions under the troubleshooting section on this page first. If you cannot solve the problem, please contact our support. We are confident to solve any problem except installing IonCube loaders where root access is required in most cases.
  9. To upload high-resolution images via BO, adjust PHP options' values for post_max_size and upload_max_filesize directly in your php.ini file or a control system that allows you to achieve the same. You may also need to increase the limit in BO under Advanced Parameters -> Administration -> Upload quota -> Maximum size for a product's image. The default value in the newer PrestaShop versions is 2 MegaBytes.


"TECHNICAL ERROR" alert in the back-office

The solution in short

When logging in as administrator, please do it in the same domain using the same protocol as your front-office!

Front-office Back-office


By now, we should have fixed all the technical error issues, which are real technical issues. So today, those messages mainly result from browsers' Cross-Origin policy when making AJAX requests (Asynchronous JavaScript And XML). According to this policy, a cross-origin request is defined as requests between different domains, same domains but different subdomains, or even the same domains but different protocols.

Strictly speaking, by this definition, a www before the domain name is a subdomain even if both addresses return the same content. If you have activated a redirect, e.g., from to (without www) for the frontend (or the other way around), then please also login under to your backend (same as a redirect for the frontend, so if in the frontend you have a redirect to, then please also login under in the back-office).

The same issue arises with different protocols at the back-office and the frontend - HTTP vs. HTTPS. If every request redirects to HTTPS on the frontend, then also please log in to your back-office via HTTPS and not HTTP!

Still having this issue?

In case you can exclude the Cross-Origin cause of the "TECHNICAL ERROR" alert described above, please contact our support and provide the information that you gather in the following way:

  1. Using the Chrome browser, press the F12 key to open the "developer tools".
  2. Navigate to the "Network" tab and choose the "XHR" sub-tab.
  3. Find the last AJAX request, which contains fc=module&module=ajaxzoom in the URL.
  4. Copy the entire request URL to add it to the information that you send to us.
  5. Select the request by clicking on it once and choose the "Response" tab to the right.
  6. Copy the entire response to add it to the information that you send to us.

Unable to install override: The method resize in the class ImageManager is already overridden

This message means that some other module already overrides this core functionality. To solve this problem, you can remove the file /ajaxzoom/override/classes/ImageManager.php and reinstall/activate the AJAX-ZOOM module for PrestaShop. Since this override is not critical for AJAX-ZOOM and even optional, you can safely remove this file.

Images are not loading at frontend 1
(missing IonCube loaders)

Please check that IonCube Loaders are installed. If you have installed IonCube Loaders by using the "local" php.ini file, placed into a directory, please copy the same file into the /modules/ajaxzoom/axZm folder, or create a new php.ini with something like zend_extension=/vrmd/webserver/php56/lib/ In the browser, enter If there is text stating something about IonCube, there is a problem with IonCube not working correctly. Please find more information on that in the "FAQ" section below.

Images are not loading at frontend 2
(wrong PHP files permissions)

There could be another reason why the AJAX-ZOOM player is loaded, but the images do not show. Typically, you see a perpetual loading animation. Enter in the browser address bar. If the file zoomLoad.php is physically present, but you get an error 404 (not present) or error 500 (server error), the most likely reason is that the folders or files permissions (chmod) have values where a group can edit them. Especially on shared hosts, the server configuration often treats this as an unacceptable security issue. You will most likely need to set the folders permission level (chmod) to 0755 and the files permission level (chmod) to 0644. Skip the leading zero if you are using an FTP program such as FileZilla.

No visual changes on the product detail page
(an outdated version of the module)

Please ensure that you have installed the latest version of the module. Since the PrestaShop store's validation process may take time and additional efforts, the module version that you have downloaded from there could not be up to date. However, you can always download the latest version from this website, and in case that this troubleshooting section does not help you further, we can still help you get things running using the latest codebase.

No visual changes on the product detail page
(JavaScript error)

The zoom script triggers by the inline JavaScript code that inserts into product.tpl via a hook. That can be more to the bottom of the page. If there is a JavaScript error caused by a different module, which occurs above or before the AJAX-ZOOM initialization code, the browser stops there. Consequently, the AJAX-ZOOM script does not trigger.

Press the F12 button to open the developer tools (best use Chrome) and make sure that there are no JavaScript errors in the console. Track the errors to a module responsible for poorly written JavaScript and temporarily disable the suspicious module to ensure you are on the right path. Contact the developer of this module with the issue you have.

Such a JavaScript error may also be caused by a browser's extension that strips JavaScript files that track users. If, after stripping an inline script refers to a none existing JavaScript function or method, it may cause JavaScript errors that break all other functionalities triggered by JavaScript.

No visual changes on the product detail page
(an error message in the console "[...] problem with AJAX-ZOOM JavaScript files [...]")

Under "Advanced Parameters" -> "Performance", disable "Smart cache for JavaScript" and "Smart cache for CSS", make sure AJAX-ZOOM is working, then you can enable it again.

Besides AJAX-ZOOM, that is a general procedure when you install new modules, which add references to JavaScript and CSS files.

If that does not help and the same problem persists, make sure that you or some other plugin does not insert a second jQuery-core script, e.g. in the footer template. Loading a second jQuery-core below the already inserted jQuery-core and jQuery-dependent JavaScript plugins causes all those plugins to be "errazed".

No visual changes on the product detail page
(missing hook in template / problems with product.tpl)

In some themes the product.tpl is missing the "product footer" hook, or it is "hidden" inside a different "if" statement. That is not something we could do via our module, so if there are no JS errors and there are no changes on the product detail page, please make sure that the HOOK code is present and does not depend on any other conditions.

In newer PrestaShop versions, you would need something like this in /themes/YOURTHEME/templates/catalog/product.tpl of your theme:

{block name='product_footer'}
    {hook h='displayFooterProduct' product=$product category=$category}

In older PrestaShop versions, the code for the hook will look like this:


PS 1.7 AJAX-ZOOM is missing in Quick-View Modal

If the corresponding option to show AJAX-ZOOM in Quick-View is enabled but AJAX-ZOOM does not show up, open /themes/YOURTHEME/templates/catalog/_partials/quickview.tpl and make sure that you have {hook h='displayProductAdditionalInfo' product=$product} row somewhere at the bottom of that template.

Very slow loading of the images at the frontend
(database connection issue)

In extremely rare cases, when you enter in the browser address bar, receive the "AJAX-ZOOM is working!" message, but it takes forever to load, please do the following:
Please note that the slow loading may also happen when you open a product detail page for the first time. That is normal as AJAX-ZOOM can generate the cache on the fly, and that process can last a few seconds (the larger the images and the slower the server, the longer it may last). However, this cache generating process runs just once, and when a different user opens the same page, it loads fast without any delay. So the issue described under this topic does not relate to the cache generating process in general. You can also use the integrated "AJAX-ZOOM Batch Tool" to pre-process all images in the BO before showing them on the front.

RewriteBase (e.g. Bitnami / Prestashop / XAMPP)

If the RewriteBase is set in .htaccess or app config file or similar you might need to change some settings in AJAX-ZOOM config file (/modules/ajaxzoom/axZm/ to make things work properly. Having tested AJAX-ZOOM extension on PC (localhost) with Prestashop package from "Bitnami" (default settings) we were able to get AJAX-ZOOM working under these conditions:

the url path to Prestashop was, whereby the document root on PC was C:/xampp/apps/prestashop/htdocs and not C:/xampp/apps/prestashop/htdocs/prestashop as one would expect. This is due to RewriteBase which is enabled on default. Also the document root here changed from standard XAMPP root which is C:/xampp/htdocs; so as of now all these settings need to be set manually in /modules/ajaxzoom/axZm/ for AJAX-ZOOM this way:


If you encounter any other troubles, please report/contact our support. We will fix any problem and document it with the highest priority.


Modifying the front office template

Normally, you would not need to modify the template file. If, however, you want to substantially change the front-office functionality, e.g., implement a different AJAX-ZOOM example, you can do that.

The major AJAX-ZOOM template is located at /modules/ajaxzoom/views/templates/front/ajaxzoom.tpl. If you modify that file directly, it will be overwritten when you update the plugin. Thus, you need to place it at a different location before modifying it.

PrestaShop does not allow you to define an exact location outside of the module for a template file, but it allows you to override a template file from generally any module. These are the locations based on the _isTemplateOverloadedStatic method from /classes/module/Module.php

/* /classes/module/Module.php */
protected static function _isTemplateOverloadedStatic($module_name, $template)
    if (Tools::file_exists_cache(_PS_THEME_DIR_ . 'modules/' . $module_name . '/' . $template)) {
        return _PS_THEME_DIR_ . 'modules/' . $module_name . '/' . $template;
    } elseif (Tools::file_exists_cache(_PS_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/hook/' . $template)) {
        return _PS_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/hook/' . $template;
    } elseif (Tools::file_exists_cache(_PS_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/front/' . $template)) {
        return _PS_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/front/' . $template;
    } elseif (Tools::file_exists_cache(_PS_PARENT_THEME_DIR_ . 'modules/' . $module_name . '/' . $template)) {
        return _PS_PARENT_THEME_DIR_ . 'modules/' . $module_name . '/' . $template;
    } elseif (Tools::file_exists_cache(_PS_PARENT_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/hook/' . $template)) {
        return _PS_PARENT_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/hook/' . $template;
    } elseif (Tools::file_exists_cache(_PS_PARENT_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/front/' . $template)) {
        return _PS_PARENT_THEME_DIR_ . 'modules/' . $module_name . '/views/templates/front/' . $template;
    } elseif (Tools::file_exists_cache(_PS_MODULE_DIR_ . $module_name . '/views/templates/hook/' . $template)) {
        return false;
    } elseif (Tools::file_exists_cache(_PS_MODULE_DIR_ . $module_name . '/views/templates/front/' . $template)) {
        return false;
    } elseif (Tools::file_exists_cache(_PS_MODULE_DIR_ . $module_name . '/' . $template)) {
        return false;

    return null;

As you can see, the places you can save your modified version of the template are limited. Thus, if you want to modify the ajaxzoom.tpl file, save it as, e.g., /themes/'._THEME_NAME_.'/modules/ajaxzoom/views/templates/front/ajaxzoom.tpl and modify it there!

Migrating the AJAX-ZOOM data from PrestaShop 1.6 to PrestaShop 1.7

This migraion works provided that the products' IDs do not change after the migration.

  1. Copy the contents of /img/p/360 to the new installation. This folder contains the 360/3D source images uploaded or imported by administrators.
  2. Copy the database tables which names start with ps_ajaxzoom. The ps_ prefix may be different in your installation.
  3. Download and install the latest version of the module.
  4. Enter the license keys for your domain or domains in the module's configuration section. Other settings should be set manually because the names in the database partly differ between the PS 1.6 and 1.7 versions.
  5. Use the AJAX-ZOOM batch tool at the back-office to recreate the cache for AJAX-ZOOM. That is faster than copying it.


How to install "ionCube Loader"?

ionCube loader is a widely used PHP extension, and it is required to operate AJAX-ZOOM on your server. Before installing the loader, please check if it is not already installed on your server. To check this, you can look into the output of phpinfo();. You can also use get_loaded_extensions PHP function - print_r( get_loaded_extensions() ); to see if ionCube is installed.

If you do not detect ionCube on your server, please visit the official ionClube loaders page. There you can find "Loader Installer" and "Loader Wizard" packages, which can guide you through the installation process matching your operating system (Windows, Linux, FreeBSD, OpenBSD, OS X, Solaris).

Many hosting companies also have a guide in their FAQ on how to do this specifically for their configurations. Lastly, a mail to your hosting provider's support surely helps. ionCube is industry standard and should be a copy & paste answer for your hosting provider. If not, you should switch your hosting provider immediately.

Please note that each PHP version requires a different loader extension. When your provider offers a possibility to switch between several PHP versions, and you have added the "ionCube" extension via a separate php.ini on your own, please think about updating this php.ini file to link to the appropriate "ionCube" extension file.

Restarting the server (e.g., Apache) might be needed for the new extension to load (changes in php.ini effectively occur).

Some shared hosting companies such as "1&1" allow the users without root access to create their custom php.ini files and "install" Ioncube loader this way. However, this custom php.ini has only an effect on the folder whereinto you place it. It has no impact on subfolders, as you might suspect. Therefore, if you are dealing with this method of installing the loader, you must copy your custom php.ini into several folders. If the AJAX-ZOOM module for your system installs itself into, e.g., /modules/ajaxzoom directory, you must place the custom php.ini into /modules/ajaxzoom/axZm/ folder and into, e.g., /admin12345/ folder (or wherever installing the modules takes place).

Do I need a license key to test AJAX-ZOOM module/plugin?

No, AJAX-ZOOM should work out of the box. For some modules/plugins, AJAX-ZOOM does not install itself if the "ionCube" extension is not present on the server (see above). Other than that, there is are limitations on the number of images and image resolution of the demo version. If you would like to test AJAX-ZOOM with higher resolution images ( > 3.2 megapixels / million pixels), please request an "Evaluation" license key for your dev domain or subdomain free of charge.

If you do not have a development server but would like to install the AJAX-ZOOM plugin on your production website, you should go to module/plugin settings and set the "displayOnlyForThisProductID" option. This option allows you to enable AJAX-ZOOM only for specified product ID, so you can test the module/plugin thoroughly without affecting the entire shop / conduct A/B tests.

How to translate the plugin into other languages or change text strings?

The translation of the strings is done via the plugin options and within the AJAX-ZOOM's core PHP configuration file.

1. All plugin options are accessed over the backend. For example, if you want to add Russian translation to the "zoomMsg360" option, which is defined as JSON, you would need to add "key" and "value" to this JSON.

    "en": "Drag to spin 360°, scroll to zoom in and out, right-click and drag to pan",
    "de": "Ziehen um 360° zu drehen, zoomen mit dem Mausrad, rechte Maustaste ziehen verschiebt die Ansicht",
    "fr": "Faites glisser pour tourner à 360 °, faites défiler pour zoomer dans et hors, cliquer et faire glisser à droite pour vous déplacer",
    "es": "Arrastrar para girar en 360º, Rueda del ratón para utilizar el Zoom, botón derecho para mover la imagen"

So when you only need English as the default language (please keep it) and want to add a Russian translation string, you would change this option to

    "en": "Drag to spin 360°, scroll to zoom in and out, right-click and drag to pan",
    "ru": "Крутить 360° левой кнопкой мыши, колесом увеличивать, правой кнопкой смещать zoom"

2. Some other text strings are located in [ajaxzoom plugin directory] /axZm/ file, which is part of AJAX-ZOOM core. Open this file in a text editor and find a string you are looking for. For example, you are looking for the "Click to load" message. It is located under $zoom['config']['spinNoInit'] option and looks like this:

$zoom['config']['spinNoInit'] = array(
    'enabled' => false,
    'file' => array('en' => 'click_to_load_en.png', 'de' => ''),
    'txt' => array(
        'en' => 'Click to load
view', 'de' => 'Klicken um die
360° Ansicht
zu laden' ), 'event' => 'click' );

As you can see, this is a PHP array, and there are several other suboptions located in it. The best way to proceed is to either copy the entire array into or copy only the suboption with locales into this file. You can find outside of the /axZm folder in the plugin directory.

2a. The below is what you would add to [ajaxzoom plugin directory] / file when you copy the entire array and add your translation, removing languages you do not need:

$zoom['config']['spinNoInit'] = array(
    'enabled' => true,
    'file' => array('en' => 'click_to_load_en.png', 'de' => ''),
    'txt' => array(
        'en' => 'Click to load
view', 'ru' => 'Нажмите мышкой, чтоб загрузить 360° вид' ), 'event' => 'click' );

2b. Or you could just add the suboption to [ajaxzoom plugin directory] / file like this:

$zoom['config']['spinNoInit']['txt'] = array(
    'en' => 'Click to load
view', 'ru' => 'Нажмите мышкой, чтоб загрузить 360° вид' ); // or $zoom['config']['spinNoInit']['txt']['ru'] = 'Нажмите мышкой, чтоб загрузить 360° вид';
You can also move the file [ajaxzoom plugin directory] / one level up, outside of the "ajaxzoom" plugin directory, so when you update the plugin, this file does not get overwritten.

3. There is also a third possibility of adding a translation to strings located in [ajaxzoom plugin directory] /axZm/ In the backend, under plugin configuration, you can find "azOptions" and "azOptions360", which allow you to override configuration from [ajaxzoom plugin directory] /axZm/ related to frontend display. If we wanted to do the same as above over "azOptions360" plugin option (which is saved into the database), the result in your textarea would look like this:

Here, we do not need to define English, as the related JavaScript object will get extended by what you define in "azOptions360". The possibility number 2 above (writing into [ajaxzoom plugin directory] / is not applied then.

Download / Prices

Usually, you do not need to download AJAX-ZOOM core as the module for PrestaShop automatically downloads it during the installation process. If, however, the automatic downloading of the core files fails, you will need to download that package manually. For more details, please see the installation section above.

Also, there is no need to order AJAX-ZOOM before you have successfully installed and tested it! You can download the AJAX-ZOOM module for PrestaShop and try/test it for free.

The license price primarily depends on the number (sum) of different images displayed on a domain in the AJAX-ZOOM viewer. To see the complete license agreement, please visit the download section.

PrestaShop Addons Marketplace

If you decide to purchase the module on the "PrestaShop Addons Marketplace", the license type, which is bundled with the purchase of the module there is "Basic". This license type allows you to use the AJAX-ZOOM module for PrestaShop with 500 images. There is no possibility to purchase a different license via the marketplace. So in case you have bought the AJAX-ZOOM module via the marketplace, please contact us after the purchase and provide the order number, which you get from the "PrestaShop Addons Marketplace", to receive the "basic" license key for your domain. Also, since the "PrestaShop Addons Marketplace" does not provide any customer information to the vendors, you need to get in touch with us on your own.


Ver. 1.50.0
  • Some changes to the lic.php file.
Ver. 1.49.0
  • Some changes to the lic.php file.
Ver. 1.48.0
  • Improved installation procedure.
Ver. 1.47.0
  • Added compatibility to PrestaShop 1.8.0.
  • Checked with PHP 8.1
Ver. 1.46.0
  • Added options to include additional JavaScript and CSS files into an iframe with 360 views that can be shown on CMS pages.
Ver. 1.45.0
  • Fixed the bug where modules settings for videos did not propagate to the frontend.
Ver. 1.44.0
  • Updated the class that describes AJAX-ZOOM options because a new "touchOpt" option has been added to the mouseover script. With this option, you can override any other options for mobile touch devices. Both, the AJAX-ZOOM core files and the module need to be updated to use it.
Ver. 1.43.0
  • Added the "lazyTrigger" option that launches the viewer on a product detail page when the parent container is in viewport. That may improve Google's speed-tools rankings on mobile.
Ver. 1.42.0
  • A few stylistic corrections at the back-office for the upcoming PrestaShop version 1.7.8.
Ver. 1.41.0
  • A few stylistic corrections at the back-office for the upcoming PrestaShop version 1.7.8.
Ver. 1.40.0
  • Fixed an issue with some templates in which when color "colorVariationAsImg" option was enabled, a variation of the product did not load.
Ver. 1.39.0
  • Added options to include additional JavaScript and CSS files from AJAX-ZOOM core package.
Ver. 1.38.0
  • A small fix for PrestaShop
Ver. 1.37.0
  • Small improvements.
Ver. 1.36.0
  • Small improvements.
Ver. 1.35.0
  • Fixed a regression bug where at back office, there could be a JavaScript error because of single quote (') in a translation (not english). That may have caused the features such as adding 360 views to products not working correctly when the administrators' language is not english.
Ver. 1.34.0
  • Added a fix for newer PS versions that prevents creating doubled subitems in menu for batch tool within the navigation at back-office.
Ver. 1.33.0
  • A hook for the 360 badge in product listings was missing was missing in the install method.
Ver. 1.32.0
  • Added an option to set CHMOD (files permissions) for uploaded 360 images.
Ver. 1.31.0
  • Added an option to display images for color attributes in product combinations.
  • Added an option to display AJAX-ZOOM in quick-view in product listings.
  • Added an option to display a badge on a product image in product listings if it has a 360-view.
Ver. 1.30.0
  • Redesign at the back-office.
  • Harmonizing templates across PS 1.5, 1.6 and 1.7 versions.
  • Adjustment for PS 1.7.7 (GitHub 1.7.7 brunch, PS 1.7.7 beta 1 release is missing an important hook).
Ver. 1.29.0
  • Internal changes.
Ver. 1.28.0
  • Minor bug fixes and UI adjustments at the back-office.
Ver. 1.27.0
  • Yet fixed an other possible issue with the product combinations not loading on page load correctly. That was caused by the third party "Ap Page Builder" module messing around with the template variables.
Ver. 1.26.0
  • Fixed a small bug at the back-office related to the attaching a 360 view to product combinations.
Ver. 1.25.0
  • Added the "fixAzPos" option to adjust the position of the AJAX-ZOOM viewer in templates within not standard template structures.
Ver. 1.24.0
  • Added the "fixBadgePos" option, which may repair the position of the badges via JavaScript in case it is wrong in a none default template.
Ver. 1.23.0
  • Added a better sorting for the list of available ZIP archives, which appears when you want to import the 360 images from ZIP files.
Ver. 1.22.0
  • Added code that removes line breaks from title of the images. Line breaks may be present if data has been imported from a different source.
Ver. 1.21.0
  • Improved the selection of images on load for multi-variant articles across different PS 1.7.x versions.
Ver. 1.20.0
  • Improvements on stability.
Ver. 1.19.0
  • A few adjustments to the frontend template.
Ver. 1.18.0
  • Fixed AJAX-ZOOM cache issues when products and product images are imported from third party tools such as "eMagicOne".
Ver. 1.17.0
  • Prevented that AJAX-ZOOM does not load at product detail pages if there are JavaScript errors caused by a different module.
Ver. 1.16.0
  • Few bug fixes for older PS 1.6 versions
  • Loading speed improvements
  • Additional translations
  • Added AJAX-ZOOM batch tool to PS 1.5.x
Ver. 1.15.0
  • Fixed possible errors with translations, containing certain characters..
Ver. 1.14.0
  • Diverse improvements for handling 3D views at backend.
Ver. 1.13.0
  • Moved batch tool to own menu under products / items.
  • Allow the batch tool to enable 360 / 3D when cache for it is created.
  • Some backend UI changes and corrections.
  • Localizations in various languages.
Ver. 1.12.0
  • Intergrated the AJAX-ZOOM batch tool directly into the backend. AJAX-ZOOM core update (v. 5.3.5+) required.
Ver. 1.11.0
  • Small adjustments and notes for the new AJAX-ZOOM (core files) "simpleMode" option and "Simple" license type.
Ver. 1.10.0
  • Fixed possible PHP error / warning, causing AJAX-ZOOM not to show on frontend.
Ver. 1.9.0
  • New possibility to create a tab and add only 360 / videos to this tab ("displayInTab" option).
  • New possibility to place only 360 / videos anywhere by a jQuery selector ("displayInSelector" option).
  • If one of the above possibilities is used, the original image display is not replaced. Can be used with a different module, which replaces the standard image display.
  • Tested and adjusted for PrestaShop 1.5, 1.6 and 1.7
Ver. 1.8.0
  • Added a CSS file, which compensates missing / changed CSS in the new PS 1.7.3 backend theme.
Ver. 1.7.1
  • Minimal improvements.
Ver. 1.7.0
  • Fixed bug not passing language variable in PS 1.7
  • Added possibility to add hotspots to regular images
  • Added possibility to define module settings for each product individually for testing purposes
  • Added collapsible tabs at product edit page with remembering the state
Ver. 1.6.0
  • Support for videos - YouTube, Vimeo, Dailymotion or link to mp4 videos located else where.
  • For variable products, you are able to associate videos only with certain product variations. Also you can, but not obligated to, define alternative video sources for shop languages...
  • Few other improvements in backend.
  • Tested with Prestashop 1.5, 1.6 and 1.7
Ver. 1.5.0
  • Added support for PHP 7.1 + small corrections.
Ver. 1.4.1
  • Small correction for uploading 360 images.
Ver. 1.4.0
  • Updated module settings. Also fixed a bug where individual settings for a 360 did not open in backend. This was due to PSR-2 coding style which caused JSON error.
Ver. 1.3.3
  • Fixed a bug for Prestashop 1.7 where the license data entered into module backend configuration were not read correctly.
Ver. 1.3.2
Small bugfix.
Ver. 1.3.1
Fixed loading correct images and 360 when calling a product variant directly for early 1.6 and 1.5 versions. Also converted to PSR-2-coding-style.
Ver. 1.2.20
The AJAX-ZOOM settings are not reset (set to defaults) when the module is uninstalled / installed or reset any more. Instead there is a button in module settings now which allows to reset to module defaults separately.
Ver. 1.2.19
Small bug correction.
Ver. 1.2.18
Small bug correction after update 1.2.17 which actually was a major update.
Ver. 1.2.17
  • Support for Prestashop 1.7
  • Implemented new mouseover (version 5)
For update from previous versions - overwrite module files, update axZm directory, reset module in backoffice and save settings once. Clear template cache if needed.
Ver. 1.2.16
Fixed a bug where single quotes in Product title leaded to json parse error in JS.
Ver. 1.2.15
Fixed a bug where double quotes in Product title leaded to json parse error in JS.
Ver. 1.2.14
Fixed Product Tour which was broken in Ver. 1.2.12 and 1.2.13
Ver. 1.2.13
Couple changes to frontend template for SEO.
Ver. 1.2.12
Small corrections.
Ver. 1.2.11
Module now tries to download latest version of AJAX-ZOOM instantly.
Ver. 1.2.10
Fixed a possible warning when uploading 360 from a folder (not zip file); Hopefully fixed SSL issue forever.
Ver. 1.2.8
Added new hotspot editor. Updated 360 product tour editor.
Ver. 1.2.7
Fixed SSL issues at couple places
Ver. 1.2.6
Fixed a bug created in 1.2.5 (uploading 360 images from folder or zip)
Ver. 1.2.5
Added missing image labels / titles to mouseover zoom flyout window.
Ver. 1.2.4
Added copy & paste code for placing 360 player into CMS or landing pages. Here an example.
Ver. 1.2.3
Bugfixes saving 360 product tour.
Ver. 1.2.2
Minor improvements.
Ver. 1.2.1
Some corrections for 360 degree "Product Tour".
Ver. 1.2.0
Added 360 degree "Product Tour".
Ver. 1.1.6
Security improvements.
Ver. 1.1.5
Minor improvements.
Ver. 1.1.4
Fixed SSL issue.
Ver. 1.1.3
Fixed some compatibility issues.
Ver. 1.1.2
Temporaly remove override ImageManager.php from /modules/override/ImageManager.php till we have an universal solution for that as it caused problems across different Prestashop versions.
Ver. 1.1.1
Fixed paths for multishop
Ver. 1.1.0
Fixed several bugs
Ver. 1.0.2
Sorted options according to documentation; few bugfixes; new options; gallery slider vertical over options (left or right)
Ver. 1.0.1
PrestaShop module released

Comments (1)

Laura Daniela 2016-08-14 23:21:46
Laura Daniela Thanks, you are the best

Leave a Comment

Looking for a place to add a personal image? Visit to get Your own gravatar, a globally-recognized avatar. After you're all setup, your personal image will be attached every time you comment.

To use live-support-chat, you need to have Skype installed on your device. In case live support over Skype is not available immediately, please leave us a message or send an email by using the contact form.

We answer every inquiry or question that relates to the AJAX-ZOOM software!