PrestaShop module

Demo front-office Download PrestaShop module 1.5 - 1.6 Download AJAX-ZOOM
Module for PrestaShop 1.7 is ready and will be released soon!

In the front office AJAX-ZOOM PrestaShop module is based on responsive mouseover zoom + optional 360°. In the back office there is a possibility for administrators to upload several 360's or import them from zip files, which were previously uploaded e.g. over ftp. Each individual 360° can be configured with separate AJAX-ZOOM settings and attached to a properties combinations same way it can be done with regular images on default.

For regular images there are no changes except that when the module is istalled the quality of the images is not reduces after upload any more.

General features

  • Absolutly responsive mouseover area and flyout zoom window
  • Adjustable to fit the size of any responsive elements on the page over smart jQuery like selector
  • Adjustable for fixed or flexible image proportions
  • Permanent or automatic inner zoom depending on resolution and responsive layout
  • Support for PrestaShop images tied to product variations
  • Works great on touch-enabled devices
  • Optional 360°/3D support with (pinch) zoom and full screen view
  • Optional responsive thumbnails slider integration
  • Responsive modal or full screen views on click with AJAX-ZOOM
  • Fast "progressive" loading of high resolution images
  • Instant (on-the-fly) generation of all thumbnails
  • Integrated pinterest button
  • 100+ other options
  • All components adjustable over PrestaShop module settings
  • API for developers of all skill levels
  • Continuous development and improvements, technical support

Back office screenshots

360 degree "Product Tour"

Hotspot editor

Front office screenshots

CMS Screenshots

Handling regular images

For the regular images there is no need to do anything. You can upload them as always. However depending on PrestaShop version the original uploaded images might be already compressed by 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.

Handling 360°/3D

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

  • Define one ore more 360° spins for the product.
  • Upload 360° images right from the backend or
  • Select a zip file which contains images for a 360° set to import. These zip files must be uploaded in '/modules/ajaxzoom/zip/' directory and can be removed later.
  • After importing or uploading the images manually you will be able to make some adjustments for this particular 360°, e.g. change rotation speed and many other options available for AJAX-ZOOM.
  • Preview 360° in Fancybox before publishing.
  • Activate / deactivate 360° view.
  • Select combinations, e.g. color and size for which a 360° view should be shown. You can add more than one 360° view for a product.
  • Create a 360° "Product Tour" with descriptions, videos... No programming knowledge is required.
  • Get the Copy & Paste code for also inserting 360 animations into CMS / landing pages. Here is an example.


  • PHP 5.2+
  • PrestaShop Ver. 1.5.1 or later (1.6 is fully supported)
  • Free Ioncube loaders or Sourceguardian loaders installed on the server
  • AJAX-ZOOM main script files downloaded separately (might not needed with PrestaShop module version 1.2.11+, try to install the module first)
  • If you want to upload high resolution images, then in your php.ini you should change the values for: post_max_size and upload_max_filesize


  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 if you are using the module downloaded from our website but might be needed if after installation you will not find '/modules/ajaxzoom/axZm' directory (instant download might fail for various reasons).
  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. In case it does not work as expected please read the instructions in the modules config page.
  9. Should you be not able to adjust AJAX-ZOOM to work perfectly in a theme on your own, please contact AJAX-ZOOM support.


"TECHNICAL ERROR" alert in back office

Mostly this errors result because of Cross-Origin policy of the browsers for AJAX requests. We should have fixed all the problems related to this issue by now, however if you have activated a redirect e.g. from to (without www) for frontend (or other way around), then please also login under into your backend (same as redirect for the frontend, so if in the front end you have redirect to, then please also login under in the back office). Same with protocols - http and https. If e.g. every request is redirected to https on frontend, then also please login to your backend over https.

Uploaded images are not shown

Please check that Ioncube Loaders are installed. If you have installed Ioncube Loaders over "local" php.ini file, placed in a directory, them copy the same file into, or create php.ini with something like zend_extension=/vrmd/webserver/php56/lib/, also into /modules/ajaxzoom/axZm/php.ini

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

