Version Notes
First public release of the new extension which integrates AJAX-ZOOM mouseover extension into Magento.
Download this release
Release Info
Developer | AJAX-ZOOM |
Extension | AJAX_ZOOM |
Version | 1.0.1 |
Comparing to | |
See all releases |
Code changes from version 1.0.0 to 1.0.1
- app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php +15 -0
- app/code/local/Ax/Zoom/Block/Adminhtml/Tabs.php +14 -0
- app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php +15 -1
- app/code/local/Ax/Zoom/Helper/Data.php +15 -0
- app/code/local/Ax/Zoom/Helper/Head.php +15 -0
- app/code/local/Ax/Zoom/Model/Ax360.php +36 -1
- app/code/local/Ax/Zoom/Model/Ax360set.php +15 -0
- app/code/local/Ax/Zoom/Model/Axproducts.php +15 -0
- app/code/local/Ax/Zoom/Model/Observer.php +15 -0
- app/code/local/Ax/Zoom/Model/Position.php +15 -0
- app/code/local/Ax/Zoom/Model/Resource/Ax360.php +15 -0
- app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php +15 -0
- app/code/local/Ax/Zoom/Model/Resource/Ax360set.php +15 -0
- app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php +15 -0
- app/code/local/Ax/Zoom/Model/Resource/Axproducts.php +15 -0
- app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php +15 -0
- app/code/local/Ax/Zoom/Model/Words.php +15 -0
- app/code/local/Ax/Zoom/Model/Yesno.php +17 -2
- app/code/local/Ax/Zoom/controllers/IndexController.php +15 -0
- app/code/local/Ax/Zoom/etc/config.xml +41 -21
- app/code/local/Ax/Zoom/etc/system.xml +47 -0
- app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php +14 -0
- app/design/adminhtml/default/default/layout/axzoom.xml +29 -13
- app/design/adminhtml/default/default/template/axzoom/tab.phtml +17 -0
- app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml +17 -0
- app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml +17 -0
- app/design/adminhtml/default/default/template/axzoom/tab360.phtml +17 -0
- app/design/adminhtml/default/default/template/axzoom/uploader.phtml +17 -0
- app/design/frontend/default/default/layout/axzoom.xml +40 -19
- app/design/frontend/rwd/default/layout/axzoom.xml +17 -2
- app/design/frontend/rwd/default/template/ax_zoom/catalog/product/view/media.phtml +193 -157
- app/etc/modules/Ax_Zoom.xml +16 -0
- js/axzoom/check_fallback.js +38 -0
- js/axzoom/check_jquery.js +20 -2
- js/axzoom/check_jquery_admin.js +40 -0
- js/axzoom/jquery-1.11.0.min.js +0 -6
- js/axzoom/jquery-1.11.3.min.js +2 -0
- js/axzoom/lic.php +15 -14
- js/axzoom/zip/.htaccess +1 -0
- package.xml +10 -17
app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
3 |
{
|
4 |
public function _prepareToRender()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
18 |
{
|
19 |
public function _prepareToRender()
|
app/code/local/Ax/Zoom/Block/Adminhtml/Tabs.php
CHANGED
@@ -1,4 +1,18 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
class Ax_Zoom_Block_Adminhtml_Tabs extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs
|
4 |
{
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/tabs.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Block_Adminhtml_Tabs extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs
|
18 |
{
|
app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php
CHANGED
@@ -1,5 +1,19 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
class Ax_Zoom_Block_Adminhtml_Tabs_Tabid extends Mage_Adminhtml_Block_Widget
|
4 |
{
|
5 |
public function __construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Block_Adminhtml_Tabs_Tabid extends Mage_Adminhtml_Block_Widget
|
18 |
{
|
19 |
public function __construct()
|
app/code/local/Ax/Zoom/Helper/Data.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
{
|
4 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Data.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Helper_Data extends Mage_Core_Helper_Abstract
|
18 |
{
|
19 |
}
|
app/code/local/Ax/Zoom/Helper/Head.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Helper_Head extends Mage_Core_Helper_Abstract
|
3 |
{
|
4 |
public function getFancyboxCSS()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Head.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Helper_Head extends Mage_Core_Helper_Abstract
|
18 |
{
|
19 |
public function getFancyboxCSS()
|
app/code/local/Ax/Zoom/Model/Ax360.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
|
3 |
{
|
4 |
static $axZmH;
|
@@ -203,7 +218,27 @@ class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
|
|
203 |
return true;
|
204 |
}
|
205 |
return false;
|
206 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
}
|
208 |
|
209 |
Ax_Zoom_Model_Ax360::$axZmH;
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
|
18 |
{
|
19 |
static $axZmH;
|
218 |
return true;
|
219 |
}
|
220 |
return false;
|
221 |
+
}
|
222 |
+
|
223 |
+
public function imagesJsonAll($arr)
|
224 |
+
{
|
225 |
+
$imagesJson = array();
|
226 |
+
foreach ($arr as $k=>$v){
|
227 |
+
array_push($imagesJson, '{img: "' .$v . '", title: ""}');
|
228 |
+
}
|
229 |
+
return '[' .implode(', ', $imagesJson). ']';
|
230 |
+
}
|
231 |
+
|
232 |
+
public function findDefaultLabelValue($arr, $key)
|
233 |
+
{
|
234 |
+
if (!is_array($arr)){return false;}
|
235 |
+
foreach ($arr as $k=>$v){
|
236 |
+
if (isset($v['value']) && $v['value'] == $key && isset($v['label'])){
|
237 |
+
return $v['label'];
|
238 |
+
}
|
239 |
+
}
|
240 |
+
return false;
|
241 |
+
}
|
242 |
}
|
243 |
|
244 |
Ax_Zoom_Model_Ax360::$axZmH;
|
app/code/local/Ax/Zoom/Model/Ax360set.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Ax360set extends Mage_Core_Model_Abstract
|
3 |
{
|
4 |
protected function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360set.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Ax360set extends Mage_Core_Model_Abstract
|
18 |
{
|
19 |
protected function _construct()
|
app/code/local/Ax/Zoom/Model/Axproducts.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Axproducts extends Mage_Core_Model_Abstract
|
3 |
{
|
4 |
protected function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Axproducts.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Axproducts extends Mage_Core_Model_Abstract
|
18 |
{
|
19 |
protected function _construct()
|
app/code/local/Ax/Zoom/Model/Observer.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Observer {
|
3 |
public function coreBlockBefore($observer)
|
4 |
{
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Observer.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Observer {
|
18 |
public function coreBlockBefore($observer)
|
19 |
{
|
app/code/local/Ax/Zoom/Model/Position.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Position
|
3 |
{
|
4 |
public function toOptionArray()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Position.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Position
|
18 |
{
|
19 |
public function toOptionArray()
|
app/code/local/Ax/Zoom/Model/Resource/Ax360.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Resource_Ax360 extends Mage_Core_Model_Mysql4_Abstract
|
3 |
{
|
4 |
public function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Resource_Ax360 extends Mage_Core_Model_Mysql4_Abstract
|
18 |
{
|
19 |
public function _construct()
|
app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Resource_Ax360_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
3 |
{
|
4 |
public function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Resource_Ax360_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
18 |
{
|
19 |
public function _construct()
|
app/code/local/Ax/Zoom/Model/Resource/Ax360set.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Resource_Ax360set extends Mage_Core_Model_Mysql4_Abstract
|
3 |
{
|
4 |
public function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360set.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Resource_Ax360set extends Mage_Core_Model_Mysql4_Abstract
|
18 |
{
|
19 |
public function _construct()
|
app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Resource_Ax360set_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
3 |
{
|
4 |
public function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Resource_Ax360set_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
18 |
{
|
19 |
public function _construct()
|
app/code/local/Ax/Zoom/Model/Resource/Axproducts.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Resource_Axproducts extends Mage_Core_Model_Mysql4_Abstract
|
3 |
{
|
4 |
public function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Axproducts.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Resource_Axproducts extends Mage_Core_Model_Mysql4_Abstract
|
18 |
{
|
19 |
public function _construct()
|
app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Resource_Axproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
3 |
{
|
4 |
public function _construct()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Resource_Axproducts_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
18 |
{
|
19 |
public function _construct()
|
app/code/local/Ax/Zoom/Model/Words.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Words
|
3 |
{
|
4 |
public function toOptionArray()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Words.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Words
|
18 |
{
|
19 |
public function toOptionArray()
|
app/code/local/Ax/Zoom/Model/Yesno.php
CHANGED
@@ -1,11 +1,26 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_Model_Yesno
|
3 |
{
|
4 |
public function toOptionArray()
|
5 |
{
|
6 |
return array(
|
7 |
-
array('value'=>
|
8 |
-
array('value'=>
|
9 |
);
|
10 |
}
|
11 |
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Yesno.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_Model_Yesno
|
18 |
{
|
19 |
public function toOptionArray()
|
20 |
{
|
21 |
return array(
|
22 |
+
array('value'=>'false', 'label'=>Mage::helper('axzoom')->__('No')),
|
23 |
+
array('value'=>'true', 'label'=>Mage::helper('axzoom')->__('Yes'))
|
24 |
);
|
25 |
}
|
26 |
|
app/code/local/Ax/Zoom/controllers/IndexController.php
CHANGED
@@ -1,4 +1,19 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
|
3 |
{
|
4 |
public function AddProductImage360Action()
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/controllers/IndexController.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
class Ax_Zoom_IndexController extends Mage_Core_Controller_Front_Action
|
18 |
{
|
19 |
public function AddProductImage360Action()
|
app/code/local/Ax/Zoom/etc/config.xml
CHANGED
@@ -1,9 +1,25 @@
|
|
1 |
<?xml version="1.0"?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<config>
|
3 |
|
4 |
<modules>
|
5 |
<Ax_Zoom>
|
6 |
-
<version>0.0
|
7 |
</Ax_Zoom>
|
8 |
</modules>
|
9 |
|
@@ -194,10 +210,10 @@
|
|
194 |
<main>
|
195 |
<divid>az_mouseOverZoomContainer</divid>
|
196 |
<galleryDivID>az_mouseOverZoomGallery</galleryDivID>
|
197 |
-
<hideGalleryOneImage>
|
198 |
-
<disableAllMsg
|
199 |
<galleryHover></galleryHover>
|
200 |
-
<galleryAxZmThumbSlider>
|
201 |
<galleryAxZmThumbSliderParam>
|
202 |
{
|
203 |
orientation: "horizontal",
|
@@ -237,21 +253,21 @@
|
|
237 |
</galleryAxZmThumbSliderParam>
|
238 |
<thumbW>58</thumbW>
|
239 |
<thumbH>58</thumbH>
|
240 |
-
<thumbRetina>
|
241 |
<firstImageToLoad>1</firstImageToLoad>
|
242 |
-
<images360firstToLoad>
|
243 |
<images360Opt>["spinReverse", "spinReverseZ", "spinBounce", "spinDemoRounds", "spinDemoTime", "spinWhilePreload"]</images360Opt>
|
244 |
-
<images360Thumb>
|
245 |
-
<images360Preview>
|
246 |
-
<images360PreviewResponsive>
|
247 |
<images360examplePreview>mouseOverExtension360</images360examplePreview>
|
248 |
<zoomMsg360>Drag to spin 360°, scroll to zoom in and out</zoomMsg360>
|
249 |
-
<preloadMouseOverImages>
|
250 |
<noImageAvailableClass>axZm_mouseOverNoImage</noImageAvailableClass>
|
251 |
<width>auto</width>
|
252 |
<height>auto</height>
|
253 |
-
<responsive>
|
254 |
-
<oneSrcImg>
|
255 |
<heightRatio>1.0</heightRatio>
|
256 |
<heightMaxWidthRatio>["960|0.8", "700|0.7"]</heightMaxWidthRatio>
|
257 |
<widthRatio>false</widthRatio>
|
@@ -266,8 +282,8 @@
|
|
266 |
<exampleFancyboxFullscreen>mouseOverExtension</exampleFancyboxFullscreen>
|
267 |
<exampleFancybox>modal</exampleFancybox>
|
268 |
<exampleColorbox>modal</exampleColorbox>
|
269 |
-
<disableScrollAnm>
|
270 |
-
<fullScreenApi>
|
271 |
<axZmCallBacks>{}</axZmCallBacks>
|
272 |
<azOptions>{}</azOptions>
|
273 |
<azOptions360>{}</azOptions360>
|
@@ -282,7 +298,7 @@
|
|
282 |
<spinnerParam>{}</spinnerParam>
|
283 |
</main>
|
284 |
<pinterest>
|
285 |
-
<enabled>
|
286 |
<build>parsePinBtns</build>
|
287 |
<wrapClass>axZm_mouseOverPinterest</wrapClass>
|
288 |
<href>//en.pinterest.com/pin/create/button/</href>
|
@@ -297,8 +313,8 @@
|
|
297 |
<posAutoInside>150</posAutoInside>
|
298 |
<posInsideArea>0.2</posInsideArea>
|
299 |
<autoFlip>120</autoFlip>
|
300 |
-
<biggestSpace>
|
301 |
-
<zoomFullSpace>
|
302 |
<zoomWidth>.product-shop|+2</zoomWidth>
|
303 |
<zoomHeight>.product-img-box</zoomHeight>
|
304 |
<autoMargin>15</autoMargin>
|
@@ -318,19 +334,19 @@
|
|
318 |
<flyBackSpeed>false</flyBackSpeed>
|
319 |
<flyBackTransition>linear</flyBackTransition>
|
320 |
<flyBackOpacity>0.2</flyBackOpacity>
|
321 |
-
<autoScroll>
|
322 |
<smoothMove>6</smoothMove>
|
323 |
<tint>false</tint>
|
324 |
<tintOpacity>0.3</tintOpacity>
|
325 |
<tintFilter>false</tintFilter>
|
326 |
-
<tintLensBack>
|
327 |
-
<showTitle>
|
328 |
<titleOpacity>0.5</titleOpacity>
|
329 |
<titlePosition>top</titlePosition>
|
330 |
<cursorPositionX>0.5</cursorPositionX>
|
331 |
<cursorPositionY>0.55</cursorPositionY>
|
332 |
<touchClickAbort>500</touchClickAbort>
|
333 |
-
<loading>
|
334 |
<loadingMessage>Loading...</loadingMessage>
|
335 |
<loadingWidth>90</loadingWidth>
|
336 |
<loadingHeight>20</loadingHeight>
|
@@ -343,6 +359,10 @@
|
|
343 |
<products>
|
344 |
<displayOnlyForThisProductID></displayOnlyForThisProductID>
|
345 |
</products>
|
|
|
|
|
|
|
|
|
346 |
</axzoom_options>
|
347 |
</default>
|
348 |
|
1 |
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
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.0
|
8 |
+
* Date: 2015-09-08
|
9 |
+
* Review: 2015-09-08
|
10 |
+
* URL: http://www.ajax-zoom.com
|
11 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
12 |
+
*
|
13 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
14 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
15 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
+
*/
|
17 |
+
-->
|
18 |
<config>
|
19 |
|
20 |
<modules>
|
21 |
<Ax_Zoom>
|
22 |
+
<version>1.0.0</version>
|
23 |
</Ax_Zoom>
|
24 |
</modules>
|
25 |
|
210 |
<main>
|
211 |
<divid>az_mouseOverZoomContainer</divid>
|
212 |
<galleryDivID>az_mouseOverZoomGallery</galleryDivID>
|
213 |
+
<hideGalleryOneImage>true</hideGalleryOneImage>
|
214 |
+
<disableAllMsg>false</disableAllMsg>
|
215 |
<galleryHover></galleryHover>
|
216 |
+
<galleryAxZmThumbSlider>true</galleryAxZmThumbSlider>
|
217 |
<galleryAxZmThumbSliderParam>
|
218 |
{
|
219 |
orientation: "horizontal",
|
253 |
</galleryAxZmThumbSliderParam>
|
254 |
<thumbW>58</thumbW>
|
255 |
<thumbH>58</thumbH>
|
256 |
+
<thumbRetina>true</thumbRetina>
|
257 |
<firstImageToLoad>1</firstImageToLoad>
|
258 |
+
<images360firstToLoad>false</images360firstToLoad>
|
259 |
<images360Opt>["spinReverse", "spinReverseZ", "spinBounce", "spinDemoRounds", "spinDemoTime", "spinWhilePreload"]</images360Opt>
|
260 |
+
<images360Thumb>true</images360Thumb>
|
261 |
+
<images360Preview>true</images360Preview>
|
262 |
+
<images360PreviewResponsive>true</images360PreviewResponsive>
|
263 |
<images360examplePreview>mouseOverExtension360</images360examplePreview>
|
264 |
<zoomMsg360>Drag to spin 360°, scroll to zoom in and out</zoomMsg360>
|
265 |
+
<preloadMouseOverImages>false</preloadMouseOverImages>
|
266 |
<noImageAvailableClass>axZm_mouseOverNoImage</noImageAvailableClass>
|
267 |
<width>auto</width>
|
268 |
<height>auto</height>
|
269 |
+
<responsive>true</responsive>
|
270 |
+
<oneSrcImg>false</oneSrcImg>
|
271 |
<heightRatio>1.0</heightRatio>
|
272 |
<heightMaxWidthRatio>["960|0.8", "700|0.7"]</heightMaxWidthRatio>
|
273 |
<widthRatio>false</widthRatio>
|
282 |
<exampleFancyboxFullscreen>mouseOverExtension</exampleFancyboxFullscreen>
|
283 |
<exampleFancybox>modal</exampleFancybox>
|
284 |
<exampleColorbox>modal</exampleColorbox>
|
285 |
+
<disableScrollAnm>true</disableScrollAnm>
|
286 |
+
<fullScreenApi>true</fullScreenApi>
|
287 |
<axZmCallBacks>{}</axZmCallBacks>
|
288 |
<azOptions>{}</azOptions>
|
289 |
<azOptions360>{}</azOptions360>
|
298 |
<spinnerParam>{}</spinnerParam>
|
299 |
</main>
|
300 |
<pinterest>
|
301 |
+
<enabled>true</enabled>
|
302 |
<build>parsePinBtns</build>
|
303 |
<wrapClass>axZm_mouseOverPinterest</wrapClass>
|
304 |
<href>//en.pinterest.com/pin/create/button/</href>
|
313 |
<posAutoInside>150</posAutoInside>
|
314 |
<posInsideArea>0.2</posInsideArea>
|
315 |
<autoFlip>120</autoFlip>
|
316 |
+
<biggestSpace>false</biggestSpace>
|
317 |
+
<zoomFullSpace>false</zoomFullSpace>
|
318 |
<zoomWidth>.product-shop|+2</zoomWidth>
|
319 |
<zoomHeight>.product-img-box</zoomHeight>
|
320 |
<autoMargin>15</autoMargin>
|
334 |
<flyBackSpeed>false</flyBackSpeed>
|
335 |
<flyBackTransition>linear</flyBackTransition>
|
336 |
<flyBackOpacity>0.2</flyBackOpacity>
|
337 |
+
<autoScroll>false</autoScroll>
|
338 |
<smoothMove>6</smoothMove>
|
339 |
<tint>false</tint>
|
340 |
<tintOpacity>0.3</tintOpacity>
|
341 |
<tintFilter>false</tintFilter>
|
342 |
+
<tintLensBack>true</tintLensBack>
|
343 |
+
<showTitle>true</showTitle>
|
344 |
<titleOpacity>0.5</titleOpacity>
|
345 |
<titlePosition>top</titlePosition>
|
346 |
<cursorPositionX>0.5</cursorPositionX>
|
347 |
<cursorPositionY>0.55</cursorPositionY>
|
348 |
<touchClickAbort>500</touchClickAbort>
|
349 |
+
<loading>true</loading>
|
350 |
<loadingMessage>Loading...</loadingMessage>
|
351 |
<loadingWidth>90</loadingWidth>
|
352 |
<loadingHeight>20</loadingHeight>
|
359 |
<products>
|
360 |
<displayOnlyForThisProductID></displayOnlyForThisProductID>
|
361 |
</products>
|
362 |
+
<magento>
|
363 |
+
<magentoAllImagesStart>false</magentoAllImagesStart>
|
364 |
+
<magentoNoImage>false</magentoNoImage>
|
365 |
+
</magento>
|
366 |
</axzoom_options>
|
367 |
</default>
|
368 |
|
app/code/local/Ax/Zoom/etc/system.xml
CHANGED
@@ -1,4 +1,20 @@
|
|
1 |
<?xml version="1.0"?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<config>
|
3 |
<sections>
|
4 |
<axzoom_options translate="label" module="axzoom">
|
@@ -1142,6 +1158,37 @@
|
|
1142 |
</displayOnlyForThisProductID>
|
1143 |
</fields>
|
1144 |
</products>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1145 |
</groups>
|
1146 |
</axzoom_options>
|
1147 |
</sections>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/system.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.0
|
8 |
+
* Date: 2015-09-08
|
9 |
+
* Review: 2015-09-08
|
10 |
+
* URL: http://www.ajax-zoom.com
|
11 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
12 |
+
*
|
13 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
14 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
15 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
+
*/
|
17 |
+
-->
|
18 |
<config>
|
19 |
<sections>
|
20 |
<axzoom_options translate="label" module="axzoom">
|
1158 |
</displayOnlyForThisProductID>
|
1159 |
</fields>
|
1160 |
</products>
|
1161 |
+
<magento translate="label">
|
1162 |
+
<label>Magento specific settings</label>
|
1163 |
+
<frontend_type>text</frontend_type>
|
1164 |
+
<sort_order>99</sort_order>
|
1165 |
+
<show_in_default>1</show_in_default>
|
1166 |
+
<show_in_website>1</show_in_website>
|
1167 |
+
<show_in_store>1</show_in_store>
|
1168 |
+
<fields>
|
1169 |
+
<magentoAllImagesStart>
|
1170 |
+
<label>magentoAllImages</label>
|
1171 |
+
<comment>Load all images independent on label (color), also from "Simple Products" which are bind to Configurable Product on start.</comment>
|
1172 |
+
<frontend_type>select</frontend_type>
|
1173 |
+
<source_model>axzoom/yesno</source_model>
|
1174 |
+
<sort_order>1</sort_order>
|
1175 |
+
<show_in_default>1</show_in_default>
|
1176 |
+
<show_in_website>1</show_in_website>
|
1177 |
+
<show_in_store>1</show_in_store>
|
1178 |
+
</magentoAllImagesStart>
|
1179 |
+
<magentoNoImage>
|
1180 |
+
<label>magentoNoImage</label>
|
1181 |
+
<comment>Show magento no image available, if no AJAX-ZOOM no image available will be shown</comment>
|
1182 |
+
<frontend_type>select</frontend_type>
|
1183 |
+
<source_model>axzoom/yesno</source_model>
|
1184 |
+
<sort_order>2</sort_order>
|
1185 |
+
<show_in_default>1</show_in_default>
|
1186 |
+
<show_in_website>1</show_in_website>
|
1187 |
+
<show_in_store>1</show_in_store>
|
1188 |
+
</magentoNoImage>
|
1189 |
+
|
1190 |
+
</fields>
|
1191 |
+
</magento>
|
1192 |
</groups>
|
1193 |
</axzoom_options>
|
1194 |
</sections>
|
app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php
CHANGED
@@ -1,4 +1,18 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
//die('AJAX ZOOM module setup');
|
4 |
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, install-0.0.1.php
|
4 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
//die('AJAX ZOOM module setup');
|
18 |
|
app/design/adminhtml/default/default/layout/axzoom.xml
CHANGED
@@ -1,25 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<layout>
|
2 |
<adminhtml_catalog_product_edit>
|
3 |
<reference name="head">
|
4 |
-
|
5 |
-
|
6 |
-
<action method="addJs"><script>axzoom/
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
8 |
<action method="addJs"><script>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js</script></action>
|
9 |
-
|
|
|
|
|
10 |
<action method="addJs"><script>axzoom/jquery.ui.widget.min.js</script></action>
|
11 |
<action method="addJs"><script>axzoom/jquery.fileupload.js</script></action>
|
12 |
<action method="addJs"><script>axzoom/jquery.fileupload-process.js</script></action>
|
13 |
<action method="addJs"><script>axzoom/jquery.fileupload-validate.js</script></action>
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
<action method="addCss">
|
18 |
-
<stylesheet>../../../../js/axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css</stylesheet>
|
19 |
-
</action>
|
20 |
|
21 |
-
<!--<action method="addJs"><script>axzoom/colorpicker.js</script></action>-->
|
22 |
-
<!--<action method="addJs"><script>prototype/prototype.js</script></action>-->
|
23 |
</reference>
|
24 |
</adminhtml_catalog_product_edit>
|
25 |
</layout>
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/layout/axzoom.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.0
|
8 |
+
* Date: 2015-09-08
|
9 |
+
* Review: 2015-09-08
|
10 |
+
* URL: http://www.ajax-zoom.com
|
11 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
12 |
+
*
|
13 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
14 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
15 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
+
*/
|
17 |
+
-->
|
18 |
<layout>
|
19 |
<adminhtml_catalog_product_edit>
|
20 |
<reference name="head">
|
21 |
+
|
22 |
+
<!-- If jQuery is not defined inject jQuery 1.11.3 core with jQuery.noConflict() and jquery-migrate 1.2.1 -->
|
23 |
+
<action method="addJs"><script>axzoom/check_jquery_admin.js</script></action>
|
24 |
+
|
25 |
+
<!-- Scripts and CSS for preview AJAX-ZOOM in a Fancybox -->
|
26 |
+
<action method="addItem">
|
27 |
+
<type>js_css</type>
|
28 |
+
<name>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css</name>
|
29 |
+
</action>
|
30 |
<action method="addJs"><script>axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js</script></action>
|
31 |
+
<action method="addJs"><script>axzoom/axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js</script></action>
|
32 |
+
|
33 |
+
<!-- Fileupload for 360 images -->
|
34 |
<action method="addJs"><script>axzoom/jquery.ui.widget.min.js</script></action>
|
35 |
<action method="addJs"><script>axzoom/jquery.fileupload.js</script></action>
|
36 |
<action method="addJs"><script>axzoom/jquery.fileupload-process.js</script></action>
|
37 |
<action method="addJs"><script>axzoom/jquery.fileupload-validate.js</script></action>
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
|
|
|
|
39 |
</reference>
|
40 |
</adminhtml_catalog_product_edit>
|
41 |
</layout>
|
app/design/adminhtml/default/default/template/axzoom/tab.phtml
CHANGED
@@ -1,3 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<script type="text/javascript">
|
2 |
function showSuccessMessage(message)
|
3 |
{
|
1 |
+
<!--
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/axzoom.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.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
+
|
18 |
<script type="text/javascript">
|
19 |
function showSuccessMessage(message)
|
20 |
{
|
app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml
CHANGED
@@ -1,3 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
$model = Mage::getModel('axzoom/ax360');
|
3 |
$setsGroups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
|
1 |
+
<!--
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-sets.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.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
+
|
18 |
<?php
|
19 |
$model = Mage::getModel('axzoom/ax360');
|
20 |
$setsGroups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
|
app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml
CHANGED
@@ -1,3 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
$model = Mage::getModel('axzoom/ax360');
|
3 |
$groups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
|
1 |
+
<!--
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-settings.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.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
+
|
18 |
<?php
|
19 |
$model = Mage::getModel('axzoom/ax360');
|
20 |
$groups = $model->getCollection()->addFieldToFilter('id_product', $productId)->getData();
|
app/design/adminhtml/default/default/template/axzoom/tab360.phtml
CHANGED
@@ -1,3 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php $maxImageSize = ini_get('upload_max_filesize'); ?>
|
2 |
|
3 |
<input type="hidden" name="id_360set" id="id_360set" value="" />
|
1 |
+
<!--
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360.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.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
+
|
18 |
<?php $maxImageSize = ini_get('upload_max_filesize'); ?>
|
19 |
|
20 |
<input type="hidden" name="id_360set" id="id_360set" value="" />
|
app/design/adminhtml/default/default/template/axzoom/uploader.phtml
CHANGED
@@ -1,3 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
$id = 'file360';
|
3 |
$name = 'file360';
|
1 |
+
<!--
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/uploader.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.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
+
|
18 |
<?php
|
19 |
$id = 'file360';
|
20 |
$name = 'file360';
|
app/design/frontend/default/default/layout/axzoom.xml
CHANGED
@@ -1,34 +1,53 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
<layout version="0.1.0">
|
4 |
<catalog_product_view>
|
5 |
<reference name="head">
|
6 |
<action method="addJs">
|
7 |
<script>axzoom/check_jquery.js</script>
|
8 |
</action>
|
9 |
-
<action method="
|
10 |
-
|
|
|
11 |
</action>
|
12 |
<action method="addJs">
|
13 |
<script>axzoom/axZm/jquery.axZm.js</script>
|
14 |
</action>
|
15 |
-
<action method="addJs">
|
16 |
<script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js</script>
|
17 |
</action>
|
18 |
-
<action method="
|
19 |
-
|
|
|
20 |
</action>
|
21 |
-
<action method="addJs">
|
22 |
<script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js</script>
|
23 |
</action>
|
24 |
-
<action method="addJs">
|
25 |
<script>axzoom/axZm/plugins/spin/spin.min.js</script>
|
26 |
</action>
|
27 |
-
<action method="
|
28 |
-
|
|
|
29 |
</action>
|
30 |
-
<action method="
|
31 |
-
|
|
|
32 |
</action>
|
33 |
<action method="addJs">
|
34 |
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
|
@@ -36,20 +55,22 @@
|
|
36 |
<action method="addJs">
|
37 |
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.4.js</script>
|
38 |
</action>
|
39 |
-
<action method="
|
40 |
-
<
|
|
|
41 |
</action>
|
42 |
<action method="addJs">
|
43 |
-
|
44 |
</action>
|
45 |
<action method="addJs">
|
46 |
-
|
47 |
</action>
|
48 |
-
<action method="
|
49 |
-
|
|
|
50 |
</action>
|
51 |
<action method="addJs">
|
52 |
-
|
53 |
</action>
|
54 |
<action method="addJs">
|
55 |
<script>axzoom/axZm/plugins/JSON/jquery.json-2.3.min.js</script>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/rwd/default/layout/axzoom.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.0
|
8 |
+
* Date: 2015-09-08
|
9 |
+
* Review: 2015-09-08
|
10 |
+
* URL: http://www.ajax-zoom.com
|
11 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
12 |
+
*
|
13 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
14 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
15 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
+
*/
|
17 |
+
-->
|
18 |
<layout version="0.1.0">
|
19 |
<catalog_product_view>
|
20 |
<reference name="head">
|
21 |
<action method="addJs">
|
22 |
<script>axzoom/check_jquery.js</script>
|
23 |
</action>
|
24 |
+
<action method="addItem">
|
25 |
+
<type>js_css</type>
|
26 |
+
<name>axzoom/axZm/axZm.css</name>
|
27 |
</action>
|
28 |
<action method="addJs">
|
29 |
<script>axzoom/axZm/jquery.axZm.js</script>
|
30 |
</action>
|
31 |
+
<action ifconfig="axzoom_options/main/galleryAxZmThumbSlider" method="addJs">
|
32 |
<script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js</script>
|
33 |
</action>
|
34 |
+
<action ifconfig="axzoom_options/main/galleryAxZmThumbSlider" method="addItem">
|
35 |
+
<type>js_css</type>
|
36 |
+
<name>axzoom/axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css</name>
|
37 |
</action>
|
38 |
+
<action ifconfig="axzoom_options/main/galleryAxZmThumbSlider" method="addJs">
|
39 |
<script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js</script>
|
40 |
</action>
|
41 |
+
<action ifconfig="axzoom_options/main/spinner" method="addJs">
|
42 |
<script>axzoom/axZm/plugins/spin/spin.min.js</script>
|
43 |
</action>
|
44 |
+
<action method="addItem">
|
45 |
+
<type>js_css</type>
|
46 |
+
<name>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.css</name>
|
47 |
</action>
|
48 |
+
<action method="addItem">
|
49 |
+
<type>js_css</type>
|
50 |
+
<name>axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.4.css</name>
|
51 |
</action>
|
52 |
<action method="addJs">
|
53 |
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
|
55 |
<action method="addJs">
|
56 |
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.4.js</script>
|
57 |
</action>
|
58 |
+
<action method="addItem">
|
59 |
+
<type>js_css</type>
|
60 |
+
<file helper="axzoom/Head/getFancyboxCss" />
|
61 |
</action>
|
62 |
<action method="addJs">
|
63 |
+
<file helper="axzoom/Head/getFancyboxJS" />
|
64 |
</action>
|
65 |
<action method="addJs">
|
66 |
+
<file helper="axzoom/Head/getFancyboxJSAX" />
|
67 |
</action>
|
68 |
+
<action method="addItem">
|
69 |
+
<type>js_css</type>
|
70 |
+
<file helper="axzoom/Head/getColorboxCss" />
|
71 |
</action>
|
72 |
<action method="addJs">
|
73 |
+
<file helper="axzoom/Head/getColorboxJS" />
|
74 |
</action>
|
75 |
<action method="addJs">
|
76 |
<script>axzoom/axZm/plugins/JSON/jquery.json-2.3.min.js</script>
|
app/design/frontend/rwd/default/layout/axzoom.xml
CHANGED
@@ -1,5 +1,20 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
<layout version="0.1.0">
|
4 |
<catalog_product_view>
|
5 |
<reference name="head">
|
@@ -32,7 +47,7 @@
|
|
32 |
</action>
|
33 |
<action method="addItem">
|
34 |
<type>js_css</type>
|
35 |
-
<name>axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.
|
36 |
</action>
|
37 |
<action method="addJs">
|
38 |
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/rwd/default/layout/axzoom.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.0
|
8 |
+
* Date: 2015-09-08
|
9 |
+
* Review: 2015-09-08
|
10 |
+
* URL: http://www.ajax-zoom.com
|
11 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
12 |
+
*
|
13 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
14 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
15 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
+
*/
|
17 |
+
-->
|
18 |
<layout version="0.1.0">
|
19 |
<catalog_product_view>
|
20 |
<reference name="head">
|
47 |
</action>
|
48 |
<action method="addItem">
|
49 |
<type>js_css</type>
|
50 |
+
<name>axzoom/axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.4.css</name>
|
51 |
</action>
|
52 |
<action method="addJs">
|
53 |
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js</script>
|
app/design/frontend/rwd/default/template/ax_zoom/catalog/product/view/media.phtml
CHANGED
@@ -1,32 +1,44 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
$productId = Mage::app()->getRequest()->getParam('id');
|
3 |
$ax = Mage::getModel('axzoom/ax360');
|
4 |
-
|
5 |
$conf = Mage::getStoreConfig('axzoom_options');
|
6 |
$tmp = parse_url(Mage::getBaseUrl());
|
7 |
$axZmPath = str_replace('index.php/', '', $tmp['path']) . 'js/axzoom/axZm/';
|
8 |
-
$product = Mage::getModel('catalog/product')->load($productId);
|
9 |
$images360Json = $ax->images360Json($productId);
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
|
14 |
// 360 assigned from configurable products to Simple products
|
15 |
$map = array();
|
16 |
-
if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData())
|
17 |
-
$
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
$map[$pid]
|
|
|
|
|
|
|
22 |
}
|
23 |
-
array_push($map[$pid], $group['id_360']);
|
24 |
}
|
25 |
-
|
26 |
}
|
27 |
}
|
28 |
|
29 |
-
|
30 |
// all attributes map
|
31 |
$mapAttributesCodeId = array();
|
32 |
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
|
@@ -44,12 +56,11 @@ if ($product->type_id == 'configurable') {
|
|
44 |
}
|
45 |
}
|
46 |
|
47 |
-
|
48 |
// get associated products
|
49 |
$res = array();
|
50 |
if ($product->isConfigurable()) {
|
51 |
-
$childProducts = Mage::getModel('catalog/product_type_configurable')
|
52 |
-
|
53 |
foreach ($childProducts as $child) {
|
54 |
|
55 |
$data = $child->getData();
|
@@ -57,41 +68,54 @@ if ($product->isConfigurable()) {
|
|
57 |
|
58 |
$pairs = array();
|
59 |
$labels = array();
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
$attr = $product->getResource()->getAttribute($code);
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
array_push($labels, trim($option_label));
|
66 |
}
|
67 |
-
|
68 |
$idx = implode(',', $pairs);
|
69 |
$res[$idx] = array();
|
70 |
|
71 |
$obj = null;
|
72 |
$cnt = 0;
|
|
|
73 |
// add native images
|
74 |
foreach ($p->getMediaGalleryImages() as $image) {
|
75 |
-
|
76 |
$tmp = parse_url($image->getUrl());
|
77 |
if (!$obj) $obj = new stdClass;
|
78 |
$params = new stdClass;
|
79 |
$params->img = $tmp['path'];
|
|
|
80 |
$params->title = '';
|
81 |
$obj->$cnt = $params;
|
82 |
$cnt++;
|
83 |
}
|
84 |
|
85 |
-
// add related images via labels
|
86 |
foreach ($product->getMediaGalleryImages() as $image) {
|
87 |
-
if ($image->label_default != '' && in_array(trim($image->label_default), $labels)) {
|
88 |
$tmp = parse_url($image->getUrl());
|
89 |
if (!$obj) $obj = new stdClass;
|
90 |
$params = new stdClass;
|
91 |
$params->img = $tmp['path'];
|
|
|
92 |
$params->title = '';
|
93 |
$obj->$cnt = $params;
|
94 |
$cnt++;
|
|
|
|
|
|
|
95 |
}
|
96 |
}
|
97 |
|
@@ -100,93 +124,80 @@ if ($product->isConfigurable()) {
|
|
100 |
} else {
|
101 |
$res[$idx]['images'] = new stdClass();
|
102 |
}
|
|
|
103 |
$extraGroups = empty($map[$data['entity_id']]) ? array() : $map[$data['entity_id']];
|
104 |
$res[$idx]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['entity_id'], $extraGroups)));
|
105 |
}
|
106 |
}
|
107 |
|
108 |
-
|
109 |
-
//$imageFallback = $helper->getConfigurableImagesFallbackArray($product, array('image'), null);
|
110 |
-
//print_r($imageFallback);
|
111 |
-
|
112 |
-
|
113 |
-
/* OLD (based on labels)
|
114 |
-
// swatches
|
115 |
-
$swatches = array();
|
116 |
-
if (version_compare(Mage::getVersion(), '1.9.1') >= 0) {
|
117 |
-
$helper = Mage::helper('configurableswatches/mediafallback');
|
118 |
-
if ($labelMapping = $product->getChildAttributeLabelMapping() && $imageFallback = $helper->getConfigurableImagesFallbackArray($product, array('image'), null)) {
|
119 |
-
|
120 |
-
foreach ($imageFallback['option_labels'] as $label => $data) {
|
121 |
-
$swatches[$label] = array();
|
122 |
-
$cnt = 1;
|
123 |
-
$extraGroups = array();
|
124 |
-
foreach ($data['products'] as $pid) {
|
125 |
-
$p = Mage::getModel('catalog/product')->load($pid);
|
126 |
-
$obj = null;
|
127 |
-
foreach ($p->getMediaGalleryImages() as $image) {
|
128 |
-
|
129 |
-
$tmp = parse_url($image->getUrl());
|
130 |
-
$obj = new stdClass;
|
131 |
-
$params = new stdClass;
|
132 |
-
$params->img = $tmp['path'];
|
133 |
-
$params->title = '';
|
134 |
-
$obj->$cnt = $params;
|
135 |
-
$cnt++;
|
136 |
-
}
|
137 |
-
if ($obj != null){
|
138 |
-
$swatches[$label]['images'] = $obj;
|
139 |
-
}
|
140 |
-
if (isset($map[$pid])) {
|
141 |
-
$extraGroups = array_merge($extraGroups, $map[$pid]);
|
142 |
-
}
|
143 |
-
}
|
144 |
-
$swatches[$label]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['products'], $extraGroups)));
|
145 |
-
}
|
146 |
-
}
|
147 |
-
}
|
148 |
-
*/
|
149 |
-
|
150 |
-
|
151 |
$cnt = 0;
|
152 |
$imagesJson = array();
|
|
|
|
|
|
|
153 |
if (count($this->getGalleryImages()) > 0) {
|
154 |
|
155 |
-
|
|
|
|
|
156 |
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
166 |
}
|
167 |
}
|
168 |
-
}
|
169 |
-
|
|
|
|
|
|
|
170 |
$tmp = parse_url($image_url);
|
171 |
array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
|
172 |
}
|
173 |
}
|
174 |
?>
|
175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
<!-- Container for mouse over image -->
|
177 |
-
<div id="az_mouseOverZoomContainer"
|
178 |
-
|
179 |
</div>
|
180 |
|
181 |
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
182 |
-
<div id="az_mouseOverZoomGallery"
|
183 |
Gellery loading...
|
184 |
</div>
|
185 |
</div>
|
186 |
|
187 |
-
<?php
|
|
|
|
|
188 |
|
|
|
189 |
<script type="text/javascript">
|
|
|
|
|
|
|
190 |
<?php
|
191 |
$exclParArray = array('LICENSE_LIC');
|
192 |
foreach ($conf as $group => $data){
|
@@ -202,17 +213,32 @@ if (count($this->getGalleryImages()) > 0) {
|
|
202 |
}
|
203 |
}
|
204 |
?>
|
|
|
205 |
var AXZMPATH = '<?php echo $axZmPath; ?>';
|
206 |
|
207 |
-
//
|
208 |
var axAssociated = jQuery.parseJSON('<?php echo Mage::helper('core')->jsonEncode($res); ?>');
|
209 |
-
|
210 |
-
//
|
211 |
-
|
|
|
|
|
|
|
|
|
212 |
|
213 |
-
//
|
214 |
-
var
|
|
|
|
|
|
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
var zoomParams = {
|
217 |
disableAllMsg: AJAXZOOM_MAIN_DISABLEALLMSG,
|
218 |
axZmPath: AXZMPATH,
|
@@ -339,85 +365,95 @@ if (count($this->getGalleryImages()) > 0) {
|
|
339 |
zoomMsgClick: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGCLICK,
|
340 |
spinner: AJAXZOOM_MAIN_SPINNER
|
341 |
}
|
342 |
-
|
343 |
};
|
344 |
-
|
|
|
345 |
jQuery.mouseOverZoomInit(zoomParams);
|
346 |
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
|
|
|
|
|
|
357 |
};
|
358 |
|
359 |
-
|
|
|
|
|
360 |
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
divID: AJAXZOOM_MAIN_DIVID,
|
368 |
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
369 |
-
images:
|
370 |
-
images360:
|
371 |
-
});
|
372 |
-
}
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
}
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
images360: axAssociated[idx].images360
|
408 |
-
});
|
409 |
-
} else { // show initial images
|
410 |
-
resetAxZoom();
|
411 |
}
|
412 |
-
}
|
413 |
-
|
414 |
-
}, 100);
|
415 |
-
|
416 |
-
}
|
417 |
|
418 |
-
|
419 |
-
|
|
|
|
|
|
|
|
|
|
|
420 |
});
|
421 |
|
422 |
-
|
423 |
</script>
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/rwd/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.0
|
7 |
+
* Date: 2015-09-08
|
8 |
+
* Review: 2015-09-08
|
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 |
$tmp = parse_url(Mage::getBaseUrl());
|
21 |
$axZmPath = str_replace('index.php/', '', $tmp['path']) . 'js/axzoom/axZm/';
|
22 |
+
$product = Mage::getModel('catalog/product')->load($productId);
|
23 |
$images360Json = $ax->images360Json($productId);
|
24 |
+
$imagesJsonAll = array();
|
|
|
|
|
25 |
|
26 |
// 360 assigned from configurable products to Simple products
|
27 |
$map = array();
|
28 |
+
if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData()) {
|
29 |
+
foreach ($groups as $group) {
|
30 |
+
$comp = Mage::helper('core')->jsonDecode($group['combinations']);
|
31 |
+
if ($comp) {
|
32 |
+
foreach ($comp as $pid) {
|
33 |
+
if (!isset($map[$pid])) {
|
34 |
+
$map[$pid] = array();
|
35 |
+
}
|
36 |
+
array_push($map[$pid], $group['id_360']);
|
37 |
}
|
|
|
38 |
}
|
|
|
39 |
}
|
40 |
}
|
41 |
|
|
|
42 |
// all attributes map
|
43 |
$mapAttributesCodeId = array();
|
44 |
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
|
56 |
}
|
57 |
}
|
58 |
|
|
|
59 |
// get associated products
|
60 |
$res = array();
|
61 |
if ($product->isConfigurable()) {
|
62 |
+
$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
|
63 |
+
|
64 |
foreach ($childProducts as $child) {
|
65 |
|
66 |
$data = $child->getData();
|
68 |
|
69 |
$pairs = array();
|
70 |
$labels = array();
|
71 |
+
|
72 |
+
foreach ($attributesCodes as $code) { // $code is e.g. color or size
|
73 |
+
$pairs[] = $mapAttributesCodeId[$code] . ':' . $data[$code]; // generate pairs of attribures
|
74 |
$attr = $product->getResource()->getAttribute($code);
|
75 |
+
|
76 |
+
// We need to get default label value and not language value - getAllOptions(false, true) will return default values
|
77 |
+
// http://docs.magentocommerce.com/Mage_Eav/Mage_Eav_Model_Entity_Attribute_Source_Table.html
|
78 |
+
$option_label = $ax->findDefaultLabelValue($attr->getSource()->getAllOptions(false, true), $data[$code]);
|
79 |
+
if ($option_label == false){
|
80 |
+
// This would return language specific values
|
81 |
+
$option_label = $attr->getSource()->getOptionText($data[$code]);
|
82 |
+
}
|
83 |
+
|
84 |
array_push($labels, trim($option_label));
|
85 |
}
|
86 |
+
|
87 |
$idx = implode(',', $pairs);
|
88 |
$res[$idx] = array();
|
89 |
|
90 |
$obj = null;
|
91 |
$cnt = 0;
|
92 |
+
|
93 |
// add native images
|
94 |
foreach ($p->getMediaGalleryImages() as $image) {
|
|
|
95 |
$tmp = parse_url($image->getUrl());
|
96 |
if (!$obj) $obj = new stdClass;
|
97 |
$params = new stdClass;
|
98 |
$params->img = $tmp['path'];
|
99 |
+
array_push($imagesJsonAll, $tmp['path']);
|
100 |
$params->title = '';
|
101 |
$obj->$cnt = $params;
|
102 |
$cnt++;
|
103 |
}
|
104 |
|
105 |
+
// add related images via labels (images from configurable product)
|
106 |
foreach ($product->getMediaGalleryImages() as $image) {
|
107 |
+
if ($image->label_default != '' && in_array(trim($image->label_default), $labels)) {
|
108 |
$tmp = parse_url($image->getUrl());
|
109 |
if (!$obj) $obj = new stdClass;
|
110 |
$params = new stdClass;
|
111 |
$params->img = $tmp['path'];
|
112 |
+
array_push($imagesJsonAll, $tmp['path']);
|
113 |
$params->title = '';
|
114 |
$obj->$cnt = $params;
|
115 |
$cnt++;
|
116 |
+
}else{
|
117 |
+
$tmp = parse_url($image->getUrl());
|
118 |
+
array_push($imagesJsonAll, $tmp['path']);
|
119 |
}
|
120 |
}
|
121 |
|
124 |
} else {
|
125 |
$res[$idx]['images'] = new stdClass();
|
126 |
}
|
127 |
+
|
128 |
$extraGroups = empty($map[$data['entity_id']]) ? array() : $map[$data['entity_id']];
|
129 |
$res[$idx]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['entity_id'], $extraGroups)));
|
130 |
}
|
131 |
}
|
132 |
|
133 |
+
// Prepare json for AJAX-ZOOM
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
$cnt = 0;
|
135 |
$imagesJson = array();
|
136 |
+
$imagesJsonAll = array_unique($imagesJsonAll);
|
137 |
+
|
138 |
+
// Some images present
|
139 |
if (count($this->getGalleryImages()) > 0) {
|
140 |
|
141 |
+
// 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.
|
142 |
+
// You can change it by setting the radio button "Base Image" under product configuration -> Images
|
143 |
+
if (!($images360Json != '{}' && count($this->getGalleryImages()) == 1 && $product->getImage() == 'no_selection')){
|
144 |
|
145 |
+
// Loop over gallery images
|
146 |
+
foreach ($this->getGalleryImages() as $image) {
|
147 |
+
|
148 |
+
$check_image = false;
|
149 |
+
|
150 |
+
if (method_exists($this, 'isGalleryImageVisible')) {
|
151 |
+
$check_image = $this->isGalleryImageVisible($image);
|
152 |
+
} else {
|
153 |
+
$check_image = true;
|
154 |
+
}
|
155 |
|
156 |
+
if ($check_image) {
|
157 |
+
$cnt++;
|
158 |
+
$tmp = parse_url($image->getUrl());
|
159 |
+
array_push($imagesJson, $cnt . ': {img: "' . $tmp['path'] . '", title: ""}');
|
160 |
+
}
|
161 |
}
|
162 |
}
|
163 |
+
}
|
164 |
+
// No images present
|
165 |
+
else if ($conf['magento']['magentoNoImage'])
|
166 |
+
{
|
167 |
+
if ($image_url = $this->helper('catalog/image')->init($product, 'image')) {
|
168 |
$tmp = parse_url($image_url);
|
169 |
array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
|
170 |
}
|
171 |
}
|
172 |
?>
|
173 |
+
|
174 |
+
<script type="text/javascript">
|
175 |
+
// Fallback if catalog_product_view reference name="head" is not loaded
|
176 |
+
var mageAzJsUrl = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS).'axzoom/'; ?>';
|
177 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_fallback.js'%3E%3C/script%3E"));
|
178 |
+
</script>
|
179 |
+
|
180 |
+
<div id="az_mouseOverZoomParent">
|
181 |
<!-- Container for mouse over image -->
|
182 |
+
<div id="az_mouseOverZoomContainer">
|
183 |
+
Zoom loading...
|
184 |
</div>
|
185 |
|
186 |
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
187 |
+
<div id="az_mouseOverZoomGallery">
|
188 |
Gellery loading...
|
189 |
</div>
|
190 |
</div>
|
191 |
|
192 |
+
<?php
|
193 |
+
echo $this->getChildHtml('after');
|
194 |
+
?>
|
195 |
|
196 |
+
<!-- AJAX-ZOOM js block -->
|
197 |
<script type="text/javascript">
|
198 |
+
;(function($){
|
199 |
+
|
200 |
+
// Load plugin settings
|
201 |
<?php
|
202 |
$exclParArray = array('LICENSE_LIC');
|
203 |
foreach ($conf as $group => $data){
|
213 |
}
|
214 |
}
|
215 |
?>
|
216 |
+
|
217 |
var AXZMPATH = '<?php echo $axZmPath; ?>';
|
218 |
|
219 |
+
// Colors / attributes
|
220 |
var axAssociated = jQuery.parseJSON('<?php echo Mage::helper('core')->jsonEncode($res); ?>');
|
221 |
+
|
222 |
+
// Default plain images
|
223 |
+
<?php if ($conf['magento']['magentoAllImagesStart'] == 'true'){ ?>
|
224 |
+
var IMAGES_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
|
225 |
+
<?php } else { ?>
|
226 |
+
var IMAGES_JSON = {<?php echo implode(',', $imagesJson);?>};
|
227 |
+
<?php } ?>
|
228 |
|
229 |
+
// All images
|
230 |
+
var IMAGES_ALL_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
|
231 |
+
|
232 |
+
// Default 360
|
233 |
+
var IMAGES_360_JSON = <?php echo $images360Json; ?>;
|
234 |
|
235 |
+
// Need that later for not reloading if images are the same
|
236 |
+
var IMAGES_AND_360_LOADED = JSON.stringify({
|
237 |
+
images: jQuery.extend(true, {}, IMAGES_JSON),
|
238 |
+
images360: jQuery.extend(true, {}, IMAGES_360_JSON)
|
239 |
+
});
|
240 |
+
|
241 |
+
// AJAX-ZOOM mouseover and other parameters
|
242 |
var zoomParams = {
|
243 |
disableAllMsg: AJAXZOOM_MAIN_DISABLEALLMSG,
|
244 |
axZmPath: AXZMPATH,
|
365 |
zoomMsgClick: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGCLICK,
|
366 |
spinner: AJAXZOOM_MAIN_SPINNER
|
367 |
}
|
|
|
368 |
};
|
369 |
+
|
370 |
+
// Init AJAX-ZOOM
|
371 |
jQuery.mouseOverZoomInit(zoomParams);
|
372 |
|
373 |
+
// Swatches
|
374 |
+
var resetAxZoom = function() {
|
375 |
+
if (JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON}) == IMAGES_AND_360_LOADED){
|
376 |
+
return;
|
377 |
+
}
|
378 |
+
|
379 |
+
IMAGES_AND_360_LOADED = JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON});
|
380 |
+
jQuery.mouseOverZoomInit.replaceImages( {
|
381 |
+
divID: AJAXZOOM_MAIN_DIVID,
|
382 |
+
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
383 |
+
images: IMAGES_JSON,
|
384 |
+
images360: IMAGES_360_JSON
|
385 |
+
});
|
386 |
};
|
387 |
|
388 |
+
// Shortcut for maybe other applications or additional functionality
|
389 |
+
// window.resetAxZoom() will reset AJAX-ZOOM to the state when article is loaded without attribute selection
|
390 |
+
window.resetAxZoom = resetAxZoom;
|
391 |
|
392 |
+
// Change values
|
393 |
+
var updateAxZoomAction = function(idxSel){
|
394 |
+
//JSON.stringify(obj1) === JSON.stringify(obj2)
|
395 |
+
if ( (jQuery.isPlainObject(idxSel.images) && !jQuery.isEmptyObject(idxSel.images) )
|
396 |
+
|| (jQuery.isPlainObject(idxSel.images360) && !jQuery.isEmptyObject(idxSel.images360) )) {
|
397 |
+
|
398 |
+
if (JSON.stringify({images: idxSel.images, images360: idxSel.images360}) == IMAGES_AND_360_LOADED){
|
399 |
+
return;
|
400 |
+
}
|
401 |
+
|
402 |
+
IMAGES_AND_360_LOADED = JSON.stringify({images: idxSel.images, images360: idxSel.images360});
|
403 |
+
|
404 |
+
jQuery.mouseOverZoomInit.replaceImages( {
|
405 |
divID: AJAXZOOM_MAIN_DIVID,
|
406 |
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
407 |
+
images: idxSel.images,
|
408 |
+
images360: idxSel.images360
|
409 |
+
} );
|
410 |
+
} else { // show initial images
|
411 |
+
resetAxZoom();
|
412 |
+
}
|
413 |
+
};
|
414 |
+
|
415 |
+
var updateAxZoom = function(e) {
|
416 |
+
var obj = jQuery(this);
|
417 |
+
|
418 |
+
setTimeout(function(){
|
419 |
+
|
420 |
+
if(e.type == 'change' && obj.val() == '') {
|
421 |
+
resetAxZoom();
|
422 |
+
return;
|
423 |
+
}
|
424 |
|
425 |
+
var pairs = [];
|
426 |
+
|
427 |
+
for (var k in spConfig.state){
|
428 |
+
if (typeof spConfig.state[k] !== 'function' && typeof spConfig.state[k] !== 'object' && spConfig.state[k] != false) {
|
429 |
+
pairs.push(k + ':' + spConfig.state[k]);
|
430 |
}
|
431 |
+
}
|
432 |
+
|
433 |
+
var idx = pairs.join(',');
|
434 |
+
|
435 |
+
var idxSel = axAssociated[idx];
|
436 |
+
|
437 |
+
if (idxSel) {
|
438 |
+
updateAxZoomAction(idxSel);
|
439 |
+
} else {
|
440 |
+
// try to find whatever
|
441 |
+
jQuery.each(axAssociated, function(k, v){
|
442 |
+
if (k.indexOf(idx) != -1){
|
443 |
+
updateAxZoomAction(v);
|
444 |
+
return false;
|
|
|
|
|
|
|
|
|
445 |
}
|
446 |
+
})
|
447 |
+
}
|
|
|
|
|
|
|
448 |
|
449 |
+
}, 50);
|
450 |
+
|
451 |
+
}
|
452 |
+
|
453 |
+
jQuery(document).ready(function() {
|
454 |
+
jQuery('.swatch-label').click(updateAxZoom); // version 1.9.1 or more
|
455 |
+
jQuery('.super-attribute-select').change(updateAxZoom);
|
456 |
});
|
457 |
|
458 |
+
})(jQuery);
|
459 |
</script>
|
app/etc/modules/Ax_Zoom.xml
CHANGED
@@ -1,4 +1,20 @@
|
|
1 |
<?xml version="1.0" ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Ax_Zoom>
|
1 |
<?xml version="1.0" ?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/etc/modules/Ax_Zoom.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.0
|
8 |
+
* Date: 2015-09-08
|
9 |
+
* Review: 2015-09-08
|
10 |
+
* URL: http://www.ajax-zoom.com
|
11 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
12 |
+
*
|
13 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
14 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
15 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
+
*/
|
17 |
+
-->
|
18 |
<config>
|
19 |
<modules>
|
20 |
<Ax_Zoom>
|
js/axzoom/check_fallback.js
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_fallback.js
|
3 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
4 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.0.0
|
6 |
+
* Date: 2015-09-08
|
7 |
+
* Review: 2015-09-08
|
8 |
+
* URL: http://www.ajax-zoom.com
|
9 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
10 |
+
*
|
11 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
12 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
13 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
+
*/
|
15 |
+
|
16 |
+
if (!mageAzJsUrl){mageAzJsUrl = '/js/axzoom/';}
|
17 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_jquery.js'%3E%3C/script%3E"));
|
18 |
+
|
19 |
+
if (!jQuery.isFunction(jQuery.mouseOverZoomInit)){
|
20 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/axZm.css' %3E"));
|
21 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css' %3E"));
|
22 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.css' %3E"));
|
23 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.4.css' %3E"));
|
24 |
+
|
25 |
+
if (!jQuery.isFunction(jQuery.fancybox)){
|
26 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css' %3E"));
|
27 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js'%3E%3C/script%3E"));
|
28 |
+
}
|
29 |
+
|
30 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/jquery.axZm.js'%3E%3C/script%3E"));
|
31 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js'%3E%3C/script%3E"));
|
32 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js'%3E%3C/script%3E"));
|
33 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/spin/spin.min.js'%3E%3C/script%3E"));
|
34 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.js'%3E%3C/script%3E"));
|
35 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.4.js'%3E%3C/script%3E"));
|
36 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js'%3E%3C/script%3E"));
|
37 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/JSON/jquery.json-2.3.min.js'%3E%3C/script%3E"));
|
38 |
+
}
|
js/axzoom/check_jquery.js
CHANGED
@@ -1,4 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
|
2 |
-
document.write(unescape("%3Cscript type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.8.
|
3 |
document.write(unescape("%3Cscript type='text/javascript' %3EjQuery.noConflict();%3C/script%3E"));
|
4 |
-
}
|
1 |
+
/**
|
2 |
+
* Module: jQuery AJAX-ZOOM for Magento, /js/check_jquery.js
|
3 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
4 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.0.0
|
6 |
+
* Date: 2015-09-08
|
7 |
+
* Review: 2015-09-08
|
8 |
+
* URL: http://www.ajax-zoom.com
|
9 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
10 |
+
*
|
11 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
12 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
13 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
+
*/
|
15 |
+
|
16 |
+
// Inject jQuery 1.8.3 if it is not defined from google API CDN
|
17 |
+
// For AJAX-ZOOM you can also use any other jQuery version
|
18 |
+
// If you will be using jQuery >= 1.9 it is a good idea to also load "jquery-migrate" - https://github.com/jquery/jquery-migrate/
|
19 |
if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
|
20 |
+
document.write(unescape("%3Cscript type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'%3E%3C/script%3E"));
|
21 |
document.write(unescape("%3Cscript type='text/javascript' %3EjQuery.noConflict();%3C/script%3E"));
|
22 |
+
}
|
js/axzoom/check_jquery_admin.js
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_jquery_admin.php
|
3 |
+
* Copyright: Copyright (c) 2010-2015 Vadim Jacobi
|
4 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.0.0
|
6 |
+
* Date: 2015-09-08
|
7 |
+
* Review: 2015-09-08
|
8 |
+
* URL: http://www.ajax-zoom.com
|
9 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
10 |
+
*
|
11 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
12 |
+
* @copyright 2010-2015 AJAX-ZOOM, Vadim Jacobi
|
13 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
+
*/
|
15 |
+
|
16 |
+
;(function(){
|
17 |
+
// IE < 9 indexOf hack for arrays
|
18 |
+
if (!Array.prototype.indexOf){
|
19 |
+
Array.prototype.indexOf = function(elt /*, from*/){
|
20 |
+
var len = this.length >>> 0;
|
21 |
+
var from = Number(arguments[1]) || 0;
|
22 |
+
from = (from < 0) ? Math.ceil(from) : Math.floor(from);
|
23 |
+
if (from < 0) {from += len;}
|
24 |
+
for (; from < len; from++){if (from in this && this[from] === elt) {return from;}}
|
25 |
+
return -1;
|
26 |
+
};
|
27 |
+
}
|
28 |
+
|
29 |
+
var pathname = window.location.pathname, basePath = '', pathArr = pathname.split('/');
|
30 |
+
if (pathArr.length < 3){pathArr = pathname.split('\\');}
|
31 |
+
for (var i = 1; i < pathArr.indexOf('index.php'); i++){basePath += '/' + pathArr[i];}
|
32 |
+
if (!basePath){basePath = '/';} else {basePath += '/';} basePath = basePath.replace(/\/\/+/g, '\/');
|
33 |
+
|
34 |
+
// If jQuery is not defined inject jQuery 1.11.3 core with jQuery.noConflict() and jquery-migrate 1.2.1
|
35 |
+
if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
|
36 |
+
document.write(unescape("%3Cscript type='text/javascript' src='"+basePath+"js/axzoom/jquery-1.11.3.min.js'%3E%3C/script%3E"));
|
37 |
+
document.write(unescape("%3Cscript type='text/javascript'%3EjQuery.noConflict();%3C/script%3E"));
|
38 |
+
document.write(unescape("%3Cscript type='text/javascript' src='"+basePath+"js/axzoom/jquery-migrate-1.2.1.min.js'%3E%3C/script%3E"));
|
39 |
+
}
|
40 |
+
})();
|
js/axzoom/jquery-1.11.0.min.js
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
|
2 |
-
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&a |