Version Notes
Fixed missing media.phtml in the package
Download this release
Release Info
| Developer | AJAX-ZOOM |
| Extension | AJAX_ZOOM |
| Version | 1.0.5 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.4 to 1.0.5
app/code/local/Ax/Zoom/etc/config.xml
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/config.xml
|
| 5 |
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
| 6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
| 7 |
-
* Version: 1.0.
|
| 8 |
* Date: 2015-10-26
|
| 9 |
* Review: 2015-10-26
|
| 10 |
* URL: http://www.ajax-zoom.com
|
|
@@ -19,7 +19,7 @@
|
|
| 19 |
|
| 20 |
<modules>
|
| 21 |
<Ax_Zoom>
|
| 22 |
-
<version>1.0.
|
| 23 |
</Ax_Zoom>
|
| 24 |
</modules>
|
| 25 |
|
| 4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/config.xml
|
| 5 |
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
| 6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
| 7 |
+
* Version: 1.0.5
|
| 8 |
* Date: 2015-10-26
|
| 9 |
* Review: 2015-10-26
|
| 10 |
* URL: http://www.ajax-zoom.com
|
| 19 |
|
| 20 |
<modules>
|
| 21 |
<Ax_Zoom>
|
| 22 |
+
<version>1.0.5</version>
|
| 23 |
</Ax_Zoom>
|
| 24 |
</modules>
|
| 25 |
|
app/design/frontend/base/default/template/ax_zoom/catalog/product/view/media.phtml
ADDED
|
@@ -0,0 +1,526 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/base/default/template/ax_zoom/catalog/product/view/media.phtml
|
| 4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
| 5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
| 6 |
+
* Version: 1.0.4
|
| 7 |
+
* Date: 2015-10-26
|
| 8 |
+
* Review: 2015-10-26
|
| 9 |
+
* URL: http://www.ajax-zoom.com
|
| 10 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
| 11 |
+
*
|
| 12 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
| 13 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
| 14 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
| 15 |
+
*/
|
| 16 |
+
|
| 17 |
+
$productId = Mage::app()->getRequest()->getParam('id');
|
| 18 |
+
$ax = Mage::getModel('axzoom/ax360');
|
| 19 |
+
$conf = Mage::getStoreConfig('axzoom_options');
|
| 20 |
+
$axZmPath = Mage::getBaseUrl('js') . 'axzoom/axZm/';
|
| 21 |
+
$product = Mage::getModel('catalog/product')->load($productId);
|
| 22 |
+
$images360Json = $ax->images360Json($productId);
|
| 23 |
+
$imagesJsonAll = array();
|
| 24 |
+
|
| 25 |
+
$az_gallery_position = $conf['main']['galleryPosition'];
|
| 26 |
+
if (!$az_gallery_position){$az_gallery_position = 'bottom';}
|
| 27 |
+
?>
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
<script type="text/javascript">
|
| 31 |
+
// Fallback if catalog_product_view reference name="head" is not loaded
|
| 32 |
+
var mageAzJsUrl = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS).'axzoom/'; ?>';
|
| 33 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_fallback.js'%3E%3C/script%3E"));
|
| 34 |
+
</script>
|
| 35 |
+
|
| 36 |
+
<?php if ($az_gallery_position == 'bottom') { ?>
|
| 37 |
+
<!-- AJAX-ZOOM mouseover block gallery bottom -->
|
| 38 |
+
<div id="az_mouseOverZoomParent" style="position: relative; background-color: #FFFFFF;">
|
| 39 |
+
<!-- Container for mouse over image -->
|
| 40 |
+
<div id="az_mouseOverZoomContainer">
|
| 41 |
+
<?php echo $this->__('Zoom loading...');?>
|
| 42 |
+
</div>
|
| 43 |
+
|
| 44 |
+
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
| 45 |
+
<div id="az_mouseOverZoomGallery">
|
| 46 |
+
<?php echo $this->__('Gellery loading...');?>
|
| 47 |
+
</div>
|
| 48 |
+
</div>
|
| 49 |
+
<?php } elseif ($az_gallery_position == 'top') { ?>
|
| 50 |
+
<!-- AJAX-ZOOM mouseover block gallery top -->
|
| 51 |
+
<div id="az_mouseOverZoomParent" style="position: relative;">
|
| 52 |
+
|
| 53 |
+
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
| 54 |
+
<div id="az_mouseOverZoomGallery" style="position: relative; margin-bottom: 10px; height: 76px; width: 100%;">
|
| 55 |
+
<?php echo $this->__('Gellery loading...');?>
|
| 56 |
+
</div>
|
| 57 |
+
|
| 58 |
+
<!-- Container for mouse over image -->
|
| 59 |
+
<div id="az_mouseOverZoomContainer" style="position: relative; background-color: #FFFFFF; border: #AAA 1px solid;">
|
| 60 |
+
<?php echo $this->__('Mouseover Zoom loading...');?>
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<?php } elseif ($az_gallery_position == 'left') { ?>
|
| 64 |
+
<!-- AJAX-ZOOM mouseover block gallery left -->
|
| 65 |
+
<div id="az_mouseOverZoomParent" style="position: relative; width: 100%; margin-bottom: 20px;">
|
| 66 |
+
|
| 67 |
+
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
| 68 |
+
<div id="az_mouseOverZoomGallery" style="position: absolute; margin-top: 0; width: 72px; z-index: 1; height: 100%;">
|
| 69 |
+
<?php echo $this->__('Gellery loading...');?>
|
| 70 |
+
</div>
|
| 71 |
+
|
| 72 |
+
<!-- Parent container for offset to the left or right -->
|
| 73 |
+
<div id="az_mouseOverZoomContainerParentGalleryLeft" style="margin-left: 80px; min-height: 100px;">
|
| 74 |
+
|
| 75 |
+
<!-- Container for mouse over image -->
|
| 76 |
+
<div id="az_mouseOverZoomContainer" style="position: relative; border: #AAA 1px solid; background-color: #FFFFFF; padding: 0;">
|
| 77 |
+
<?php echo $this->__('Mouseover Zoom loading...');?>
|
| 78 |
+
</div>
|
| 79 |
+
</div>
|
| 80 |
+
</div>
|
| 81 |
+
<?php } elseif ($az_gallery_position == 'right') { ?>
|
| 82 |
+
<!-- AJAX-ZOOM mouseover block gallery right -->
|
| 83 |
+
<div id="az_mouseOverZoomParent" style="position: relative; width: 100%; margin-bottom: 20px;">
|
| 84 |
+
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
| 85 |
+
<div id="az_mouseOverZoomGallery" style="position: absolute; margin-top: 0; right: 0; width: 72px; z-index: 1; height: 100%;">
|
| 86 |
+
<?php echo $this->__('Gellery loading...');?>
|
| 87 |
+
</div>
|
| 88 |
+
|
| 89 |
+
<!-- Parent container for offset to the left or right -->
|
| 90 |
+
<div id="az_mouseOverZoomContainerParentGalleryRight" style="margin-right: 80px; min-height: 100px;">
|
| 91 |
+
|
| 92 |
+
<!-- Container for mouse over image -->
|
| 93 |
+
<div id="az_mouseOverZoomContainer" style="position: relative; border: #AAA 1px solid; background-color: #FFFFFF; padding: 0;">
|
| 94 |
+
<?php echo $this->__('Mouseover Zoom loading...');?>
|
| 95 |
+
</div>
|
| 96 |
+
</div>
|
| 97 |
+
</div>
|
| 98 |
+
|
| 99 |
+
<?php } ?>
|
| 100 |
+
|
| 101 |
+
<?php
|
| 102 |
+
// 360 assigned from configurable products to Simple products
|
| 103 |
+
$map = array();
|
| 104 |
+
if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData()) {
|
| 105 |
+
foreach ($groups as $group) {
|
| 106 |
+
$comp = Mage::helper('core')->jsonDecode($group['combinations']);
|
| 107 |
+
if ($comp) {
|
| 108 |
+
foreach ($comp as $pid) {
|
| 109 |
+
if (!isset($map[$pid])) {
|
| 110 |
+
$map[$pid] = array();
|
| 111 |
+
}
|
| 112 |
+
array_push($map[$pid], $group['id_360']);
|
| 113 |
+
}
|
| 114 |
+
}
|
| 115 |
+
}
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
// all attributes map
|
| 119 |
+
$mapAttributesCodeId = array();
|
| 120 |
+
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
|
| 121 |
+
foreach ($attributes as $attribute){
|
| 122 |
+
$mapAttributesCodeId[$attribute->getAttributecode()] = $attribute->getId();
|
| 123 |
+
}
|
| 124 |
+
$mapAttributesIdCode = array_flip($mapAttributesCodeId);
|
| 125 |
+
|
| 126 |
+
// get configurable options
|
| 127 |
+
if ($product->type_id == 'configurable') {
|
| 128 |
+
$attributesCodes = array();
|
| 129 |
+
$productAttributesOptions = $product->getTypeInstance(true)->getConfigurableOptions($product);
|
| 130 |
+
foreach ($productAttributesOptions as $productAttributeId => $productAttributeOption) {
|
| 131 |
+
$attributesCodes[] = $mapAttributesIdCode[$productAttributeId];
|
| 132 |
+
}
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
// get associated products
|
| 136 |
+
$res = array();
|
| 137 |
+
if ($product->isConfigurable()) {
|
| 138 |
+
$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
|
| 139 |
+
|
| 140 |
+
foreach ($childProducts as $child) {
|
| 141 |
+
|
| 142 |
+
$data = $child->getData();
|
| 143 |
+
$p = Mage::getModel('catalog/product')->load($data['entity_id']);
|
| 144 |
+
|
| 145 |
+
$pairs = array();
|
| 146 |
+
$labels = array();
|
| 147 |
+
|
| 148 |
+
foreach ($attributesCodes as $code) { // $code is e.g. color or size
|
| 149 |
+
$pairs[] = $mapAttributesCodeId[$code] . ':' . $data[$code]; // generate pairs of attribures
|
| 150 |
+
$attr = $product->getResource()->getAttribute($code);
|
| 151 |
+
|
| 152 |
+
// We need to get default label value and not language value - getAllOptions(false, true) will return default values
|
| 153 |
+
// http://docs.magentocommerce.com/Mage_Eav/Mage_Eav_Model_Entity_Attribute_Source_Table.html
|
| 154 |
+
$option_label = $ax->findDefaultLabelValue($attr->getSource()->getAllOptions(false, true), $data[$code]);
|
| 155 |
+
if ($option_label == false){
|
| 156 |
+
// This would return language specific values
|
| 157 |
+
$option_label = $attr->getSource()->getOptionText($data[$code]);
|
| 158 |
+
}
|
| 159 |
+
|
| 160 |
+
array_push($labels, trim($option_label));
|
| 161 |
+
}
|
| 162 |
+
|
| 163 |
+
$idx = implode(',', $pairs);
|
| 164 |
+
$res[$idx] = array();
|
| 165 |
+
|
| 166 |
+
$obj = null;
|
| 167 |
+
$cnt = 0;
|
| 168 |
+
|
| 169 |
+
// add native images
|
| 170 |
+
foreach ($p->getMediaGalleryImages() as $image) {
|
| 171 |
+
$tmp = parse_url($image->getUrl());
|
| 172 |
+
if (!$obj) $obj = new stdClass;
|
| 173 |
+
$params = new stdClass;
|
| 174 |
+
$params->img = $tmp['path'];
|
| 175 |
+
array_push($imagesJsonAll, $tmp['path']);
|
| 176 |
+
$params->title = '';
|
| 177 |
+
$obj->$cnt = $params;
|
| 178 |
+
$cnt++;
|
| 179 |
+
}
|
| 180 |
+
|
| 181 |
+
// add related images via labels (images from configurable product)
|
| 182 |
+
foreach ($product->getMediaGalleryImages() as $image) {
|
| 183 |
+
if ($image->label_default != '' && in_array(trim($image->label_default), $labels)) {
|
| 184 |
+
$tmp = parse_url($image->getUrl());
|
| 185 |
+
if (!$obj) $obj = new stdClass;
|
| 186 |
+
$params = new stdClass;
|
| 187 |
+
$params->img = $tmp['path'];
|
| 188 |
+
array_push($imagesJsonAll, $tmp['path']);
|
| 189 |
+
$params->title = '';
|
| 190 |
+
$obj->$cnt = $params;
|
| 191 |
+
$cnt++;
|
| 192 |
+
}else{
|
| 193 |
+
$tmp = parse_url($image->getUrl());
|
| 194 |
+
array_push($imagesJsonAll, $tmp['path']);
|
| 195 |
+
}
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
if ($obj != null){
|
| 199 |
+
$res[$idx]['images'] = $obj;
|
| 200 |
+
} else {
|
| 201 |
+
$res[$idx]['images'] = new stdClass();
|
| 202 |
+
}
|
| 203 |
+
|
| 204 |
+
$extraGroups = empty($map[$data['entity_id']]) ? array() : $map[$data['entity_id']];
|
| 205 |
+
$res[$idx]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['entity_id'], $extraGroups)));
|
| 206 |
+
}
|
| 207 |
+
}
|
| 208 |
+
|
| 209 |
+
// Prepare json for AJAX-ZOOM
|
| 210 |
+
$cnt = 0;
|
| 211 |
+
$imagesJson = array();
|
| 212 |
+
$imagesJsonAll = array_unique($imagesJsonAll);
|
| 213 |
+
|
| 214 |
+
// Some images present
|
| 215 |
+
if (count($this->getGalleryImages()) > 0) {
|
| 216 |
+
|
| 217 |
+
// If no base image is defined and there is only one image in the gallery and there is a 360 view for this product, then we do not show this image at all.
|
| 218 |
+
// You can change it by setting the radio button "Base Image" under product configuration -> Images
|
| 219 |
+
if (!($images360Json != '{}' && count($this->getGalleryImages()) == 1 && $product->getImage() == 'no_selection')){
|
| 220 |
+
|
| 221 |
+
// Loop over gallery images
|
| 222 |
+
foreach ($this->getGalleryImages() as $image) {
|
| 223 |
+
|
| 224 |
+
$check_image = false;
|
| 225 |
+
|
| 226 |
+
if (method_exists($this, 'isGalleryImageVisible')) {
|
| 227 |
+
$check_image = $this->isGalleryImageVisible($image);
|
| 228 |
+
} else {
|
| 229 |
+
$check_image = true;
|
| 230 |
+
}
|
| 231 |
+
|
| 232 |
+
if ($check_image) {
|
| 233 |
+
$cnt++;
|
| 234 |
+
$tmp = parse_url($image->getUrl());
|
| 235 |
+
array_push($imagesJson, $cnt . ': {img: "' . $tmp['path'] . '", title: ""}');
|
| 236 |
+
}
|
| 237 |
+
}
|
| 238 |
+
}
|
| 239 |
+
}
|
| 240 |
+
// No images present
|
| 241 |
+
else if ($conf['magento']['magentoNoImage'])
|
| 242 |
+
{
|
| 243 |
+
if ($image_url = $this->helper('catalog/image')->init($product, 'image')) {
|
| 244 |
+
$tmp = parse_url($image_url);
|
| 245 |
+
array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
|
| 246 |
+
}
|
| 247 |
+
}
|
| 248 |
+
|
| 249 |
+
|
| 250 |
+
|
| 251 |
+
?>
|
| 252 |
+
|
| 253 |
+
|
| 254 |
+
<?php
|
| 255 |
+
//MAIN_GALLERYPOSITION
|
| 256 |
+
echo $this->getChildHtml('after');
|
| 257 |
+
?>
|
| 258 |
+
|
| 259 |
+
<!-- AJAX-ZOOM js block -->
|
| 260 |
+
<script type="text/javascript">
|
| 261 |
+
;(function($){
|
| 262 |
+
|
| 263 |
+
// Load plugin settings
|
| 264 |
+
<?php
|
| 265 |
+
$exclParArray = array('LICENSE_LIC');
|
| 266 |
+
foreach ($conf as $group => $data){
|
| 267 |
+
foreach ($data as $key => $value){
|
| 268 |
+
$groupKey = strtoupper($group . '_' . $key);
|
| 269 |
+
if (!in_array($groupKey, $exclParArray)){
|
| 270 |
+
if ($value == 'false' || $value == 'true' || $value == 'null' || is_numeric($value) || substr(trim($value), 0, 1) == '{' || substr(trim($value), 0, 1) == '['){
|
| 271 |
+
echo ' var AJAXZOOM_' . $groupKey . ' = ' . $value . '; ' . "\n";
|
| 272 |
+
} else {
|
| 273 |
+
echo ' var AJAXZOOM_' . $groupKey . ' = "' . str_replace('"', '"', $value) . '"; ' . "\n";
|
| 274 |
+
}
|
| 275 |
+
}
|
| 276 |
+
}
|
| 277 |
+
}
|
| 278 |
+
?>
|
| 279 |
+
|
| 280 |
+
var AXZMPATH = '<?php echo $axZmPath; ?>';
|
| 281 |
+
|
| 282 |
+
// Colors / attributes
|
| 283 |
+
var axAssociated = jQuery.parseJSON('<?php echo Mage::helper('core')->jsonEncode($res); ?>');
|
| 284 |
+
|
| 285 |
+
// Default plain images
|
| 286 |
+
<?php if ($conf['magento']['magentoAllImagesStart'] == 'true'){ ?>
|
| 287 |
+
var IMAGES_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
|
| 288 |
+
<?php } else { ?>
|
| 289 |
+
var IMAGES_JSON = {<?php echo implode(',', $imagesJson);?>};
|
| 290 |
+
<?php } ?>
|
| 291 |
+
|
| 292 |
+
// All images
|
| 293 |
+
var IMAGES_ALL_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
|
| 294 |
+
|
| 295 |
+
// Default 360
|
| 296 |
+
var IMAGES_360_JSON = <?php echo $images360Json; ?>;
|
| 297 |
+
|
| 298 |
+
// Need that later for not reloading if images are the same
|
| 299 |
+
var IMAGES_AND_360_LOADED = JSON.stringify({
|
| 300 |
+
images: jQuery.extend(true, {}, IMAGES_JSON),
|
| 301 |
+
images360: jQuery.extend(true, {}, IMAGES_360_JSON)
|
| 302 |
+
});
|
| 303 |
+
|
| 304 |
+
// AJAX-ZOOM mouseover and other parameters
|
| 305 |
+
var zoomParams = {
|
| 306 |
+
disableAllMsg: AJAXZOOM_MAIN_DISABLEALLMSG,
|
| 307 |
+
axZmPath: AXZMPATH,
|
| 308 |
+
divID: AJAXZOOM_MAIN_DIVID,
|
| 309 |
+
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
| 310 |
+
hideGalleryOneImage: AJAXZOOM_MAIN_HIDEGALLERYONEIMAGE,
|
| 311 |
+
hideGalleryAddClass: AJAXZOOM_MAIN_HIDEGALLERYADDCLASS,
|
| 312 |
+
galleryHover: AJAXZOOM_MAIN_GALLERYHOVER,
|
| 313 |
+
galleryAxZmThumbSlider: AJAXZOOM_MAIN_GALLERYAXZMTHUMBSLIDER,
|
| 314 |
+
galleryAxZmThumbSliderParam: (AJAXZOOM_MAIN_GALLERYPOSITION == 'bottom' || AJAXZOOM_MAIN_GALLERYPOSITION == 'top') ? AJAXZOOM_MAIN_GALLERYAXZMTHUMBSLIDERPARAM : AJAXZOOM_MAIN_GALLERYAXZMTHUMBSLIDERPARAM_VERTICAL,
|
| 315 |
+
thumbW: AJAXZOOM_MAIN_THUMBW,
|
| 316 |
+
thumbH: AJAXZOOM_MAIN_THUMBH,
|
| 317 |
+
thumbRetina: AJAXZOOM_MAIN_THUMBRETINA,
|
| 318 |
+
qualityThumb: AJAXZOOM_MAIN_QUALITYTHUMB,
|
| 319 |
+
quality: AJAXZOOM_MAIN_QUALITY,
|
| 320 |
+
qualityZoom: AJAXZOOM_MAIN_QUALITYZOOM,
|
| 321 |
+
images: IMAGES_JSON,
|
| 322 |
+
firstImageToLoad: AJAXZOOM_MAIN_FIRSTIMAGETOLOAD,
|
| 323 |
+
images360: IMAGES_360_JSON,
|
| 324 |
+
images360firstToLoad: AJAXZOOM_MAIN_IMAGES360FIRSTTOLOAD,
|
| 325 |
+
images360Thumb: AJAXZOOM_MAIN_IMAGES360THUMB,
|
| 326 |
+
images360Overlay: AJAXZOOM_MAIN_IMAGES360OVERLAY,
|
| 327 |
+
images360Preview: AJAXZOOM_MAIN_IMAGES360PREVIEW,
|
| 328 |
+
images360PreviewResponsive: AJAXZOOM_MAIN_IMAGES360PREVIEWRESPONSIVE,
|
| 329 |
+
images360examplePreview: AJAXZOOM_MAIN_IMAGES360EXAMPLEPREVIEW,
|
| 330 |
+
zoomMsg360: AJAXZOOM_MAIN_ZOOMMSG360,
|
| 331 |
+
zoomMsg360_touch: AJAXZOOM_MAIN_ZOOMMSG360_TOUCH,
|
| 332 |
+
preloadMouseOverImages: AJAXZOOM_MAIN_PRELOADMOUSEOVERIMAGES,
|
| 333 |
+
noImageAvailableClass: AJAXZOOM_MAIN_NOIMAGEAVAILABLECLASS,
|
| 334 |
+
width: AJAXZOOM_MAIN_WIDTH,
|
| 335 |
+
height: AJAXZOOM_MAIN_HEIGHT,
|
| 336 |
+
responsive: AJAXZOOM_MAIN_RESPONSIVE,
|
| 337 |
+
oneSrcImg: AJAXZOOM_MAIN_ONESRCIMG,
|
| 338 |
+
heightRatio: AJAXZOOM_MAIN_HEIGHTRATIO,
|
| 339 |
+
heightMaxWidthRatio: AJAXZOOM_MAIN_HEIGHTMAXWIDTHRATIO,
|
| 340 |
+
widthRatio: AJAXZOOM_MAIN_WIDTHRATIO,
|
| 341 |
+
widthMaxHeightRatio: AJAXZOOM_MAIN_WIDTHMAXHEIGHTRATIO,
|
| 342 |
+
maxSizePrc: AJAXZOOM_MAIN_MAXSIZEPRC,
|
| 343 |
+
mouseOverZoomWidth: AJAXZOOM_MAIN_MOUSEOVERZOOMWIDTH,
|
| 344 |
+
mouseOverZoomHeight: AJAXZOOM_MAIN_MOUSEOVERZOOMHEIGHT,
|
| 345 |
+
ajaxZoomOpenMode: AJAXZOOM_MAIN_AJAXZOOMOPENMODE,
|
| 346 |
+
fancyBoxParam: AJAXZOOM_MAIN_FANCYBOXPARAM,
|
| 347 |
+
colorBoxParam: AJAXZOOM_MAIN_COLORBOXPARAM,
|
| 348 |
+
example: AJAXZOOM_MAIN_EXAMPLE,
|
| 349 |
+
exampleFancyboxFullscreen: AJAXZOOM_MAIN_EXAMPLEFANCYBOXFULLSCREEN,
|
| 350 |
+
exampleFancybox: AJAXZOOM_MAIN_EXAMPLEFANCYBOX,
|
| 351 |
+
exampleColorbox: AJAXZOOM_MAIN_EXAMPLECOLORBOX,
|
| 352 |
+
enforceFullScreenRes: AJAXZOOM_MAIN_ENFORCEFULLSCREENRES,
|
| 353 |
+
prevNextArrows: AJAXZOOM_MAIN_PREVNEXTARROWS,
|
| 354 |
+
disableScrollAnm: AJAXZOOM_MAIN_DISABLESCROLLANM,
|
| 355 |
+
fullScreenApi: AJAXZOOM_MAIN_FULLSCREENAPI,
|
| 356 |
+
axZmCallBacks: AJAXZOOM_MAIN_AXZMCALLBACKS,
|
| 357 |
+
azOptions: AJAXZOOM_MAIN_AZOPTIONS,
|
| 358 |
+
azOptions360: AJAXZOOM_MAIN_AZOPTIONS360,
|
| 359 |
+
postMode: AJAXZOOM_MAIN_POSTMODE,
|
| 360 |
+
pinterest: {
|
| 361 |
+
enabled: AJAXZOOM_PINTEREST_ENABLED,
|
| 362 |
+
build: AJAXZOOM_PINTEREST_BUILD,
|
| 363 |
+
wrapClass: AJAXZOOM_PINTEREST_WRAPCLASS,
|
| 364 |
+
btnSrc: AJAXZOOM_PINTEREST_BTNSRC,
|
| 365 |
+
data: { // any data attributes
|
| 366 |
+
"pin-do" : "buttonPin",
|
| 367 |
+
"pin-shape": null,
|
| 368 |
+
"pin-config": "none",
|
| 369 |
+
"pin-color": null,
|
| 370 |
+
"pin-height": null
|
| 371 |
+
}
|
| 372 |
+
},
|
| 373 |
+
mouseOverZoomParam: {
|
| 374 |
+
position: AJAXZOOM_MOUSEOVERZOOMPARAM_POSITION,
|
| 375 |
+
posAutoInside: AJAXZOOM_MOUSEOVERZOOMPARAM_POSAUTOINSIDE,
|
| 376 |
+
touchScroll: AJAXZOOM_MOUSEOVERZOOMPARAM_TOUCHSCROLL,
|
| 377 |
+
noMouseOverZoom: AJAXZOOM_MOUSEOVERZOOMPARAM_NOMOUSEOVERZOOM,
|
| 378 |
+
autoFlip: AJAXZOOM_MOUSEOVERZOOMPARAM_AUTOFLIP,
|
| 379 |
+
biggestSpace: AJAXZOOM_MOUSEOVERZOOMPARAM_BIGGESTSPACE,
|
| 380 |
+
zoomFullSpace: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMFULLSPACE,
|
| 381 |
+
zoomWidth: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMWIDTH,
|
| 382 |
+
zoomHeight: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMHEIGHT,
|
| 383 |
+
autoMargin: AJAXZOOM_MOUSEOVERZOOMPARAM_AUTOMARGIN,
|
| 384 |
+
adjustX: AJAXZOOM_MOUSEOVERZOOMPARAM_ADJUSTX,
|
| 385 |
+
adjustY: AJAXZOOM_MOUSEOVERZOOMPARAM_ADJUSTY,
|
| 386 |
+
lensOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_LENSOPACITY,
|
| 387 |
+
lensStyle: AJAXZOOM_MOUSEOVERZOOMPARAM_LENSSTYLE,
|
| 388 |
+
lensClass: AJAXZOOM_MOUSEOVERZOOMPARAM_LENSCLASS,
|
| 389 |
+
zoomAreaBorderWidth: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMAREABORDERWIDTH,
|
| 390 |
+
galleryFade: AJAXZOOM_MOUSEOVERZOOMPARAM_GALLERYFADE,
|
| 391 |
+
shutterSpeed: AJAXZOOM_MOUSEOVERZOOMPARAM_SHUTTERSPEED,
|
| 392 |
+
showFade: AJAXZOOM_MOUSEOVERZOOMPARAM_SHOWFADE,
|
| 393 |
+
hideFade: AJAXZOOM_MOUSEOVERZOOMPARAM_HIDEFADE,
|
| 394 |
+
autoScroll: AJAXZOOM_MOUSEOVERZOOMPARAM_AUTOSCROLL,
|
| 395 |
+
flyOutSpeed: AJAXZOOM_MOUSEOVERZOOMPARAM_FLYOUTSPEED,
|
| 396 |
+
flyOutTransition: AJAXZOOM_MOUSEOVERZOOMPARAM_FLYOUTTRANSITION,
|
| 397 |
+
flyOutOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_FLYOUTOPACITY,
|
| 398 |
+
flyBackSpeed: AJAXZOOM_MOUSEOVERZOOMPARAM_FLYBACKSPEED,
|
| 399 |
+
flyBackTransition: AJAXZOOM_MOUSEOVERZOOMPARAM_FLYBACKTRANSITION,
|
| 400 |
+
flyBackOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_FLYBACKOPACITY,
|
| 401 |
+
smoothMove: AJAXZOOM_MOUSEOVERZOOMPARAM_SMOOTHMOVE,
|
| 402 |
+
tint: AJAXZOOM_MOUSEOVERZOOMPARAM_TINT,
|
| 403 |
+
tintOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_TINTOPACITY,
|
| 404 |
+
tintFilter: AJAXZOOM_MOUSEOVERZOOMPARAM_TINTFILTER,
|
| 405 |
+
tintLensBack: AJAXZOOM_MOUSEOVERZOOMPARAM_TINTLENSBACK,
|
| 406 |
+
showTitle: AJAXZOOM_MOUSEOVERZOOMPARAM_SHOWTITLE,
|
| 407 |
+
titleOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_TITLEOPACITY,
|
| 408 |
+
titlePosition: AJAXZOOM_MOUSEOVERZOOMPARAM_TITLEPOSITION,
|
| 409 |
+
cursorPositionX: AJAXZOOM_MOUSEOVERZOOMPARAM_CURSORPOSITIONX,
|
| 410 |
+
cursorPositionY: AJAXZOOM_MOUSEOVERZOOMPARAM_CURSORPOSITIONY,
|
| 411 |
+
loading: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADING,
|
| 412 |
+
loadingMessage: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGMESSAGE,
|
| 413 |
+
loadingWidth: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGWIDTH,
|
| 414 |
+
loadingHeight: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGHEIGHT,
|
| 415 |
+
loadingOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGOPACITY,
|
| 416 |
+
zoomHintEnable: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMHINTENABLE,
|
| 417 |
+
zoomHintText: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMHINTTEXT,
|
| 418 |
+
zoomMsgHover: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGHOVER,
|
| 419 |
+
zoomMsgClick: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGCLICK,
|
| 420 |
+
slideInTime: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINTIME,
|
| 421 |
+
slideInEasingCSS3: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINEASINGCSS3,
|
| 422 |
+
slideInEasing: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINEASING,
|
| 423 |
+
slideInScale:AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINSCALE,
|
| 424 |
+
slideOutScale: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEOUTSCALE,
|
| 425 |
+
slideOutOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEOUTOPACITY,
|
| 426 |
+
slideOutDest: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEOUTDEST,
|
| 427 |
+
onInit: AJAXZOOM_MOUSEOVERZOOMPARAM_ONINIT,
|
| 428 |
+
onLoad: AJAXZOOM_MOUSEOVERZOOMPARAM_ONLOAD,
|
| 429 |
+
onImageChange: AJAXZOOM_MOUSEOVERZOOMPARAM_ONIMAGECHANGE,
|
| 430 |
+
onMouseOver: AJAXZOOM_MOUSEOVERZOOMPARAM_ONMOUSEOVER,
|
| 431 |
+
onMouseOut: AJAXZOOM_MOUSEOVERZOOMPARAM_ONMOUSEOUT,
|
| 432 |
+
spinner: AJAXZOOM_MOUSEOVERZOOMPARAM_SPINNER,
|
| 433 |
+
spinnerParam: AJAXZOOM_MOUSEOVERZOOMPARAM_SPINNERPARAM
|
| 434 |
+
}
|
| 435 |
+
};
|
| 436 |
+
|
| 437 |
+
// Init AJAX-ZOOM
|
| 438 |
+
jQuery.mouseOverZoomInit(zoomParams);
|
| 439 |
+
|
| 440 |
+
// Swatches
|
| 441 |
+
var resetAxZoom = function() {
|
| 442 |
+
if (JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON}) == IMAGES_AND_360_LOADED){
|
| 443 |
+
return;
|
| 444 |
+
}
|
| 445 |
+
|
| 446 |
+
IMAGES_AND_360_LOADED = JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON});
|
| 447 |
+
jQuery.mouseOverZoomInit.replaceImages( {
|
| 448 |
+
divID: AJAXZOOM_MAIN_DIVID,
|
| 449 |
+
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
| 450 |
+
images: IMAGES_JSON,
|
| 451 |
+
images360: IMAGES_360_JSON
|
| 452 |
+
});
|
| 453 |
+
};
|
| 454 |
+
|
| 455 |
+
// Shortcut for maybe other applications or additional functionality
|
| 456 |
+
// window.resetAxZoom() will reset AJAX-ZOOM to the state when article is loaded without attribute selection
|
| 457 |
+
window.resetAxZoom = resetAxZoom;
|
| 458 |
+
|
| 459 |
+
// Change values
|
| 460 |
+
var updateAxZoomAction = function(idxSel){
|
| 461 |
+
//JSON.stringify(obj1) === JSON.stringify(obj2)
|
| 462 |
+
if ( (jQuery.isPlainObject(idxSel.images) && !jQuery.isEmptyObject(idxSel.images) )
|
| 463 |
+
|| (jQuery.isPlainObject(idxSel.images360) && !jQuery.isEmptyObject(idxSel.images360) )) {
|
| 464 |
+
|
| 465 |
+
if (JSON.stringify({images: idxSel.images, images360: idxSel.images360}) == IMAGES_AND_360_LOADED){
|
| 466 |
+
return;
|
| 467 |
+
}
|
| 468 |
+
|
| 469 |
+
IMAGES_AND_360_LOADED = JSON.stringify({images: idxSel.images, images360: idxSel.images360});
|
| 470 |
+
|
| 471 |
+
jQuery.mouseOverZoomInit.replaceImages( {
|
| 472 |
+
divID: AJAXZOOM_MAIN_DIVID,
|
| 473 |
+
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
| 474 |
+
images: idxSel.images,
|
| 475 |
+
images360: idxSel.images360
|
| 476 |
+
} );
|
| 477 |
+
} else { // show initial images
|
| 478 |
+
resetAxZoom();
|
| 479 |
+
}
|
| 480 |
+
};
|
| 481 |
+
|
| 482 |
+
var updateAxZoom = function(e) {
|
| 483 |
+
var obj = jQuery(this);
|
| 484 |
+
|
| 485 |
+
setTimeout(function(){
|
| 486 |
+
|
| 487 |
+
if(e.type == 'change' && obj.val() == '') {
|
| 488 |
+
resetAxZoom();
|
| 489 |
+
return;
|
| 490 |
+
}
|
| 491 |
+
|
| 492 |
+
var pairs = [];
|
| 493 |
+
|
| 494 |
+
for (var k in spConfig.state){
|
| 495 |
+
if (typeof spConfig.state[k] !== 'function' && typeof spConfig.state[k] !== 'object' && spConfig.state[k] != false) {
|
| 496 |
+
pairs.push(k + ':' + spConfig.state[k]);
|
| 497 |
+
}
|
| 498 |
+
}
|
| 499 |
+
|
| 500 |
+
var idx = pairs.join(',');
|
| 501 |
+
|
| 502 |
+
var idxSel = axAssociated[idx];
|
| 503 |
+
|
| 504 |
+
if (idxSel) {
|
| 505 |
+
updateAxZoomAction(idxSel);
|
| 506 |
+
} else {
|
| 507 |
+
// try to find whatever
|
| 508 |
+
jQuery.each(axAssociated, function(k, v){
|
| 509 |
+
if (k.indexOf(idx) != -1){
|
| 510 |
+
updateAxZoomAction(v);
|
| 511 |
+
return false;
|
| 512 |
+
}
|
| 513 |
+
})
|
| 514 |
+
}
|
| 515 |
+
|
| 516 |
+
}, 50);
|
| 517 |
+
|
| 518 |
+
}
|
| 519 |
+
|
| 520 |
+
jQuery(document).ready(function() {
|
| 521 |
+
jQuery('.swatch-label').click(updateAxZoom); // version 1.9.1 or more
|
| 522 |
+
jQuery('.super-attribute-select').change(updateAxZoom);
|
| 523 |
+
});
|
| 524 |
+
|
| 525 |
+
})(jQuery);
|
| 526 |
+
</script>
|
package.xml
CHANGED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>AJAX_ZOOM</name>
|
| 4 |
-
<version>1.0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.ajax-zoom.com/index.php?cid=download">Commercial, demoware</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Responsive product detail view mousehover zoom extension with optional 360° spins or multilevel 3D</summary>
|
| 10 |
<description>Responsive, jQuery based mouse over zoom for viewing high resolution product images and optionally 360° spins or multilevel 3D. Image pyramid / tiles view in responsive Fancybox or full screen on click. Upload or import 360° images over admin interface. Optional responsive thumbnails slider integration. Instant (on-the-fly) generation of all thumbnails. Works great on touch-enabled devices. Free to download, install and test.</description>
|
| 11 |
-
<notes>
|
| 12 |
<authors><author><name>AJAX-ZOOM</name><user>vadus</user><email>support@ajax-zoom.com</email></author></authors>
|
| 13 |
-
<date>2015-10-
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="magelocal"><dir><dir name="Ax"><dir><dir name="Zoom"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="License.php" hash="b45fed73aec988d00ca1032656b9ae5b"/></dir></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="5e1b97911f28d1dc5d5fac6e59ca9c13"/></dir><file name="Tabs.php" hash="40a78742e8b28cea4877e305211a9c6c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="0aebfbfed16082f2a04697bbf085a2f9"/><file name="Head.php" hash="aac81557eb8726c7cd2b936873c52dbc"/></dir><dir name="Model"><file name="Ax360.php" hash="b8bb2b82fc79646c9188603029a1d763"/><file name="Ax360set.php" hash="83cf95ef2a420703191a0d6f44768295"/><file name="Axproducts.php" hash="0b425dcdf48578e727829112e6cacfd0"/><file name="Galleryposition.php" hash="1fe09377be47053af14d556fbb494d29"/><file name="Observer.php" hash="6f2ef3a1b7e67582d4acdc4c7ecedeb7"/><file name="Position.php" hash="576c9eccfc8e222588e0016fd8894ac7"/><dir name="Resource"><dir name="Ax360"><file name="Collection.php" hash="48d7f85f932259fdd06a62f15068a853"/></dir><file name="Ax360.php" hash="ad69211cd904f734019946ece44c07c0"/><dir name="Ax360set"><file name="Collection.php" hash="614398a735db3e8aa9de460c89c1b038"/></dir><file name="Ax360set.php" hash="e8c94cfc8d75c19e4762c3afad93b187"/><dir name="Axproducts"><file name="Collection.php" hash="15f673a08dab33c7a77f25b4c6641946"/></dir><file name="Axproducts.php" hash="93b114dd25c5e3fe501a78040ce2b36c"/></dir><file name="Words.php" hash="3c0d65a98cdaf81606f77d253c3256ae"/><file name="Yesno.php" hash="8cea5e1c9d6110c5cd54c6ffeda50382"/></dir><dir name="controllers"><file name="IndexController.php" hash="ff3e8f6379d0ba436d75eaf597a60c5f"/></dir><dir name="etc"><file name="config.xml" hash="
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.1</min><max>5.6.99</max></php><extension><name>ionCube Loader</name><min/><max/></extension><extension><name>zip</name><min/><max/></extension></required></dependencies>
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>AJAX_ZOOM</name>
|
| 4 |
+
<version>1.0.5</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.ajax-zoom.com/index.php?cid=download">Commercial, demoware</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Responsive product detail view mousehover zoom extension with optional 360° spins or multilevel 3D</summary>
|
| 10 |
<description>Responsive, jQuery based mouse over zoom for viewing high resolution product images and optionally 360° spins or multilevel 3D. Image pyramid / tiles view in responsive Fancybox or full screen on click. Upload or import 360° images over admin interface. Optional responsive thumbnails slider integration. Instant (on-the-fly) generation of all thumbnails. Works great on touch-enabled devices. Free to download, install and test.</description>
|
| 11 |
+
<notes>Fixed missing media.phtml in the package</notes>
|
| 12 |
<authors><author><name>AJAX-ZOOM</name><user>vadus</user><email>support@ajax-zoom.com</email></author></authors>
|
| 13 |
+
<date>2015-10-27</date>
|
| 14 |
+
<time>12:10:41</time>
|
| 15 |
+
<contents><target name="magelocal"><dir><dir name="Ax"><dir><dir name="Zoom"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="License.php" hash="b45fed73aec988d00ca1032656b9ae5b"/></dir></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="5e1b97911f28d1dc5d5fac6e59ca9c13"/></dir><file name="Tabs.php" hash="40a78742e8b28cea4877e305211a9c6c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="0aebfbfed16082f2a04697bbf085a2f9"/><file name="Head.php" hash="aac81557eb8726c7cd2b936873c52dbc"/></dir><dir name="Model"><file name="Ax360.php" hash="b8bb2b82fc79646c9188603029a1d763"/><file name="Ax360set.php" hash="83cf95ef2a420703191a0d6f44768295"/><file name="Axproducts.php" hash="0b425dcdf48578e727829112e6cacfd0"/><file name="Galleryposition.php" hash="1fe09377be47053af14d556fbb494d29"/><file name="Observer.php" hash="6f2ef3a1b7e67582d4acdc4c7ecedeb7"/><file name="Position.php" hash="576c9eccfc8e222588e0016fd8894ac7"/><dir name="Resource"><dir name="Ax360"><file name="Collection.php" hash="48d7f85f932259fdd06a62f15068a853"/></dir><file name="Ax360.php" hash="ad69211cd904f734019946ece44c07c0"/><dir name="Ax360set"><file name="Collection.php" hash="614398a735db3e8aa9de460c89c1b038"/></dir><file name="Ax360set.php" hash="e8c94cfc8d75c19e4762c3afad93b187"/><dir name="Axproducts"><file name="Collection.php" hash="15f673a08dab33c7a77f25b4c6641946"/></dir><file name="Axproducts.php" hash="93b114dd25c5e3fe501a78040ce2b36c"/></dir><file name="Words.php" hash="3c0d65a98cdaf81606f77d253c3256ae"/><file name="Yesno.php" hash="8cea5e1c9d6110c5cd54c6ffeda50382"/></dir><dir name="controllers"><file name="IndexController.php" hash="ff3e8f6379d0ba436d75eaf597a60c5f"/></dir><dir name="etc"><file name="config.xml" hash="473e859bf55817abc16283e2bc74c1ec"/><file name="system.xml" hash="ea333c3e779f1d3498a0e3fdca7a61eb"/></dir><dir name="sql"><dir name="axzoom_setup"><file name="install-0.0.1.php" hash="297c456d925253f83528fb4a4e561820"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="2001ec50597cdd47d2fe90eb354e9173"/></dir><dir name="template"><dir name="axzoom"><file name="tab.phtml" hash="aa36b07caf743006f98189f135b43e95"/><file name="tab360-sets.phtml" hash="d8f24613816c4910d684bfc6d098f295"/><file name="tab360-settings.phtml" hash="9d163e0ffbdf7ee00e00a62a5c8c2e99"/><file name="tab360.phtml" hash="a2b3b42d9ef50c7c20f4f775f728b47d"/><file name="uploader.phtml" hash="216551ecb38afbede39b14eb1f3a6a18"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="e7107f3d585d09d9b1b01f603b4a5d5e"/></dir><dir name="template"><dir name="ax_zoom"><dir><dir name="catalog"><dir name="product"><dir name="view"><file name="media.phtml" hash="4fc81acd4feec1b0e3777c3217334336"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Ax_Zoom.xml" hash="149d56d71dbaebaa89d0324bfad842eb"/></dir></dir></target><target name="magelocale"><dir><dir name="ru_RU"><file name="Ax_Zoom.csv" hash="ad9b1e1ad87a1187dbd076b43af97429"/></dir></dir></target><target name="mageweb"><dir><dir name="js"><dir name="axzoom"><file name="check_fallback.js" hash="e3b055d8f689d5b67f87a5d27aa4537b"/><file name="check_jquery.js" hash="2e9c357045f123583a4051f237e0b380"/><file name="check_jquery_admin.js" hash="b5b7dc978af43493ae973548093b553c"/><file name="image_path.gif" hash="bf922e182e18a02613f26ca5eaa4c560"/><file name="jquery-1.11.3.min.js" hash="1c1e3d814cc7278f801463874463e504"/><file name="jquery-migrate-1.2.1.min.js" hash="eb05d8d73b5b13d8d84308a4751ece96"/><file name="jquery.fileupload-process.js" hash="0da6f8ef76956f6ce7842dcf8941d1fa"/><file name="jquery.fileupload-validate.js" hash="561d450d59e39724999629cae64cd80e"/><file name="jquery.fileupload.js" hash="d4b3a5c4f6e69185727cfe98f17f0239"/><file name="jquery.ui.widget.min.js" hash="2425a542e6dde093dd85ac0b5adc0141"/><file name="lic.php" hash="24084e1f51b59004d2e11ae416d03df7"/><file name="no_image-100x100.jpg" hash="ebbaa789d1a5e5b1bb6fdb9ccd683aa2"/><dir><dir name="pic"><file name="readme.txt" hash="763fdb72282a84d27d9a6c93e014775a"/></dir><dir name="preview"><file name="index.php" hash="c304cfb13785e145e95d5f21cc95bd12"/><file name="preview.php" hash="0ebbc68bf74927c95587decbe2f24626"/></dir><dir name="tmp"><file name="readme.txt" hash="b17a61b9642c5d472107ab7023c5c880"/></dir><dir name="zip"><file name="readme.txt" hash="2134ad018dd3da577df745a04d22899f"/><file name=".htaccess" hash="209634bb0238704c4874c35d615ae59e"/></dir></dir><file name=".htaccess" hash="b974c32a345792b0bc2fad66c2236152"/></dir></dir></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.1</min><max>5.6.99</max></php><extension><name>ionCube Loader</name><min/><max/></extension><extension><name>zip</name><min/><max/></extension></required></dependencies>
|
| 18 |
</package>
|
