AJAX-ZOOM Demo Installation

PHP: 5.6.40
OS: FreeBSD
Safe mode: false
Sapi: apache2handler
Ioncube loader version: 6.1.0

Readme.txt

####################################################################

Plugin: jQuery AJAX-ZOOM
Copyright: Copyright (c) 2010-2015 Vadim Jacobi
License Agreement: http://www.ajax-zoom.com/index.php?cid=download
Version: 4.2.10
Date: 2015-10-04
Review: 2015-10-06
URL: http://www.ajax-zoom.com
Documentation: http://www.ajax-zoom.com/index.php?cid=docs

####################################################################

Docs:
See http://www.ajax-zoom.com/index.php?cid=docs for general installation and configuration instructions.

PrestaShop:
See http://www.ajax-zoom.com/index.php?cid=modules&module=prestashop

Magento:
See http://www.ajax-zoom.com/index.php?cid=modules&module=magento


xt:Commerce, Veyton, xtcModified, Gambio:
See http://www.ajax-zoom.com/index.php?cid=docs#install_xtc for installation instructions for xt:Commerce, Veyton, xtcModified, Gambio.


360 in all ecommerce plugins:
See http://www.ajax-zoom.com/index.php?cid=docs#install_360_shops for understanding 360 deg. object spin & zoom in all ecommerce plugins.


ASP.NET
Ajax-Zoom PHP component can run efficiently on ASP.NET 4.0 as a native fully managed 64-bit .NET application, as a part of ASP.NET web site.
This is achieved thanks to Phalanger PHP compiler. For more details see http://www.ajax-zoom.com/index.php?cid=docs#phalanger

Congratulations

AJAX-ZOOM should run on this server. In case You get an error stating, that images could not be found or broken layout, please open /axZm/zoomConfig.inc.php and set these options manually:


Reading this will save your time and protect your nerves

Each example in the download package as well as e-commerce plugins use a special configuration options set. Default options in "/axZm/zoomConfig.inc.php" are overridden in "/axZm/zoomConfigCustom.inc.php" which is included at the bottom of "zoomConfig.inc.php". This happens by passing an extra parameter "example=[some value]" to AJAX-ZOOM directly from examples or plugins over query string. To find out which "example" value is used see sourcecode of the implementation in question or inspect an ajax call to "/axZm/zoomLoad.php" with Firebug or an other developer tool. Thus your specific options set can be found in "zoomConfigCustom.inc.php" after elseif ($_GET['example'] == [some value]){. Please note that the value of example parameter passed over the query string to AJAX-ZOOM does not always correspond to the number of an example found in /examples folder of the download package.

Because AJAX-ZOOM is updated very frequently and its options base grows accordingly, the best practice is to copy options you need to change from "zoomConfig.inc.php" to "zoomConfigCustom.inc.php" after elseif ($_GET['example'] == [some value]). Ofcourse you can create your own [some value] in "zoomConfigCustom.inc.php". By keeping "zoomConfig.inc.php" as it is ($zoom['config']['licenceKey'] and $zoom['config']['licenceType'] can be copied as well at the beginning of zoomConfigCustom.inc.php before the if statement to serve all examples) you will be able to update your customized implementation by simply overwriting all files except "zoomConfigCustom.inc.php" and custom css file.

Important: in the CSS file (/axZm/axZm.css) please do not add any width, height, margin or other "px" values, unless they are already present there and You just want to change them! Since/axZm/axZm.css is updated from time to time as well, you can override CSS classes in /axZm/axZmCustom.css (add !important if needed) and / or in /axZm/styles/default/style.css; The default style is "default".

Skinning:

In order to change the template into your own (skin AJAX-ZOOM) simply set $zoom['config']['buttonSet'] option, create a subfolder under /axZm/icons/[yourTemplate] and put your buttons into it (copy them from /axZm/icons/default at first). Also create a new CSS file in /axZm/styles/[yourTemplate]/style.css; If needed adjust the width and height of the buttons (w and h keys) by editing corresponding $zoom['config']['icons'] array,
e.g. $zoom['config']['icons']['pan'] = array('file'=>'zoombutton_pan', 'ext'=>'jpg', 'w'=>31, 'h'=>31);

360 & 3D info

VERY IMPORTANT THINGs TO TAKE ACCOUNT OF WITH 360 OR 3D
Every image must have an unique filename!!! This is also the case if images are prepared for completely different 360s or 3D; If all your source images happen to have the same filenames (e.g. spin001.jpg, spin002.jpg, [...], spin036.jpg), you could then prefix each image of a spin e.g. with the product ID or something else logical to ensure this uniqueness, e.g.
/360_source_images/123/123_spin001.jpg,
/360_source_images/123/123_spin002.jpg,
/360_source_images/123/123_spin003.jpg,
[...],
/360_source_images/123/123_spin036.jpg


3D (MULTIROW / SPHECICAL)
The only difference between regular 360 spin and multirow is that original images are placed in subfolders of the target folder. E.g. the path along with the example parameter passed to AJAX-ZOOM is "example=spinIpad&3dDir=/pic/zoomVR/nike"; Now if it is 3D (multirow) and not 360, then images of each row are placed in subfolders of the target 3dDir parameter, e.g. /pic/zoomVR/nike/0, /pic/zoomVR/nike/15, /pic/zoomVR/nike/30, /pic/zoomVR/nike/45, /pic/zoomVR/nike/60, /pic/zoomVR/nike/75, /pic/zoomVR/nike/90; It is not important how these subfolders are named (e.g. it could be row1, row2 ...) and you also do not need to define these subfolder names anywhere. AJAX-ZOOM will instantly detect them and process all the images in them. For more info and visualization of the file structure see example28.php

Batch processing images

AJAX-ZOOM is designed to create all needed images like thumbs and tiles on-the-fly. However if you have thousands of images it is a good idea to batch process all existing images planned to be shown over AJAX-ZOOM before launching it. This can be done in /axZm/zoomBatch.php; in order to access this file you will need to open it with an editor and set your personal password in it.

Have fun with AJAX-ZOOM.

Local examples

Local examples do not contain high-resolution images. Please find these and other examples with high-resolution images at
http://www.ajax-zoom.com/index.php?cid=examples

example35_responsive.php
example35_gallery.php
example35_clean_horizontal.php
example35_clean.php
example35.php
example34.php
example33_vario.php
example33_responsive.php
example33_fullscreen.php
example33_clean.php
example33.php
example32_responsive_vertical.php
example32_responsive.php
example32_no_slider.php
example32_clean_vertical.php
example32_clean.php
example32.php
example31_responsive.php
example31.php
example30.php
example29_responsive_horizontal.php
example29_responsive_easy.php
example29_responsive.php
example29_no_slider.php
example29_fullscreen.php
example29_clean_old.php
example29_clean.php
example29.php
example28_fullscreen.php
example28_clean.php
example28.php
example27.php
example26.php
example25.php
example24.php
example23.php
example22.php
example21.php
example20_clean.php
example20.php
example19.php
example18.php
example17.php
example16.php
example15_responsive.php
example15_gallery_clean.php
example15_fullscreen.php
example15_clean.php
example15.php
example14.php
example13.php
example12_responsive.php
example12.php
example11.php
example10.php
example9.php
example8.php
example7.php
example6_cms.php
example6.php
example5.php
example4.php
example3.php
example2.php
example1.php