Ver. 4.2.11+ if 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:

  • $zoom['config']['fpPP'] = 'C:/xampp/apps/prestashop/htdocs';
  • $zoom['config']['installPath'] = '/modules/ajaxzoom';
  • $zoom['config']['urlPath'] = '/prestashop/modules/ajaxzoom';
  • $zoom['config']['rewriteBase'] = '/prestashop';

product.tpl problems

In some themes in product.tpl the {if isset($HOOK_PRODUCT_FOOTER) && $HOOK_PRODUCT_FOOTER}{$HOOK_PRODUCT_FOOTER}{/if} might be missing or "hidden" inside a different "if" statement. This is not something we could do about over our module, so in case there are no JS errors and there are no changes on product detail page, please make sure that the above HOOK code is present and does not depend on any other conditions.

Uploaded images are compressed

Update: this issue seems to be fixed in AJAX-ZOOM module for Prestashop Ver. 1.1.3 Unlike other ecommerce software we know Prestashop compresses original uploaded images which reduces image quality. The solution to prevent this is to override "resize" method in "ImageManagerCore". The problem we did not solve yet is that overriding this method over our module causes incompatibility issues across different Prestashop versions, especially if developer mode is enabled. So if you want to prevent Prestashop to compress your originally uploaded images you can override the "resize" method on your own just about like this:

	public static function resize(
		$dst_width = null, 
		$dst_height = null, 
		$file_type = 'jpg', 
		$force_type = false, 
		&$error = 0
	) {
		if(Configuration::get('AZ_UPLOADNOCOMPRESS') == 'true' && $dst_width == null && $dst_height == null) {
			return copy($src_file, $dst_file);
		} else {
			return parent::resize(

The above code would work in 1.6.0.x versions. However e.g. in 1.5.x there is no $error argument. In Prestashop 1.6.1.x however there are many other arguments in "resize" method. Open /classes/ImageManager.php, find public static function resize( method and adjust the above code in your override according to the argumets present in this class. Make sure that the arguments in public static function resize( match the argumets in return parent::resize(

Mouseover image does not show any more (sometimes)

In former module versions the "Pinterest" button was activated on default. Unfortunately the JavaScript for this Pinterest button was loaded from external source. Now this JavaScript was changed by Pinterest and it does produce JavaScript errors now, which might lead to mouseover images not loading properly. Please go to Backend of the Module and deactivate the Pinterest button!!! We will reimplement the integration without relying on external script from Pinterest as next.

Some images in products show correctly, others do not (blank)

Update: this issue was fixed in AJAX-ZOOM Ver. 4.2.18; please update /modules/ajaxzoom/axZm folder!

In short: use only first option "Use JPEG" under PREFERENCES->Images as there are no better alternatives in Prestashop so far. If you encounter this issue on some products, you should set "Use JPEG" and reupload the images.

Prestashop saves all images uploaded by the admin as JPG even if they are PNG. On default (first option) which can be found at PREFERENCES->Images, the png images are converted to JPG which is somewhat acceptable, although not optimal (see issue above). Other than that there are two Prestashop "exclusive" options for handling images (at least we did not see it somewhere else used extensively). The second "Use PNG only if the base image is in PNG format" keeps png format only for images, which are in real PNG images but still saves them as JPG. The third and the last one "Use PNG for all images" converts all images into PNG but again, saves them as JPG in file system.

Most third party scripts which use GD get confused if PNG image is saved as JPG without converting it. It is also said in the Prestashop settings - "WARNING: This feature may not be compatible with your theme, or with some of your modules. In particular, PNG mode is not compatible with the Watermark module. If you encounter any issues, turn it off by selecting "Use JPEG"." So does AJAX-ZOOM at the moment gets confused if GD and not ImageMagick is used. ImageMagick has to be explicitly enabled for AJAX-ZOOM in config file and also installed on the server as it is mostly not included in standard server installations.


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


Download PrestaShop module 1.5 - 1.6 Download AJAX-ZOOM
Module for PrestaShop 1.7 is ready and will be released soon!

Please note that you might need to download both: AJAX-ZOOM PrestaShop module and AJAX-ZOOM itself separately, see also installing section above.

Also there is no need to order AJAX-ZOOM before you have successfully installed and tested it!


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

Name (required):
Email (required):
Your comment (no html):
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.