Version Notes
Implemented new AJAX-ZOOM mouseover extension ver. 5
Download this release
Release Info
Developer | AJAX-ZOOM |
Extension | AJAX_ZOOM |
Version | 1.3.0 |
Comparing to | |
See all releases |
Code changes from version 1.2.4 to 1.3.0
- app/code/local/Ax/Zoom/AzMouseoverConfig.php +110 -0
- app/code/local/Ax/Zoom/AzMouseoverSettings.php +6434 -0
- app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php +11 -11
- app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Form/Numberimages.php +50 -0
- app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Form/Resetbutton.php +44 -0
- app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php +29 -29
- app/code/local/Ax/Zoom/Helper/Data.php +5 -5
- app/code/local/Ax/Zoom/Helper/Head.php +44 -36
- app/code/local/Ax/Zoom/Model/Ax360.php +296 -260
- app/code/local/Ax/Zoom/Model/Ax360set.php +26 -26
- app/code/local/Ax/Zoom/Model/Axproducts.php +6 -6
- app/code/local/Ax/Zoom/Model/Azsettings.php +57 -0
- app/code/local/Ax/Zoom/Model/Galleryposition.php +0 -29
- app/code/local/Ax/Zoom/Model/Observer.php +33 -34
- app/code/local/Ax/Zoom/Model/Position.php +0 -29
- app/code/local/Ax/Zoom/Model/Position4.php +0 -28
- app/code/local/Ax/Zoom/Model/Resource/Ax360.php +6 -6
- app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php +6 -6
- app/code/local/Ax/Zoom/Model/Resource/Ax360set.php +6 -6
- app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php +6 -6
- app/code/local/Ax/Zoom/Model/Resource/Axproducts.php +6 -6
- app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php +6 -6
- app/code/local/Ax/Zoom/Model/Words.php +0 -29
- app/code/local/Ax/Zoom/Model/Yesno.php +0 -27
- app/code/local/Ax/Zoom/controllers/AxzoomController.php +212 -161
- app/code/local/Ax/Zoom/etc/config.xml +401 -428
- app/code/local/Ax/Zoom/etc/system.xml +2245 -1483
- app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php +0 -69
- app/code/local/Ax/Zoom/sql/axzoom_setup/install-1.3.0.php +69 -0
- app/code/local/Ax/Zoom/sql/axzoom_setup/upgrade-1.2.4-1.3.0.php +25 -0
- app/design/adminhtml/default/default/layout/axzoom.xml +26 -30
- app/design/adminhtml/default/default/template/axzoom/tab.phtml +32 -32
- app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml +6 -6
- app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml +279 -282
- app/design/adminhtml/default/default/template/axzoom/tab360.phtml +5 -5
- app/design/adminhtml/default/default/template/axzoom/uploader.phtml +61 -61
- app/design/frontend/base/default/layout/axzoom.xml +56 -59
- app/design/frontend/base/default/template/ax_zoom/catalog/product/view/media.phtml +307 -489
- app/etc/modules/Ax_Zoom.xml +5 -5
- js/axzoom/axzoom.css +56 -0
- js/axzoom/check_fallback.js +34 -31
- js/axzoom/check_jquery.js +6 -6
- js/axzoom/check_jquery_admin.js +30 -30
- js/axzoom/lic.php +27 -28
- js/axzoom/preview/cropeditor.php +5 -5
- js/axzoom/preview/hotspoteditor.php +5 -5
- js/axzoom/preview/index.php +0 -1
- js/axzoom/zoomConfigCustomAZ.inc.php +5 -7
- package.xml +5 -5
app/code/local/Ax/Zoom/AzMouseoverConfig.php
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/AzMouseoverConfig.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
+
*/
|
16 |
+
|
17 |
+
$az_mouseover_config_magento = array(
|
18 |
+
'vendor' => 'Magento',
|
19 |
+
'exclude_opt_vendor' => array(
|
20 |
+
'axZmPath',
|
21 |
+
'lang',
|
22 |
+
'images',
|
23 |
+
'images360',
|
24 |
+
'videos',
|
25 |
+
'enableNativeSlider',
|
26 |
+
'enableInTab',
|
27 |
+
'enableInTabOpt',
|
28 |
+
'enableCssInOtherPages',
|
29 |
+
'default360settingsEmbed',
|
30 |
+
'defaultVideoYoutubeSettings',
|
31 |
+
'defaultVideoVimeoSettings',
|
32 |
+
'defaultVideoDailymotionSettings',
|
33 |
+
'defaultVideoVideojsSettings',
|
34 |
+
'defaultVideoVideojsJS'
|
35 |
+
),
|
36 |
+
'exclude_cat_vendor' => array('contents_settings','video_settings'),
|
37 |
+
'config_vendor' => array(
|
38 |
+
'oneSrcImg' => true,
|
39 |
+
'heightRatioOneImg' => 1.0,
|
40 |
+
'zoomWidth' => '.product-shop|+1',
|
41 |
+
'zoomHeight' => '.product-essential',
|
42 |
+
'width' => 800,
|
43 |
+
'height' => 800
|
44 |
+
),
|
45 |
+
'config_extend' => array(
|
46 |
+
'magentoAllImages' => array(
|
47 |
+
'prefix' => 'AJAXZOOM',
|
48 |
+
'important' => false,
|
49 |
+
'type' => 'bool',
|
50 |
+
'isJsObject' => false,
|
51 |
+
'isJsArray' => false,
|
52 |
+
'display' => 'switch',
|
53 |
+
'height' => null,
|
54 |
+
'default' => false,
|
55 |
+
'options' => null,
|
56 |
+
'comment' => array(
|
57 |
+
'EN' => '
|
58 |
+
Load all images independent on label (color),
|
59 |
+
also from "Simple Products" which are bind
|
60 |
+
to Configurable Product on start.
|
61 |
+
',
|
62 |
+
'DE' => '
|
63 |
+
Load all images independent on label (color),
|
64 |
+
also from "Simple Products" which are bind
|
65 |
+
to Configurable Product on start.
|
66 |
+
'
|
67 |
+
)
|
68 |
+
),
|
69 |
+
'magentoNoImage' => array(
|
70 |
+
'prefix' => 'AJAXZOOM',
|
71 |
+
'important' => false,
|
72 |
+
'type' => 'bool',
|
73 |
+
'isJsObject' => false,
|
74 |
+
'isJsArray' => false,
|
75 |
+
'display' => 'switch',
|
76 |
+
'height' => null,
|
77 |
+
'default' => false,
|
78 |
+
'options' => null,
|
79 |
+
'comment' => array(
|
80 |
+
'EN' => '
|
81 |
+
Show magento no image available,
|
82 |
+
if no AJAX-ZOOM no image available will be shown.
|
83 |
+
',
|
84 |
+
'DE' => '
|
85 |
+
Show magento no image available,
|
86 |
+
if no AJAX-ZOOM no image available will be shown.
|
87 |
+
'
|
88 |
+
)
|
89 |
+
),
|
90 |
+
'magentoAdminThumb' => array(
|
91 |
+
'prefix' => 'AJAXZOOM',
|
92 |
+
'important' => false,
|
93 |
+
'type' => 'bool',
|
94 |
+
'isJsObject' => false,
|
95 |
+
'isJsArray' => false,
|
96 |
+
'display' => 'switch',
|
97 |
+
'height' => null,
|
98 |
+
'default' => false,
|
99 |
+
'options' => null,
|
100 |
+
'comment' => array(
|
101 |
+
'EN' => '
|
102 |
+
Replace normal images in admin area with dynamically generated thumbs of these images
|
103 |
+
',
|
104 |
+
'DE' => '
|
105 |
+
Replace normal images in admin area with dynamically generated thumbs of these images
|
106 |
+
'
|
107 |
+
)
|
108 |
+
)
|
109 |
+
)
|
110 |
+
);
|
app/code/local/Ax/Zoom/AzMouseoverSettings.php
ADDED
@@ -0,0 +1,6434 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* AzMouseoverSettings.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.0.10
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
9 |
+
* URL: http://www.ajax-zoom.com
|
10 |
+
* Documentation: http://www.ajax-zoom.com/index.php?cid=docs
|
11 |
+
*
|
12 |
+
* @author AJAX-ZOOM <support@ajax-zoom.com>
|
13 |
+
* @copyright 2010-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
+
*/
|
16 |
+
|
17 |
+
if (!class_exists('AzMouseoverSettings', false)) {
|
18 |
+
|
19 |
+
class AzMouseoverSettings
|
20 |
+
{
|
21 |
+
public $vendor = '';
|
22 |
+
public $last_updated = '2017-06-25';
|
23 |
+
public $config = array();
|
24 |
+
public $items = array();
|
25 |
+
public $config_vendor = array();
|
26 |
+
public $config_extend = array();
|
27 |
+
public $categories = array();
|
28 |
+
public $exclude_opt_vendor = array('axZmPath', 'lang', 'images', 'images360', 'videos');
|
29 |
+
public $exclude_cat_vendor = array();
|
30 |
+
|
31 |
+
public function __construct()
|
32 |
+
{
|
33 |
+
$arguments = func_get_args();
|
34 |
+
|
35 |
+
if (!empty($arguments) && is_array($arguments[0])) {
|
36 |
+
foreach ($arguments[0] as $key => $property) {
|
37 |
+
if (property_exists($this, $key)) {
|
38 |
+
$this->{$key} = $property;
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
$this->defineCategories();
|
44 |
+
$this->defineConfig();
|
45 |
+
$this->extendConfig();
|
46 |
+
}
|
47 |
+
|
48 |
+
public function cleanComment($comment)
|
49 |
+
{
|
50 |
+
$comment = str_replace(array("\r\n", "\r", "\n", "\t"), ' ', $comment);
|
51 |
+
$comment = preg_replace('!\s+!', ' ', $comment);
|
52 |
+
return trim($comment);
|
53 |
+
}
|
54 |
+
|
55 |
+
public function defineCategories()
|
56 |
+
{
|
57 |
+
$this->categories = array(
|
58 |
+
'plugin_settings' => array(
|
59 |
+
'prefix' => 'AZ_CAT',
|
60 |
+
'title' => array(
|
61 |
+
'EN' => 'Plugin settings for '.$this->vendor,
|
62 |
+
'DE' => 'Plugin Einstellungen für '.$this->vendor
|
63 |
+
)
|
64 |
+
),
|
65 |
+
'contents_settings' => array(
|
66 |
+
'prefix' => 'AZ_CAT',
|
67 |
+
'title' => array(
|
68 |
+
'EN' => 'Contents settings',
|
69 |
+
'DE' => 'Inhalts Einstellungen'
|
70 |
+
)
|
71 |
+
),
|
72 |
+
'general_settings' => array(
|
73 |
+
'prefix' => 'AZ_CAT',
|
74 |
+
'title' => array(
|
75 |
+
'EN' => 'General settings',
|
76 |
+
'DE' => 'Allgemeine Einstellungen'
|
77 |
+
)
|
78 |
+
),
|
79 |
+
'product_tour' => array(
|
80 |
+
'prefix' => 'AZ_CAT',
|
81 |
+
'title' => array(
|
82 |
+
'EN' => '360 "Product tour"',
|
83 |
+
'DE' => '360 "Produkt Tour"'
|
84 |
+
)
|
85 |
+
),
|
86 |
+
'fullscreen_gallery' => array(
|
87 |
+
'prefix' => 'AZ_CAT',
|
88 |
+
'title' => array(
|
89 |
+
'EN' => 'Fullscreen gallery',
|
90 |
+
'DE' => 'Vollbild Galerie'
|
91 |
+
)
|
92 |
+
),
|
93 |
+
'mouseover' => array(
|
94 |
+
'prefix' => 'AZ_CAT',
|
95 |
+
'title' => array(
|
96 |
+
'EN' => 'Specific options for the mouseover zoom',
|
97 |
+
'DE' => 'Spezifische optionen für mousever zoom'
|
98 |
+
)
|
99 |
+
),
|
100 |
+
'video_settings' => array(
|
101 |
+
'prefix' => 'AZ_CAT',
|
102 |
+
'title' => array(
|
103 |
+
'EN' => 'Video settings',
|
104 |
+
'DE' => 'Videos Einstellungen'
|
105 |
+
)
|
106 |
+
)
|
107 |
+
|
108 |
+
);
|
109 |
+
}
|
110 |
+
|
111 |
+
public function defineItemes()
|
112 |
+
{
|
113 |
+
$this->items = array(
|
114 |
+
'images' => array(
|
115 |
+
'prefix' => '',
|
116 |
+
'category' => 'contents_settings',
|
117 |
+
'important' => true,
|
118 |
+
'type' => 'object, array',
|
119 |
+
'isJsObject' => false,
|
120 |
+
'isJsArray' => false,
|
121 |
+
'display' => 'textarea',
|
122 |
+
'height' => null,
|
123 |
+
'default' => '{}',
|
124 |
+
'options' => null,
|
125 |
+
'comment' => array(
|
126 |
+
'EN' => '
|
127 |
+
Object containing absolute paths to the master images, optional with titles. Start with 1, not 0.
|
128 |
+
Your master image "img" can be as big as you want, it never loads into cache
|
129 |
+
You can also protect the directory with .htaccess or other http access restrictions.
|
130 |
+
|
131 |
+
<pre class="language-js"><code class="language-js">
|
132 |
+
images: {
|
133 |
+
1: {
|
134 |
+
img: "/pic/fashion_001.jpg",
|
135 |
+
title: "Test Title 1"
|
136 |
+
},
|
137 |
+
2: {
|
138 |
+
img: "/pic/fashion_002.jpg",
|
139 |
+
title: "Test Title 2"
|
140 |
+
},
|
141 |
+
3: {
|
142 |
+
img: "/pic/fashion_003.jpg",
|
143 |
+
title: "Test Title 3"
|
144 |
+
}
|
145 |
+
}
|
146 |
+
</code></pre>
|
147 |
+
|
148 |
+
Alternatively you can link to your static images with these keys: <br /> <br />
|
149 |
+
<ul>
|
150 |
+
<li>"zoom" - big mouseover image </li>
|
151 |
+
<li>"preview" - preview image </li>
|
152 |
+
<li>"thumb" - image for the gallery </li>
|
153 |
+
<li>"img" - your master image is needed anyway to open AJAX-ZOOM on click;
|
154 |
+
this image can be in a directory with restricted access over http;
|
155 |
+
</li>
|
156 |
+
<li>"title" - optional title</li>
|
157 |
+
<li>"hotspotFilePath" - Optionally you can define "hotspotFilePath" for each images
|
158 |
+
which is the path to the file containing data for hotspots.
|
159 |
+
For more information see <a href="http://www.ajax-zoom.com/examples/example33.php">example33.php</a>
|
160 |
+
or JSON / JS object with hotspots configuration. The hotspots will be
|
161 |
+
visible in fullscreen or responsive fancybox.
|
162 |
+
</li>
|
163 |
+
</ul>
|
164 |
+
<br /> <br />
|
165 |
+
So the images object would look like this:
|
166 |
+
<pre class="language-js"><code class="language-js">
|
167 |
+
images: {
|
168 |
+
1: {
|
169 |
+
zoom: "/cache/fashion_001_1200x1200.jpg",
|
170 |
+
preview: "/cache/fashion_001_350x400.jpg",
|
171 |
+
thumb: "/cache/fashion_001_80x100.jpg"
|
172 |
+
img: "/pic/fashion_001.jpg",
|
173 |
+
title: "Test Title 1"
|
174 |
+
},
|
175 |
+
2: {
|
176 |
+
zoom: "/cache/fashion_002_1200x1200.jpg",
|
177 |
+
preview: "/cache/fashion_002_350x400.jpg",
|
178 |
+
thumb: "/cache/fashion_002_80x100.jpg",
|
179 |
+
img: "/pic/fashion_002.jpg",
|
180 |
+
title: "Test Title 2"
|
181 |
+
},
|
182 |
+
3: {
|
183 |
+
zoom: "/cache/fashion_003_1200x1200.jpg",
|
184 |
+
preview: "/cache/fashion_003_350x400.jpg",
|
185 |
+
thumb: "/cache/fashion_003_80x100.jpg",
|
186 |
+
img: "/pic/fashion_003.jpg",
|
187 |
+
title: "Test Title 3"
|
188 |
+
}
|
189 |
+
}
|
190 |
+
</code></pre>
|
191 |
+
|
192 |
+
In case "zoom", "preview" and "thumb" are not defined,
|
193 |
+
AJAX-ZOOM will generate these images out of "img" instantly on-the-fly.
|
194 |
+
<br /> <br />
|
195 |
+
"images" option can be also of type array, e.g.
|
196 |
+
<pre class="language-js"><code class="language-js">
|
197 |
+
images: [
|
198 |
+
{ img: "/pic/fashion_001.jpg",
|
199 |
+
title: "Test Title 1"
|
200 |
+
},
|
201 |
+
{ img: "/pic/fashion_002.jpg",
|
202 |
+
title: "Test Title 2"
|
203 |
+
},
|
204 |
+
{ img: "/pic/fashion_003.jpg",
|
205 |
+
title: "Test Title 3"
|
206 |
+
}
|
207 |
+
]
|
208 |
+
</code></pre>
|
209 |
+
|
210 |
+
',
|
211 |
+
'DE' => ''
|
212 |
+
)
|
213 |
+
),
|
214 |
+
|
215 |
+
'images360' => array(
|
216 |
+
'prefix' => '',
|
217 |
+
'category' => 'contents_settings',
|
218 |
+
'important' => true,
|
219 |
+
'type' => 'object, array',
|
220 |
+
'isJsObject' => false,
|
221 |
+
'isJsArray' => false,
|
222 |
+
'display' => 'textarea',
|
223 |
+
'height' => null,
|
224 |
+
'default' => '{}',
|
225 |
+
'options' => null,
|
226 |
+
'comment' => array(
|
227 |
+
'EN' => '
|
228 |
+
Object or an array with paths to the folders which contain 360 degree images;
|
229 |
+
mostly you would want to add only one 360 spin but the "images360" object can contain as many as you like;
|
230 |
+
|
231 |
+
<pre class="language-js"><code class="language-js">
|
232 |
+
images360: {
|
233 |
+
1: {
|
234 |
+
path: "/pic/zoom3d/Uvex_Occhiali",
|
235 |
+
position: "first"
|
236 |
+
}
|
237 |
+
}
|
238 |
+
</code></pre>
|
239 |
+
|
240 |
+
Other possible keys are: <br /> <br />
|
241 |
+
<ul>
|
242 |
+
<li>"thumb" - direct link to thumb image displayed in the gallery.
|
243 |
+
In case "thumb" is not present AJAX-ZOOM will internally request
|
244 |
+
first image of your 360 and generate the thumb.
|
245 |
+
You can disable this by setting "images360Thumb" option below to
|
246 |
+
false so you will only get a 360 degree icon which is ok too.
|
247 |
+
</li>
|
248 |
+
<li>"thumbImg" - instead of "thumb" you can also directly link to an image under "path" out of which
|
249 |
+
AJAX-ZOOM will generate the gallery thumb
|
250 |
+
</li>
|
251 |
+
<li>"title" - optional title</li>
|
252 |
+
<li>"hotspotFilePath" - optional path to the file which contains data for hotspots. For more information see
|
253 |
+
<a href="http://www.ajax-zoom.com/examples/example33.php">example33.php</a>
|
254 |
+
or JSON / JS object with hotspots configuration.
|
255 |
+
</li>
|
256 |
+
<li>"crop" - JSON generated with <a href="http://www.ajax-zoom.com/examples/example35.php">example35.php</a>
|
257 |
+
or path to the file (static or dynamically generated) which contains this JSON.
|
258 |
+
</li>
|
259 |
+
</ul>
|
260 |
+
|
261 |
+
<br /><br />Most AJAX-ZOOM main script options can be set with JavaScript.
|
262 |
+
You could define these options for each 360 individually, e.g. <br /> <br />
|
263 |
+
<ul>
|
264 |
+
<li>"spinReverse" - reverse the direction of the spin</li>
|
265 |
+
<li>"spinDemoTime" - time in ms during which AJAX-ZOOM will make one turn</li>
|
266 |
+
<li>"someThingElse..." - any other key</li>
|
267 |
+
</ul>
|
268 |
+
',
|
269 |
+
'DE' => ''
|
270 |
+
)
|
271 |
+
),
|
272 |
+
|
273 |
+
'videos' => array(
|
274 |
+
'prefix' => '',
|
275 |
+
'category' => 'contents_settings',
|
276 |
+
'important' => true,
|
277 |
+
'type' => 'object, array',
|
278 |
+
'isJsObject' => false,
|
279 |
+
'isJsArray' => false,
|
280 |
+
'display' => 'textarea',
|
281 |
+
'height' => null,
|
282 |
+
'default' => '{}',
|
283 |
+
'options' => null,
|
284 |
+
'comment' => array(
|
285 |
+
'EN' => '
|
286 |
+
Object containing videos configuration. Start with 1, not 0.
|
287 |
+
|
288 |
+
<pre class="language-js"><code class="language-js">
|
289 |
+
videos: {
|
290 |
+
1: {key: "YmcyTNWs9_Q", type: "youtube", position: "last", thumbImg: false},
|
291 |
+
2: {key: "171617419", type: "vimeo", position: "last", thumbImg: false},
|
292 |
+
3: {key: "x20g8k1", type: "dailymotion", position: "last", thumbImg: false, title: "Lorem..."},
|
293 |
+
4: {
|
294 |
+
key: "http://vjs.zencdn.net/v/oceans.mp4",
|
295 |
+
type: "html5", position: "last",
|
296 |
+
thumbImg: false,
|
297 |
+
settings: {},
|
298 |
+
title: "Lorem..."
|
299 |
+
}
|
300 |
+
}
|
301 |
+
</code></pre>
|
302 |
+
|
303 |
+
Configuration keys: <br /> <br />
|
304 |
+
<ul>
|
305 |
+
<li>"key" - key of the video or url for html5</li>
|
306 |
+
<li>"type" - type of the video, possible values are youtube, vimeo, dailymotion or html5 </li>
|
307 |
+
<li>"position" - position in the gallery (first, last, afterFirst)</li>
|
308 |
+
<li>"thumbImg" - link to thumbnail / image. For youtube / vimeo / dailymotion they can be received instanly,
|
309 |
+
not need to be deifned
|
310 |
+
</li>
|
311 |
+
<li>"settings" - for html5 you can define several options over "settings" which is an object too.
|
312 |
+
This will extend the global settings for html5 player.
|
313 |
+
In e-commerce plugins these settings can be also set individually for each video over backend.
|
314 |
+
</li>
|
315 |
+
<li>"title" - optional title</li>
|
316 |
+
</ul>
|
317 |
+
',
|
318 |
+
'DE' => ''
|
319 |
+
)
|
320 |
+
)
|
321 |
+
|
322 |
+
);
|
323 |
+
}
|
324 |
+
|
325 |
+
public function defineConfig()
|
326 |
+
{
|
327 |
+
/*
|
328 |
+
'OPTION' => array(
|
329 |
+
'prefix' => 'AJAXZOOM',
|
330 |
+
'category' => 'plugin_settings',
|
331 |
+
'vendor' => array(),
|
332 |
+
'important' => false,
|
333 |
+
'useful' => false,
|
334 |
+
'type' => 'bool',
|
335 |
+
'isJsObject' => false,
|
336 |
+
'isJsArray' => false,
|
337 |
+
'display' => 'switch',
|
338 |
+
'height' => null,
|
339 |
+
'default' => false,
|
340 |
+
'options' => null,
|
341 |
+
'comment' => array(
|
342 |
+
'EN' => '
|
343 |
+
|
344 |
+
',
|
345 |
+
'DE' => '
|
346 |
+
|
347 |
+
'
|
348 |
+
)
|
349 |
+
)
|
350 |
+
*/
|
351 |
+
|
352 |
+
$this->config = array(
|
353 |
+
|
354 |
+
// plugin_settings
|
355 |
+
'enableInFrontDetail' => array(
|
356 |
+
'prefix' => 'AJAXZOOM', // prefix AJAXZOOM OR AZ
|
357 |
+
'category' => 'plugin_settings', // key $this->categories
|
358 |
+
'important' => false, // true / false
|
359 |
+
'type' => 'bool', // bool, int, float, string, object, array, mixed, function
|
360 |
+
'isJsObject' => false, // true, false
|
361 |
+
'isJsArray' => false, // true, false
|
362 |
+
'display' => 'switch', // text, textarea, switch, select
|
363 |
+
'height' => null, // height of textarea if applied
|
364 |
+
'default' => true, // default value
|
365 |
+
'options' => null, // array for select
|
366 |
+
'comment' => array(
|
367 |
+
'EN' => '
|
368 |
+
Eneable / disable AJAX-ZOOM output in product detail view.
|
369 |
+
',
|
370 |
+
'DE' => '
|
371 |
+
Aktivieren / deaktivieren AJAX-ZOOM Output in Produktdetailansicht.
|
372 |
+
'
|
373 |
+
)
|
374 |
+
),
|
375 |
+
|
376 |
+
'enableCssInOtherPages' => array(
|
377 |
+
'prefix' => 'AJAXZOOM',
|
378 |
+
'category' => 'plugin_settings',
|
379 |
+
'important' => false,
|
380 |
+
'type' => 'bool',
|
381 |
+
'isJsObject' => false,
|
382 |
+
'isJsArray' => false,
|
383 |
+
'display' => 'switch',
|
384 |
+
'height' => null,
|
385 |
+
'default' => true,
|
386 |
+
'options' => null,
|
387 |
+
'comment' => array(
|
388 |
+
'EN' => '
|
389 |
+
Add a small css file to frontend for embedding AJAX-ZOOM in responsive iframe.
|
390 |
+
',
|
391 |
+
'DE' => '
|
392 |
+
Eine kleine css Datei weiteren Shopbereichen hinzufügen, um AJAX-ZOOM 360 Player
|
393 |
+
im responsiven iframe einzubetten.
|
394 |
+
'
|
395 |
+
)
|
396 |
+
),
|
397 |
+
|
398 |
+
'enableNativeSlider' => array(
|
399 |
+
'prefix' => 'AJAXZOOM',
|
400 |
+
'category' => 'plugin_settings',
|
401 |
+
'vendor' => array('Shopware 5'),
|
402 |
+
'important' => true,
|
403 |
+
'type' => 'bool',
|
404 |
+
'isJsObject' => false,
|
405 |
+
'isJsArray' => false,
|
406 |
+
'display' => 'switch',
|
407 |
+
'height' => null,
|
408 |
+
'default' => false,
|
409 |
+
'options' => null,
|
410 |
+
'comment' => array(
|
411 |
+
'EN' => '
|
412 |
+
Eneable native '.$this->vendor.' slider for all products
|
413 |
+
instead of AJAX-ZOOM mouseover gallery.
|
414 |
+
The 360s will be injected into this native Shopware 5 gallery.
|
415 |
+
Please note that you might need to clear shop teplate cache to see the results.
|
416 |
+
',
|
417 |
+
'DE' => '
|
418 |
+
Den default '.$this->vendor.' Slider / Galerie
|
419 |
+
anstatt von AJAX-ZOOM Mouseover Zoom für alle Produkte aktivieren.
|
420 |
+
Die 360 Animationen werden in diesem Slider automatisch dargestellt.
|
421 |
+
Bitte beachten Sie, dass Sie eventuell den Shop-Teplate-Cache löschen müssen,
|
422 |
+
um die Ergebnisse zu sehen.
|
423 |
+
'
|
424 |
+
)
|
425 |
+
),
|
426 |
+
|
427 |
+
'enableInTab' => array(
|
428 |
+
'prefix' => 'AJAXZOOM',
|
429 |
+
'category' => 'plugin_settings',
|
430 |
+
'vendor' => array('Shopware 5'),
|
431 |
+
'important' => true,
|
432 |
+
'type' => 'bool',
|
433 |
+
'isJsObject' => false,
|
434 |
+
'isJsArray' => false,
|
435 |
+
'display' => 'switch',
|
436 |
+
'height' => null,
|
437 |
+
'default' => false,
|
438 |
+
'options' => null,
|
439 |
+
'comment' => array(
|
440 |
+
'EN' => '
|
441 |
+
Display 360 / 3D / videos in tab contant.
|
442 |
+
Please note that you might need to clear shop teplate cache to see the results.
|
443 |
+
',
|
444 |
+
'DE' => '
|
445 |
+
Anzeige von 360 / 3D / Videos im Registerinhalt.
|
446 |
+
Bitte beachten Sie, dass Sie eventuell den Shop-Teplate-Cache löschen müssen,
|
447 |
+
um die Ergebnisse zu sehen.
|
448 |
+
'
|
449 |
+
)
|
450 |
+
),
|
451 |
+
|
452 |
+
'enableInTabOpt' => array(
|
453 |
+
'prefix' => 'AJAXZOOM',
|
454 |
+
'category' => 'plugin_settings',
|
455 |
+
'vendor' => array('Shopware 5'),
|
456 |
+
'important' => false,
|
457 |
+
'type' => 'string',
|
458 |
+
'isJsObject' => true,
|
459 |
+
'isJsArray' => false,
|
460 |
+
'display' => 'textarea',
|
461 |
+
'height' => null,
|
462 |
+
'default' => '{
|
463 |
+
"ajaxZoomOpenMode": "fullscreen",
|
464 |
+
"thumbSliderPosition": "bottom",
|
465 |
+
"maxSizePrc": "1.0|-200",
|
466 |
+
"azOptions360": {
|
467 |
+
"mouseScrollEnable": false,
|
468 |
+
"mouseScrollEnableFS": false,
|
469 |
+
"mNavi": {
|
470 |
+
"enabled": true,
|
471 |
+
"gravity": "bottomLeft",
|
472 |
+
"order": {
|
473 |
+
"mZoomOut": 5,
|
474 |
+
"mZoomIn": 15
|
475 |
+
}
|
476 |
+
}
|
477 |
+
}
|
478 |
+
}',
|
479 |
+
'options' => null,
|
480 |
+
'comment' => array(
|
481 |
+
'EN' => '
|
482 |
+
Override default options if "enableInTab" is activated
|
483 |
+
globally or set for particular product.
|
484 |
+
',
|
485 |
+
'DE' => '
|
486 |
+
Überschreiben der Standardoptionen, wenn "enableInTab" global aktiviert ist
|
487 |
+
oder für ein bestimmtes Produkt gesetzt ist.
|
488 |
+
'
|
489 |
+
)
|
490 |
+
),
|
491 |
+
|
492 |
+
'displayOnlyForThisProductID' => array(
|
493 |
+
'prefix' => 'AJAXZOOM',
|
494 |
+
'category' => 'plugin_settings',
|
495 |
+
'type' => 'string',
|
496 |
+
'isJsObject' => false,
|
497 |
+
'isJsArray' => false,
|
498 |
+
'useful' => true,
|
499 |
+
'display' => 'textarea',
|
500 |
+
'height' => 100,
|
501 |
+
'default' => '',
|
502 |
+
'options' => null,
|
503 |
+
'comment' => array(
|
504 |
+
'EN' => '
|
505 |
+
CSV with product IDs for which AJAX-ZOOM will be <b>only</b> enabled.
|
506 |
+
Leave blank to have it enabled for all products!
|
507 |
+
This option can be useful e.g. if you want to make A/B tests and enable
|
508 |
+
AJAX-ZOOM only for certain products, e.g. 7,15 would
|
509 |
+
enable AJAX-ZOOM only for products with ID 7 and 15.
|
510 |
+
',
|
511 |
+
'DE' => '
|
512 |
+
CSV mit Produkt-IDs für die AJAX-ZOOM ausschließlich aktiviert wird.
|
513 |
+
Lassen Sie das Feld leer um AJAX-ZOOM für alle Produkte zu aktivieren!
|
514 |
+
Diese Option ist nützlich z.B. wenn Sie A / B - Tests durchführen wollen,
|
515 |
+
z.B. 7,15 würde AJAX-ZOOM nur für Produkte mit ID 7 und 15 freischalten.
|
516 |
+
'
|
517 |
+
)
|
518 |
+
),
|
519 |
+
|
520 |
+
'default360settings' => array(
|
521 |
+
'prefix' => 'AJAXZOOM',
|
522 |
+
'category' => 'plugin_settings',
|
523 |
+
'type' => 'string',
|
524 |
+
'isJsObject' => true,
|
525 |
+
'isJsArray' => false,
|
526 |
+
'display' => 'textarea',
|
527 |
+
'height' => 50,
|
528 |
+
'default' => '{
|
529 |
+
"position": "first",
|
530 |
+
"spinReverse": "true",
|
531 |
+
"spinBounce": "false",
|
532 |
+
"spinDemoRounds": "3",
|
533 |
+
"spinDemoTime": "4500"
|
534 |
+
}',
|
535 |
+
'options' => null,
|
536 |
+
'comment' => array(
|
537 |
+
'EN' => '
|
538 |
+
Default configuration settings when importing / creating new 360 over backend.
|
539 |
+
',
|
540 |
+
'DE' => '
|
541 |
+
Die Standardeinstellungen beim Import / Erstellen neuer 360 über das Backend.
|
542 |
+
'
|
543 |
+
)
|
544 |
+
),
|
545 |
+
|
546 |
+
'default360settingsEmbed' => array(
|
547 |
+
'prefix' => 'AJAXZOOM',
|
548 |
+
'category' => 'plugin_settings',
|
549 |
+
'type' => 'string',
|
550 |
+
'isJsObject' => true,
|
551 |
+
'isJsArray' => false,
|
552 |
+
'display' => 'textarea',
|
553 |
+
'height' => 50,
|
554 |
+
'default' => '{
|
555 |
+
"fullScreenCornerButton": "true",
|
556 |
+
"fullScreenCornerButtonTouch": "false",
|
557 |
+
"scroll": "false",
|
558 |
+
"mouseScrollEnable": "true"
|
559 |
+
}',
|
560 |
+
'options' => null,
|
561 |
+
'comment' => array(
|
562 |
+
'EN' => '
|
563 |
+
Default 360 degree configuration settings settings when embedded into
|
564 |
+
CMS / Blog and simmilar
|
565 |
+
(not product detail page).
|
566 |
+
',
|
567 |
+
'DE' => '
|
568 |
+
Die Standardeinstellungen für das Einbetten der 360 Grad Animationen in CMS / Blog
|
569 |
+
oder ähnlich (nicht Produkt Detailseite).
|
570 |
+
'
|
571 |
+
)
|
572 |
+
),
|
573 |
+
|
574 |
+
'defaultVideoYoutubeSettings' => array(
|
575 |
+
'prefix' => 'AJAXZOOM',
|
576 |
+
'category' => 'plugin_settings',
|
577 |
+
'type' => 'string',
|
578 |
+
'isJsObject' => true,
|
579 |
+
'isJsArray' => false,
|
580 |
+
'display' => 'textarea',
|
581 |
+
'height' => 50,
|
582 |
+
'default' => '{}',
|
583 |
+
'options' => null,
|
584 |
+
'comment' => array(
|
585 |
+
'EN' => '
|
586 |
+
Default configuration settings for new YouTube video.
|
587 |
+
',
|
588 |
+
'DE' => '
|
589 |
+
Standard-Konfigurationseinstellungen für neues YouTube Video.
|
590 |
+
'
|
591 |
+
)
|
592 |
+
),
|
593 |
+
|
594 |
+
'defaultVideoVimeoSettings' => array(
|
595 |
+
'prefix' => 'AJAXZOOM',
|
596 |
+
'category' => 'plugin_settings',
|
597 |
+
'type' => 'string',
|
598 |
+
'isJsObject' => true,
|
599 |
+
'isJsArray' => false,
|
600 |
+
'display' => 'textarea',
|
601 |
+
'height' => 50,
|
602 |
+
'default' => '{}',
|
603 |
+
'options' => null,
|
604 |
+
'comment' => array(
|
605 |
+
'EN' => '
|
606 |
+
Default configuration settings for new Vimeo video.
|
607 |
+
',
|
608 |
+
'DE' => '
|
609 |
+
Standard-Konfigurationseinstellungen für neues Vimeo Video.
|
610 |
+
'
|
611 |
+
)
|
612 |
+
),
|
613 |
+
|
614 |
+
'defaultVideoDailymotionSettings' => array(
|
615 |
+
'prefix' => 'AJAXZOOM',
|
616 |
+
'category' => 'plugin_settings',
|
617 |
+
'type' => 'string',
|
618 |
+
'isJsObject' => true,
|
619 |
+
'isJsArray' => false,
|
620 |
+
'display' => 'textarea',
|
621 |
+
'height' => 50,
|
622 |
+
'default' => '{}',
|
623 |
+
'options' => null,
|
624 |
+
'comment' => array(
|
625 |
+
'EN' => '
|
626 |
+
Default configuration settings for new Dailymotion video.
|
627 |
+
',
|
628 |
+
'DE' => '
|
629 |
+
Standard-Konfigurationseinstellungen für neues Dailymotion Video.
|
630 |
+
'
|
631 |
+
)
|
632 |
+
),
|
633 |
+
|
634 |
+
'defaultVideoVideojsSettings' => array(
|
635 |
+
'prefix' => 'AJAXZOOM',
|
636 |
+
'category' => 'plugin_settings',
|
637 |
+
'type' => 'string',
|
638 |
+
'isJsObject' => true,
|
639 |
+
'isJsArray' => false,
|
640 |
+
'display' => 'textarea',
|
641 |
+
'height' => 50,
|
642 |
+
'default' => '{}',
|
643 |
+
'options' => null,
|
644 |
+
'comment' => array(
|
645 |
+
'EN' => '
|
646 |
+
Default configuration settings for new HTML5 (videojs) video.
|
647 |
+
',
|
648 |
+
'DE' => '
|
649 |
+
Standard-Konfigurationseinstellungen für neues HTML5 (videojs) Video.
|
650 |
+
'
|
651 |
+
)
|
652 |
+
),
|
653 |
+
|
654 |
+
'defaultVideoVideojsJS' => array(
|
655 |
+
'prefix' => 'AJAXZOOM',
|
656 |
+
'category' => 'plugin_settings',
|
657 |
+
'type' => 'string',
|
658 |
+
'isJsObject' => true,
|
659 |
+
'isJsArray' => false,
|
660 |
+
'display' => 'textarea',
|
661 |
+
'height' => 100,
|
662 |
+
'default' => '{
|
663 |
+
"css1": "//vjs.zencdn.net/5.11.9/video-js.css",
|
664 |
+
"css2": "",
|
665 |
+
"js1": "//vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js",
|
666 |
+
"js2": "//vjs.zencdn.net/5.11.9/video.js",
|
667 |
+
"js3": ""
|
668 |
+
}',
|
669 |
+
'options' => null,
|
670 |
+
'comment' => array(
|
671 |
+
'EN' => '
|
672 |
+
Sources for videojs CSS and JS which will be included in frontend template.
|
673 |
+
',
|
674 |
+
'DE' => '
|
675 |
+
Quellen für Videojs CSS und JS Dateien, die in der Frontend-Vorlage enthalten sein werden.
|
676 |
+
'
|
677 |
+
)
|
678 |
+
),
|
679 |
+
|
680 |
+
'pngModeCssFix' => array(
|
681 |
+
'prefix' => 'AJAXZOOM',
|
682 |
+
'category' => 'plugin_settings',
|
683 |
+
'type' => 'bool',
|
684 |
+
'isJsObject' => false,
|
685 |
+
'isJsArray' => false,
|
686 |
+
'display' => 'switch',
|
687 |
+
'height' => null,
|
688 |
+
'default' => false,
|
689 |
+
'options' => null,
|
690 |
+
'comment' => array(
|
691 |
+
'EN' => '
|
692 |
+
Include CSS file for making
|
693 |
+
some areas of the player transparent which only makes sense
|
694 |
+
if pngMode option is set to auto or true and you are
|
695 |
+
really using transparent png images.
|
696 |
+
',
|
697 |
+
'DE' => '
|
698 |
+
Eine CSS Datei einschließen, die bestimmte Bereiche des Players transparent macht,
|
699 |
+
was nur Sinn macht, wenn pngMode eingeschaltet ist (auto, true) und Sie im Shop
|
700 |
+
tatsächlich fast ausschließlich PNG Bilder mit transparenten Bereichen verwenden.
|
701 |
+
'
|
702 |
+
)
|
703 |
+
),
|
704 |
+
|
705 |
+
// general_settings
|
706 |
+
'axZmPath' => array(
|
707 |
+
'prefix' => 'AJAXZOOM',
|
708 |
+
'category' => 'general_settings',
|
709 |
+
'type' => 'string',
|
710 |
+
'isJsObject' => false,
|
711 |
+
'isJsArray' => false,
|
712 |
+
'display' => 'text',
|
713 |
+
'height' => null,
|
714 |
+
'default' => 'auto',
|
715 |
+
'options' => null,
|
716 |
+
'comment' => array(
|
717 |
+
'EN' => '
|
718 |
+
Path to AJAX-ZOOM, e.g. "/zoomTest/axZm/".
|
719 |
+
The default "auto" value might not always work so if you experience any difficulties
|
720 |
+
please set the path manually.
|
721 |
+
It is recommended to set this path manually anyway!
|
722 |
+
',
|
723 |
+
'DE' => '
|
724 |
+
Pfad zu AJAX-ZOOM, z.B. "/zoomTest/axZm/".
|
725 |
+
Der Wert "auto", welches standardmäßig definiert ist,
|
726 |
+
kann unter Umständen nicht funktionieren!
|
727 |
+
Definieren Sie diesen Pfad daher manuell in jedem Fall!
|
728 |
+
'
|
729 |
+
)
|
730 |
+
),
|
731 |
+
|
732 |
+
'divID' => array(
|
733 |
+
'prefix' => 'AJAXZOOM',
|
734 |
+
'category' => 'general_settings',
|
735 |
+
'type' => 'string',
|
736 |
+
'isJsObject' => false,
|
737 |
+
'isJsArray' => false,
|
738 |
+
'display' => 'text',
|
739 |
+
'height' => null,
|
740 |
+
'default' => 'az_mouseOverZoomContainer',
|
741 |
+
'options' => null,
|
742 |
+
'comment' => array(
|
743 |
+
'EN' => '
|
744 |
+
DIV (container) ID for mouseover zoom :-)
|
745 |
+
',
|
746 |
+
'DE' => '
|
747 |
+
DIV (Container) ID für Mouseover Zoom.
|
748 |
+
'
|
749 |
+
)
|
750 |
+
),
|
751 |
+
|
752 |
+
'galleryDivID' => array(
|
753 |
+
'prefix' => 'AJAXZOOM',
|
754 |
+
'category' => 'general_settings',
|
755 |
+
'type' => 'string, bool',
|
756 |
+
'isJsObject' => false,
|
757 |
+
'isJsArray' => false,
|
758 |
+
'display' => 'text',
|
759 |
+
'height' => null,
|
760 |
+
'default' => 'az_mouseOverZoomGallery',
|
761 |
+
'options' => null,
|
762 |
+
'comment' => array(
|
763 |
+
'EN' => '
|
764 |
+
DIV (container) id of the gallery, set to false to disable gallery.
|
765 |
+
',
|
766 |
+
'DE' => '
|
767 |
+
DIV (Container) ID für die Galerie, mit false wird die Galerie abgeschaltet.
|
768 |
+
'
|
769 |
+
)
|
770 |
+
),
|
771 |
+
|
772 |
+
'lang' => array(
|
773 |
+
'prefix' => '',
|
774 |
+
'category' => 'general_settings',
|
775 |
+
'type' => 'string',
|
776 |
+
'isJsObject' => false,
|
777 |
+
'isJsArray' => false,
|
778 |
+
'display' => 'text',
|
779 |
+
'height' => null,
|
780 |
+
'default' => '',
|
781 |
+
'options' => null,
|
782 |
+
'comment' => array(
|
783 |
+
'EN' => '
|
784 |
+
Language, e.g. "en", "fr" or "de".
|
785 |
+
On default, when not defined / empty, the language is browser or system language.
|
786 |
+
',
|
787 |
+
'DE' => '
|
788 |
+
Sprache, z.B. "en", "fr" oder "de".
|
789 |
+
Wenn nicht definiert / leer, wird die Sprache des Browsers bzw. des Systems ermittelt.
|
790 |
+
'
|
791 |
+
)
|
792 |
+
),
|
793 |
+
|
794 |
+
'disableAllMsg' => array(
|
795 |
+
'prefix' => 'AJAXZOOM',
|
796 |
+
'category' => 'general_settings',
|
797 |
+
'type' => 'bool',
|
798 |
+
'isJsObject' => false,
|
799 |
+
'isJsArray' => false,
|
800 |
+
'useful' => true,
|
801 |
+
'display' => 'switch',
|
802 |
+
'height' => null,
|
803 |
+
'default' => false,
|
804 |
+
'options' => null,
|
805 |
+
'comment' => array(
|
806 |
+
'EN' => '
|
807 |
+
AJAX-ZOOM produces some notifications within the player
|
808 |
+
telling that image tiles or other files are generating and returns the result.
|
809 |
+
This happens only when an image or 360 images are opened for the first time.
|
810 |
+
This is also the reason why preloading is slow at first.
|
811 |
+
With this switch you can disable these notifications in the frontend.
|
812 |
+
',
|
813 |
+
'DE' => '
|
814 |
+
AJAX-ZOOM produziert einige Meldungen direkt im Player wenn beispielsweise
|
815 |
+
Bildkacheln oder andere Bilddateien automatisch generiert werden.
|
816 |
+
Dies geschieht nur, wenn Bilder bzw. 360 zum ersten Mal geöffnet werden. Dies ist
|
817 |
+
und auch der Grund, weshalb beim ersten Laden das Vorladen spührbar länger dauert.
|
818 |
+
Über diese Einstellung können Sie diese Benachrichtigungen abschalten.
|
819 |
+
'
|
820 |
+
)
|
821 |
+
),
|
822 |
+
|
823 |
+
'dotNavigation' => array(
|
824 |
+
'prefix' => 'AJAXZOOM',
|
825 |
+
'category' => 'general_settings',
|
826 |
+
'type' => 'int',
|
827 |
+
'isJsObject' => false,
|
828 |
+
'isJsArray' => false,
|
829 |
+
'display' => 'text',
|
830 |
+
'height' => null,
|
831 |
+
'default' => 400,
|
832 |
+
'options' => null,
|
833 |
+
'comment' => array(
|
834 |
+
'EN' => '
|
835 |
+
Enable dot navigation if browser / device resolution is less than this value.
|
836 |
+
See also "thumbSliderMinSize" option. Setting both
|
837 |
+
- "dotNavigation" and "thumbSliderMinSize"
|
838 |
+
to same value will result in dot navigation replacing
|
839 |
+
gallery on devices with small resolution. Set to 0 to disable.
|
840 |
+
',
|
841 |
+
'DE' => '
|
842 |
+
Aktivieren der Punktnavigation, wenn die Browser- / Geräteauflösung
|
843 |
+
kleiner als dieser Wert ist. Siehe auch die Option "thumbSliderMinSize".
|
844 |
+
Wenn "dotNavigation" und "thumbSliderMinSize" auf den
|
845 |
+
gleichen Wert eingestellt sind, dann ersetzt "dotNavigation" die Galerie
|
846 |
+
auf Geräten mit geringer Auflösung. Mit 0 wird die Punktnavigation abgeschaltet.
|
847 |
+
'
|
848 |
+
)
|
849 |
+
),
|
850 |
+
|
851 |
+
'floorWidth' => array(
|
852 |
+
'prefix' => 'AJAXZOOM',
|
853 |
+
'category' => 'general_settings',
|
854 |
+
'type' => 'bool',
|
855 |
+
'isJsObject' => false,
|
856 |
+
'isJsArray' => false,
|
857 |
+
'display' => 'switch',
|
858 |
+
'height' => null,
|
859 |
+
'default' => true,
|
860 |
+
'options' => null,
|
861 |
+
'comment' => array(
|
862 |
+
'EN' => '
|
863 |
+
Prevent browser computed width with decimals for AJAX-ZOOM containers.
|
864 |
+
',
|
865 |
+
'DE' => '
|
866 |
+
Verhindert die Browser berechnete Breite mit Dezimalstellen für AJAX-ZOOM-Container.
|
867 |
+
'
|
868 |
+
)
|
869 |
+
),
|
870 |
+
|
871 |
+
'pngMode' => array(
|
872 |
+
'prefix' => 'AJAXZOOM',
|
873 |
+
'category' => 'general_settings',
|
874 |
+
'type' => 'bool, string',
|
875 |
+
'isJsObject' => false,
|
876 |
+
'isJsArray' => false,
|
877 |
+
'useful' => true,
|
878 |
+
'display' => 'select',
|
879 |
+
'height' => null,
|
880 |
+
'default' => null,
|
881 |
+
'options' => array(
|
882 |
+
array('null', 'null'),
|
883 |
+
array('auto', 'auto'),
|
884 |
+
array('true', 'true'),
|
885 |
+
array('false', 'false')
|
886 |
+
),
|
887 |
+
'comment' => array(
|
888 |
+
'EN' => '
|
889 |
+
Enable PNG mode in different ways:
|
890 |
+
null will not change the configuration set in zoomConfig.inc.php or
|
891 |
+
other php configuration files at all;
|
892 |
+
auto, true and false will set pngMode setting in PHP.
|
893 |
+
Auto means that cached thumbnails, image tiles etc. will be only kept as PNG
|
894 |
+
if source images are PNG too. Transparancy is also preserved.
|
895 |
+
If true, all cached images will be converted to PNG, even if they are JPG.
|
896 |
+
If false, all cached images will be converted to JPG.
|
897 |
+
',
|
898 |
+
'DE' => '
|
899 |
+
Aktivieren des PNG-Moduses auf unterschiedliche Weisen:
|
900 |
+
Null ändert nicht die Konfiguration in zoomConfig.inc.php
|
901 |
+
oder andere PHP-Konfigurationsdateien;
|
902 |
+
Auto, true und false setzen "pngMode" Einstellung.
|
903 |
+
Auto bedeutet, dass zwischengespeicherte Miniaturbilder, Bildkacheln usw.
|
904 |
+
nur dann als PNG aufbewahrt werden, wenn auch die Quellbilder PNG sind.
|
905 |
+
Dabei werden eventuelle Transparenzberiche erhalten.
|
906 |
+
Wenn true, werden alle zwischengespeicherten Bilder in PNG konvertiert,
|
907 |
+
auch wenn die Quellbilder JPG sind.
|
908 |
+
Wenn false, werden alle zwischengespeicherten Bilder in JPG konvertiert.
|
909 |
+
'
|
910 |
+
)
|
911 |
+
),
|
912 |
+
|
913 |
+
'hideGalleryOneImage' => array(
|
914 |
+
'prefix' => 'AJAXZOOM',
|
915 |
+
'category' => 'general_settings',
|
916 |
+
'type' => 'bool',
|
917 |
+
'isJsObject' => false,
|
918 |
+
'isJsArray' => false,
|
919 |
+
'display' => 'switch',
|
920 |
+
'height' => null,
|
921 |
+
'default' => true,
|
922 |
+
'options' => null,
|
923 |
+
'comment' => array(
|
924 |
+
'EN' => '
|
925 |
+
Instantly hide gallery if there is only one image, one video or one 360/3D.
|
926 |
+
',
|
927 |
+
'DE' => '
|
928 |
+
Galerie automatisch ausblenden, wenn nur ein Bild bzw. nur ein 360/3D vorhanden sind.
|
929 |
+
'
|
930 |
+
)
|
931 |
+
),
|
932 |
+
|
933 |
+
'hideGalleryAddClass' => array(
|
934 |
+
'prefix' => 'AJAXZOOM',
|
935 |
+
'category' => 'general_settings',
|
936 |
+
'type' => 'string',
|
937 |
+
'isJsObject' => false,
|
938 |
+
'isJsArray' => false,
|
939 |
+
'display' => 'text',
|
940 |
+
'height' => null,
|
941 |
+
'default' => 'axZm_mouseOverNoMargin',
|
942 |
+
'options' => null,
|
943 |
+
'comment' => array(
|
944 |
+
'EN' => '
|
945 |
+
This option is mainly for the layout with vertical gallery
|
946 |
+
which is located next (left or right) to mouseover area.
|
947 |
+
The most solid CSS layout for vertical gallery is when "divID" is wrapped by a div
|
948 |
+
which has a left or right margin. This margin corresponds to vertical gallery width +
|
949 |
+
some space in between. So if "hideGalleryOneImage" option is activated
|
950 |
+
and there is only one image,
|
951 |
+
only one 360 or no images / 360s at all, then the container
|
952 |
+
represented by "galleryDivID" option is hidden
|
953 |
+
and there is more space which can be filled.
|
954 |
+
To do that we simply add a CSS class with margin 0 to the parent of "divID"
|
955 |
+
overriding the left or right margin which is not needed for the gallery.
|
956 |
+
You can change the "hideGalleryAddClass"
|
957 |
+
to your own class name or set it to false to prevent this action.
|
958 |
+
',
|
959 |
+
'DE' => '
|
960 |
+
Diese Option ist hauptsächlich für Layouts mit vertikalen Galerie.
|
961 |
+
Wenn Galerie nicht angezeigt werden soll, dann wird
|
962 |
+
diese CSS Klasse dem Container automatisch hinzugefügt.
|
963 |
+
Bei false wird keine CSS Klasse hinzugefügt.
|
964 |
+
'
|
965 |
+
)
|
966 |
+
),
|
967 |
+
|
968 |
+
'galleryHover' => array(
|
969 |
+
'prefix' => 'AJAXZOOM',
|
970 |
+
'category' => 'general_settings',
|
971 |
+
'type' => 'int, bool',
|
972 |
+
'isJsObject' => false,
|
973 |
+
'isJsArray' => false,
|
974 |
+
'useful' => true,
|
975 |
+
'display' => 'text',
|
976 |
+
'height' => null,
|
977 |
+
'default' => false,
|
978 |
+
'options' => null,
|
979 |
+
'comment' => array(
|
980 |
+
'EN' => '
|
981 |
+
Use mouseenter (mouseover) for switching between images.
|
982 |
+
You can specify an integer which will represent the time in ms to wait
|
983 |
+
for switching after the mouse enters the thumb; true defaults to 200.
|
984 |
+
',
|
985 |
+
'DE' => '
|
986 |
+
Mouseenter (mouseover) bei der Galerie
|
987 |
+
für Umschalten zwischen den Bildern / 360 verwenden.
|
988 |
+
Man kann auch eine Zahl definieren.
|
989 |
+
Dies wäre dann die Zeit in ms bei der abgewartet wird,
|
990 |
+
ehe der Umschaltvorgang startet; true setzt den Standardwert von 200 (ms).
|
991 |
+
'
|
992 |
+
)
|
993 |
+
),
|
994 |
+
|
995 |
+
'gallerySwitchSlide' => array(
|
996 |
+
'prefix' => 'AJAXZOOM',
|
997 |
+
'category' => 'general_settings',
|
998 |
+
'type' => 'bool',
|
999 |
+
'isJsObject' => false,
|
1000 |
+
'isJsArray' => false,
|
1001 |
+
'display' => 'switch',
|
1002 |
+
'height' => null,
|
1003 |
+
'default' => false,
|
1004 |
+
'options' => null,
|
1005 |
+
'comment' => array(
|
1006 |
+
'EN' => '
|
1007 |
+
Placeholder, not finished yet (todo).
|
1008 |
+
',
|
1009 |
+
'DE' => '
|
1010 |
+
Placeholder, not finished yet (todo).
|
1011 |
+
'
|
1012 |
+
)
|
1013 |
+
),
|
1014 |
+
|
1015 |
+
'galleryAxZmThumbSlider' => array(
|
1016 |
+
'prefix' => 'AJAXZOOM',
|
1017 |
+
'category' => 'general_settings',
|
1018 |
+
'type' => 'bool',
|
1019 |
+
'isJsObject' => false,
|
1020 |
+
'isJsArray' => false,
|
1021 |
+
'useful' => true,
|
1022 |
+
'display' => 'switch',
|
1023 |
+
'height' => null,
|
1024 |
+
'default' => true,
|
1025 |
+
'options' => null,
|
1026 |
+
'comment' => array(
|
1027 |
+
'EN' => '
|
1028 |
+
Use $.axZmThumbSlider on gallery thumbnails or not.
|
1029 |
+
',
|
1030 |
+
'DE' => '
|
1031 |
+
Den AJAX-ZOOM $.axZmThumbSlider für die Galerie verwenden.
|
1032 |
+
'
|
1033 |
+
)
|
1034 |
+
),
|
1035 |
+
|
1036 |
+
'galleryAxZmThumbSliderParamHorz' => array(
|
1037 |
+
'prefix' => 'AJAXZOOM',
|
1038 |
+
'category' => 'general_settings',
|
1039 |
+
'type' => 'object',
|
1040 |
+
'isJsObject' => true,
|
1041 |
+
'isJsArray' => false,
|
1042 |
+
'display' => 'textarea',
|
1043 |
+
'height' => 100,
|
1044 |
+
'example' => '{
|
1045 |
+
"thumbLiStyle": {
|
1046 |
+
"borderRadius": 3
|
1047 |
+
},
|
1048 |
+
"btn": true,
|
1049 |
+
"btnClass": "axZmThumbSlider_button_new",
|
1050 |
+
"btnHidden": true,
|
1051 |
+
"btnOver": false,
|
1052 |
+
"scrollBy": 1,
|
1053 |
+
"centerNoScroll": true
|
1054 |
+
}',
|
1055 |
+
'default' => '{}',
|
1056 |
+
'options' => null,
|
1057 |
+
'comment' => array(
|
1058 |
+
'EN' => '
|
1059 |
+
$.axZmThumbSlider options if "galleryAxZmThumbSlider" is enabled
|
1060 |
+
and gallery is horizontal. For full list of options see under:
|
1061 |
+
http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider/
|
1062 |
+
',
|
1063 |
+
'DE' => '
|
1064 |
+
$.axZmThumbSlider Optionen wenn "galleryAxZmThumbSlider"
|
1065 |
+
aktiviert ist und die Galerie horizontal ist. Für die komplette Liste der Optionen
|
1066 |
+
siehe http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider
|
1067 |
+
'
|
1068 |
+
)
|
1069 |
+
),
|
1070 |
+
|
1071 |
+
'galleryAxZmThumbSliderParamVert' => array(
|
1072 |
+
'prefix' => 'AJAXZOOM',
|
1073 |
+
'category' => 'general_settings',
|
1074 |
+
'type' => 'object',
|
1075 |
+
'isJsObject' => true,
|
1076 |
+
'isJsArray' => false,
|
1077 |
+
'display' => 'textarea',
|
1078 |
+
'height' => 100,
|
1079 |
+
'example' => '{
|
1080 |
+
"thumbLiStyle": {
|
1081 |
+
"borderRadius": 3
|
1082 |
+
},
|
1083 |
+
"btn": true,
|
1084 |
+
"btnClass": "axZmThumbSlider_button_new",
|
1085 |
+
"btnHidden": true,
|
1086 |
+
"btnOver": false,
|
1087 |
+
"scrollBy": 1,
|
1088 |
+
"centerNoScroll": true
|
1089 |
+
}',
|
1090 |
+
'default' => '{}',
|
1091 |
+
'options' => null,
|
1092 |
+
'comment' => array(
|
1093 |
+
'EN' => '
|
1094 |
+
$.axZmThumbSlider options if "galleryAxZmThumbSlider" is enabled
|
1095 |
+
and gallery is vertical. For full list of options see under:
|
1096 |
+
http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider/
|
1097 |
+
',
|
1098 |
+
'DE' => '
|
1099 |
+
$.axZmThumbSlider Optionen wenn "galleryAxZmThumbSlider"
|
1100 |
+
aktiviert ist und die Galerie vertikal ist. Für die komplette Liste der Optionen
|
1101 |
+
siehe http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider
|
1102 |
+
'
|
1103 |
+
)
|
1104 |
+
),
|
1105 |
+
|
1106 |
+
'thumbSliderPosition' => array(
|
1107 |
+
'prefix' => 'AJAXZOOM',
|
1108 |
+
'category' => 'general_settings',
|
1109 |
+
'type' => 'string',
|
1110 |
+
'isJsObject' => false,
|
1111 |
+
'isJsArray' => false,
|
1112 |
+
'useful' => true,
|
1113 |
+
'display' => 'select',
|
1114 |
+
'height' => null,
|
1115 |
+
'default' => 'left-bottom',
|
1116 |
+
'options' => array(
|
1117 |
+
array('left-bottom', 'left-bottom'),
|
1118 |
+
array('left-top', 'left-top'),
|
1119 |
+
array('right-bottom', 'right-bottom'),
|
1120 |
+
array('right-top', 'right-top'),
|
1121 |
+
array('top-left', 'top-left'),
|
1122 |
+
array('top-right', 'top-right'),
|
1123 |
+
array('bottom-left', 'bottom-left'),
|
1124 |
+
array('bottom-right', 'bottom-right'),
|
1125 |
+
array('top', 'top (fixed)'),
|
1126 |
+
array('right', 'right (fixed)'),
|
1127 |
+
array('bottom', 'bottom (fixed)'),
|
1128 |
+
array('left', 'left (fixed)'),
|
1129 |
+
array('left-right', 'left-right'),
|
1130 |
+
array('right-left', 'right-left'),
|
1131 |
+
array('bottom-top', 'bottom-top'),
|
1132 |
+
array('top-bottom', 'top-bottom')
|
1133 |
+
),
|
1134 |
+
'comment' => array(
|
1135 |
+
'EN' => '
|
1136 |
+
Position of the thumb slider. Possible values are
|
1137 |
+
left, top, right, bottom, as well as any combination of these separated
|
1138 |
+
with the dash, e.g. left-bottom.
|
1139 |
+
',
|
1140 |
+
'DE' => '
|
1141 |
+
Position des Thumbsliders. Mögliche Werte sind top, left, right, bottom,
|
1142 |
+
sowie jegliche Kombination aus den obigen getrennt mit einem Strich,
|
1143 |
+
also z.B. left-bottom.
|
1144 |
+
'
|
1145 |
+
)
|
1146 |
+
),
|
1147 |
+
|
1148 |
+
'thumbSliderPositionSwitch' => array(
|
1149 |
+
'prefix' => 'AJAXZOOM',
|
1150 |
+
'category' => 'general_settings',
|
1151 |
+
'type' => 'int, string',
|
1152 |
+
'isJsObject' => false,
|
1153 |
+
'isJsArray' => false,
|
1154 |
+
'display' => 'text',
|
1155 |
+
'height' => null,
|
1156 |
+
'default' => 'auto',
|
1157 |
+
'options' => null,
|
1158 |
+
'comment' => array(
|
1159 |
+
'EN' => '
|
1160 |
+
Possible values: "auto" as string or integer.
|
1161 |
+
Auto means depending on whether the screen is in portrait or
|
1162 |
+
landscape mode the first or second value of "thumbSliderPosition"
|
1163 |
+
suited for the resolution will be chosen. For the value set as
|
1164 |
+
integer the second position from "thumbSliderPosition" will be
|
1165 |
+
chosen if width of the screen is less than this integer and
|
1166 |
+
the position suits for current resolution.
|
1167 |
+
',
|
1168 |
+
'DE' => '
|
1169 |
+
Mögliche Werte: "auto" als String oder Integer.
|
1170 |
+
Auto bedeutet, je nachdem, ob der Bildschirm im Hochformat oder
|
1171 |
+
Landscape-Modus ist, wird der erste oder zweite Wert aus "thumbSliderPosition"
|
1172 |
+
automatisch passend zur Auflösung gewählt. Bei einer Zahl wird die zweite
|
1173 |
+
Position aus "thumbSliderPosition" genommen, wenn die Bildschirmbreite
|
1174 |
+
kleiner ist als diese Zahl und die Position passt.
|
1175 |
+
'
|
1176 |
+
)
|
1177 |
+
),
|
1178 |
+
|
1179 |
+
'thumbSliderMinSize' => array(
|
1180 |
+
'prefix' => 'AJAXZOOM',
|
1181 |
+
'category' => 'general_settings',
|
1182 |
+
'type' => 'int',
|
1183 |
+
'isJsObject' => false,
|
1184 |
+
'isJsArray' => false,
|
1185 |
+
'display' => 'text',
|
1186 |
+
'height' => null,
|
1187 |
+
'default' => 400,
|
1188 |
+
'options' => null,
|
1189 |
+
'comment' => array(
|
1190 |
+
'EN' => '
|
1191 |
+
Minimal browser width for the gallery to be displayed.
|
1192 |
+
See also "dotNavigation" option!
|
1193 |
+
',
|
1194 |
+
'DE' => '
|
1195 |
+
Minimale Breite des Browserfensters, damit die Galerie angezeigt wird.
|
1196 |
+
Siehe auch "dotNavigation" Option.
|
1197 |
+
'
|
1198 |
+
)
|
1199 |
+
),
|
1200 |
+
|
1201 |
+
'thumbSliderDimensionHorz' => array(
|
1202 |
+
'prefix' => 'AJAXZOOM',
|
1203 |
+
'category' => 'general_settings',
|
1204 |
+
'type' => 'int',
|
1205 |
+
'isJsObject' => false,
|
1206 |
+
'isJsArray' => false,
|
1207 |
+
'display' => 'text',
|
1208 |
+
'height' => null,
|
1209 |
+
'default' => 80,
|
1210 |
+
'options' => null,
|
1211 |
+
'comment' => array(
|
1212 |
+
'EN' => '
|
1213 |
+
Height of the container for the gallery when placed horizontally.
|
1214 |
+
',
|
1215 |
+
'DE' => '
|
1216 |
+
Höhe des Containers für Galerie, wenn sie horizontal erscheint.
|
1217 |
+
'
|
1218 |
+
)
|
1219 |
+
),
|
1220 |
+
|
1221 |
+
'thumbSliderDimensionVert' => array(
|
1222 |
+
'prefix' => 'AJAXZOOM',
|
1223 |
+
'category' => 'general_settings',
|
1224 |
+
'type' => 'int',
|
1225 |
+
'isJsObject' => false,
|
1226 |
+
'isJsArray' => false,
|
1227 |
+
'display' => 'text',
|
1228 |
+
'height' => null,
|
1229 |
+
'default' => 80,
|
1230 |
+
'options' => null,
|
1231 |
+
'comment' => array(
|
1232 |
+
'EN' => '
|
1233 |
+
Width of the container for the gallery when placed vertically.
|
1234 |
+
',
|
1235 |
+
'DE' => '
|
1236 |
+
Breite des Containers für Galerie, wenn sie vertikal erscheint.
|
1237 |
+
'
|
1238 |
+
)
|
1239 |
+
),
|
1240 |
+
|
1241 |
+
'thumbSliderAutoSizeHorz' => array(
|
1242 |
+
'prefix' => 'AJAXZOOM',
|
1243 |
+
'category' => 'general_settings',
|
1244 |
+
'type' => 'bool',
|
1245 |
+
'isJsObject' => false,
|
1246 |
+
'isJsArray' => false,
|
1247 |
+
'display' => 'switch',
|
1248 |
+
'height' => null,
|
1249 |
+
'default' => true,
|
1250 |
+
'options' => null,
|
1251 |
+
'comment' => array(
|
1252 |
+
'EN' => '
|
1253 |
+
Thumb CSS size will be set instantly depending on
|
1254 |
+
"thumbSliderDimensionHorz" and other options.
|
1255 |
+
',
|
1256 |
+
'DE' => '
|
1257 |
+
Stellt die CSS Größen für Miniaturansichten automatisch abhängig von
|
1258 |
+
"thumbSliderDimensionHorz" und anderen Optionen ein,
|
1259 |
+
wenn Galerie horizontal erscheint.
|
1260 |
+
'
|
1261 |
+
)
|
1262 |
+
),
|
1263 |
+
|
1264 |
+
'thumbSliderAutoSizeVert' => array(
|
1265 |
+
'prefix' => 'AJAXZOOM',
|
1266 |
+
'category' => 'general_settings',
|
1267 |
+
'type' => 'bool',
|
1268 |
+
'isJsObject' => false,
|
1269 |
+
'isJsArray' => false,
|
1270 |
+
'display' => 'switch',
|
1271 |
+
'height' => null,
|
1272 |
+
'default' => true,
|
1273 |
+
'options' => null,
|
1274 |
+
'comment' => array(
|
1275 |
+
'EN' => '
|
1276 |
+
Thumb CSS size will be set instantly depending on
|
1277 |
+
"thumbSliderDimensionVert" and other options.
|
1278 |
+
',
|
1279 |
+
'DE' => '
|
1280 |
+
Stellt die CSS Größen für Miniaturansichten automatisch abhängig von
|
1281 |
+
"thumbSliderDimensionVert" und anderen Optionen ein,
|
1282 |
+
wenn Galerie horizontal erscheint.
|
1283 |
+
'
|
1284 |
+
)
|
1285 |
+
),
|
1286 |
+
|
1287 |
+
'thumbSliderAutoMarginHorz' => array(
|
1288 |
+
'prefix' => 'AJAXZOOM',
|
1289 |
+
'category' => 'general_settings',
|
1290 |
+
'type' => 'int',
|
1291 |
+
'isJsObject' => false,
|
1292 |
+
'isJsArray' => false,
|
1293 |
+
'display' => 'text',
|
1294 |
+
'height' => null,
|
1295 |
+
'default' => 7,
|
1296 |
+
'options' => null,
|
1297 |
+
'comment' => array(
|
1298 |
+
'EN' => '
|
1299 |
+
Thumb margin when set instantly for horizontal gallery.
|
1300 |
+
',
|
1301 |
+
'DE' => '
|
1302 |
+
Abstand der Miniaturansichten in horizontalen Galerie, wenn
|
1303 |
+
"thumbSliderAutoSizeHorz" eingeschaltet ist.
|
1304 |
+
'
|
1305 |
+
)
|
1306 |
+
),
|
1307 |
+
|
1308 |
+
'thumbSliderAutoMarginVert' => array(
|
1309 |
+
'prefix' => 'AJAXZOOM',
|
1310 |
+
'category' => 'general_settings',
|
1311 |
+
'type' => 'int',
|
1312 |
+
'isJsObject' => false,
|
1313 |
+
'isJsArray' => false,
|
1314 |
+
'display' => 'text',
|
1315 |
+
'height' => null,
|
1316 |
+
'default' => 7,
|
1317 |
+
'options' => null,
|
1318 |
+
'comment' => array(
|
1319 |
+
'EN' => '
|
1320 |
+
Thumb margin when set instantly for vertical gallery.
|
1321 |
+
',
|
1322 |
+
'DE' => '
|
1323 |
+
Abstand der Miniaturansichten in vertikallen Galerie, wenn
|
1324 |
+
"thumbSliderAutoSizeHorz" eingeschaltet ist.
|
1325 |
+
'
|
1326 |
+
)
|
1327 |
+
),
|
1328 |
+
|
1329 |
+
'thumbSliderAutoExtendHorz' => array(
|
1330 |
+
'prefix' => 'AJAXZOOM',
|
1331 |
+
'category' => 'general_settings',
|
1332 |
+
'type' => 'int',
|
1333 |
+
'isJsObject' => false,
|
1334 |
+
'isJsArray' => false,
|
1335 |
+
'display' => 'text',
|
1336 |
+
'height' => null,
|
1337 |
+
'default' => 0,
|
1338 |
+
'options' => null,
|
1339 |
+
'comment' => array(
|
1340 |
+
'EN' => '
|
1341 |
+
Extend slider height by a fixed value
|
1342 |
+
when set instantly for horizontal gallery - "thumbSliderAutoSizeHorz".
|
1343 |
+
',
|
1344 |
+
'DE' => '
|
1345 |
+
Erweitern die Höhe des Sliders um einen festen Wert, wenn diese für horizontale Galerie
|
1346 |
+
automatisch eingestellt wird - "thumbSliderAutoSizeHorz"
|
1347 |
+
'
|
1348 |
+
)
|
1349 |
+
),
|
1350 |
+
|
1351 |
+
'thumbSliderAutoExtendVert' => array(
|
1352 |
+
'prefix' => 'AJAXZOOM',
|
1353 |
+
'category' => 'general_settings',
|
1354 |
+
'type' => 'int',
|
1355 |
+
'isJsObject' => false,
|
1356 |
+
'isJsArray' => false,
|
1357 |
+
'display' => 'text',
|
1358 |
+
'height' => null,
|
1359 |
+
'default' => 0,
|
1360 |
+
'options' => null,
|
1361 |
+
'comment' => array(
|
1362 |
+
'EN' => '
|
1363 |
+
Extend slider width by a fixed value
|
1364 |
+
when set instantly for vertical gallery - "thumbSliderAutoSizeVert"
|
1365 |
+
',
|
1366 |
+
'DE' => '
|
1367 |
+
Erweitern die Breite des Sliders um einen festen Wert, wenn diese für vertikale Galerie
|
1368 |
+
automatisch eingestellt wird - "thumbSliderAutoSizeVert"
|
1369 |
+
'
|
1370 |
+
)
|
1371 |
+
),
|
1372 |
+
|
1373 |
+
'thumbSliderHorzMargin' => array(
|
1374 |
+
'prefix' => 'AJAXZOOM',
|
1375 |
+
'category' => 'general_settings',
|
1376 |
+
'type' => 'int',
|
1377 |
+
'isJsObject' => false,
|
1378 |
+
'isJsArray' => false,
|
1379 |
+
'display' => 'text',
|
1380 |
+
'height' => null,
|
1381 |
+
'default' => 10,
|
1382 |
+
'options' => null,
|
1383 |
+
'comment' => array(
|
1384 |
+
'EN' => '
|
1385 |
+
Horizontal margin of the vertical gallery to mouseover container.
|
1386 |
+
',
|
1387 |
+
'DE' => '
|
1388 |
+
Margin bzw. Abstand der vertikalen Galerie zu mouseover Container.
|
1389 |
+
'
|
1390 |
+
)
|
1391 |
+
),
|
1392 |
+
|
1393 |
+
'thumbsFadeIn' => array(
|
1394 |
+
'prefix' => 'AJAXZOOM',
|
1395 |
+
'category' => 'general_settings',
|
1396 |
+
'type' => 'int',
|
1397 |
+
'isJsObject' => false,
|
1398 |
+
'isJsArray' => false,
|
1399 |
+
'display' => 'text',
|
1400 |
+
'height' => null,
|
1401 |
+
'default' => 200,
|
1402 |
+
'options' => null,
|
1403 |
+
'comment' => array(
|
1404 |
+
'EN' => '
|
1405 |
+
Fadein duration / speed of the thumbnails added to the gallery.
|
1406 |
+
',
|
1407 |
+
'DE' => '
|
1408 |
+
Einblenddauer für neu geladene Miniaturansichten in der Galerie.
|
1409 |
+
'
|
1410 |
+
)
|
1411 |
+
),
|
1412 |
+
|
1413 |
+
'thumbW' => array(
|
1414 |
+
'prefix' => 'AJAXZOOM',
|
1415 |
+
'category' => 'general_settings',
|
1416 |
+
'type' => 'int',
|
1417 |
+
'isJsObject' => false,
|
1418 |
+
'isJsArray' => false,
|
1419 |
+
'useful' => true,
|
1420 |
+
'display' => 'text',
|
1421 |
+
'height' => null,
|
1422 |
+
'default' => 64,
|
1423 |
+
'options' => null,
|
1424 |
+
'comment' => array(
|
1425 |
+
'EN' => '
|
1426 |
+
Gallery image thumb width. Please note that when "galleryAxZmThumbSlider" is enabled,
|
1427 |
+
the final thumbnail width and height are determined by CSS
|
1428 |
+
set over "galleryAxZmThumbSliderParam".
|
1429 |
+
',
|
1430 |
+
'DE' => '
|
1431 |
+
Galeriebild Breite; bitte beachten Sie,
|
1432 |
+
dass wenn "galleryAxZmThumbSlider" eingeschaltet ist,
|
1433 |
+
dann wird die finale Thumbnail Breite und Höhe auch über CSS
|
1434 |
+
in "galleryAxZmThumbSliderParam" bestimmt.
|
1435 |
+
'
|
1436 |
+
)
|
1437 |
+
),
|
1438 |
+
|
1439 |
+
'thumbH' => array(
|
1440 |
+
'prefix' => 'AJAXZOOM',
|
1441 |
+
'category' => 'general_settings',
|
1442 |
+
'type' => 'int',
|
1443 |
+
'isJsObject' => false,
|
1444 |
+
'isJsArray' => false,
|
1445 |
+
'useful' => true,
|
1446 |
+
'display' => 'text',
|
1447 |
+
'height' => null,
|
1448 |
+
'default' => 64,
|
1449 |
+
'options' => null,
|
1450 |
+
'comment' => array(
|
1451 |
+
'EN' => '
|
1452 |
+
Gallery image thumb height. Please note that when "galleryAxZmThumbSlider" is enabled,
|
1453 |
+
the final thumbnail width and height are determined by CSS
|
1454 |
+
set over "galleryAxZmThumbSliderParam".
|
1455 |
+
',
|
1456 |
+
'DE' => '
|
1457 |
+
Galeriebild Höhe; bitte beachten Sie,
|
1458 |
+
dass wenn "galleryAxZmThumbSlider" eingeschaltet ist,
|
1459 |
+
dann wird die finale Thumbnail Breite und Höhe auch über CSS
|
1460 |
+
in "galleryAxZmThumbSliderParam" bestimmt.
|
1461 |
+
'
|
1462 |
+
)
|
1463 |
+
),
|
1464 |
+
|
1465 |
+
'thumbRetina' => array(
|
1466 |
+
'prefix' => 'AJAXZOOM',
|
1467 |
+
'category' => 'general_settings',
|
1468 |
+
'type' => 'bool',
|
1469 |
+
'isJsObject' => false,
|
1470 |
+
'isJsArray' => false,
|
1471 |
+
'display' => 'switch',
|
1472 |
+
'height' => null,
|
1473 |
+
'default' => true,
|
1474 |
+
'options' => null,
|
1475 |
+
'comment' => array(
|
1476 |
+
'EN' => '
|
1477 |
+
Double resolution of the thumb image.
|
1478 |
+
',
|
1479 |
+
'DE' => '
|
1480 |
+
Doppelte Auflösung für Galeriebild.
|
1481 |
+
'
|
1482 |
+
)
|
1483 |
+
),
|
1484 |
+
|
1485 |
+
'thumbMode' => array(
|
1486 |
+
'prefix' => 'AJAXZOOM',
|
1487 |
+
'category' => 'general_settings',
|
1488 |
+
'type' => 'bool, string',
|
1489 |
+
'isJsObject' => false,
|
1490 |
+
'isJsArray' => false,
|
1491 |
+
'display' => 'select',
|
1492 |
+
'height' => null,
|
1493 |
+
'default' => false,
|
1494 |
+
'options' => array(
|
1495 |
+
array('false', 'false'),
|
1496 |
+
array('cover', 'cover'),
|
1497 |
+
array('contain', 'contain')
|
1498 |
+
),
|
1499 |
+
'comment' => array(
|
1500 |
+
'EN' => '
|
1501 |
+
Create thumbnails in a way similar to css background values cover and contain.
|
1502 |
+
',
|
1503 |
+
'DE' => '
|
1504 |
+
Miniatursichen ähnlich der CSS background Werten cover und contain erstellen.
|
1505 |
+
'
|
1506 |
+
)
|
1507 |
+
),
|
1508 |
+
|
1509 |
+
'qualityThumb' => array(
|
1510 |
+
'prefix' => 'AJAXZOOM',
|
1511 |
+
'category' => 'general_settings',
|
1512 |
+
'type' => 'int',
|
1513 |
+
'isJsObject' => false,
|
1514 |
+
'isJsArray' => false,
|
1515 |
+
'display' => 'text',
|
1516 |
+
'height' => null,
|
1517 |
+
'default' => 100,
|
1518 |
+
'options' => null,
|
1519 |
+
'comment' => array(
|
1520 |
+
'EN' => '
|
1521 |
+
Jpeg quality of the gallery thumbs.
|
1522 |
+
',
|
1523 |
+
'DE' => '
|
1524 |
+
Jpeg Qualität der Galerie Bilder.
|
1525 |
+
'
|
1526 |
+
)
|
1527 |
+
),
|
1528 |
+
|
1529 |
+
'thumbIcon' => array(
|
1530 |
+
'prefix' => 'AJAXZOOM',
|
1531 |
+
'category' => 'general_settings',
|
1532 |
+
'type' => 'bool',
|
1533 |
+
'isJsObject' => false,
|
1534 |
+
'isJsArray' => false,
|
1535 |
+
'display' => 'switch',
|
1536 |
+
'height' => null,
|
1537 |
+
'default' => true,
|
1538 |
+
'options' => null,
|
1539 |
+
'comment' => array(
|
1540 |
+
'EN' => '
|
1541 |
+
Place an icon over gallery thumbnail depending on media type.
|
1542 |
+
The icon has CSS class axZmThumbSliderIcon and the source is defined in
|
1543 |
+
"thumbIconFile" option.
|
1544 |
+
',
|
1545 |
+
'DE' => '
|
1546 |
+
Setzen eines Symbols über Galerie-Miniaturansicht abhängig von Medientyp.
|
1547 |
+
Das Symbol hat die CSS-Klasse axZmThumbSliderIcon. Die Quelle des Symbols wird in
|
1548 |
+
"thumbIconFile" Option definiert.
|
1549 |
+
'
|
1550 |
+
)
|
1551 |
+
),
|
1552 |
+
|
1553 |
+
'thumbIconFile' => array(
|
1554 |
+
'prefix' => 'AJAXZOOM',
|
1555 |
+
'category' => 'general_settings',
|
1556 |
+
'type' => 'object',
|
1557 |
+
'isJsObject' => true,
|
1558 |
+
'isJsArray' => false,
|
1559 |
+
'display' => 'textarea',
|
1560 |
+
'height' => 100,
|
1561 |
+
'default' => '{
|
1562 |
+
"360": "360_1.png",
|
1563 |
+
"3D": "3d_1.png",
|
1564 |
+
"youtube": "youtube_icon_30.png",
|
1565 |
+
"vimeo": "vimeo_icon_30.png",
|
1566 |
+
"dailymotion": "video_icon-30.png",
|
1567 |
+
"html5": "video_icon-30.png"
|
1568 |
+
}',
|
1569 |
+
'options' => null,
|
1570 |
+
'comment' => array(
|
1571 |
+
'EN' => '
|
1572 |
+
Source for icons placed over the thumbnails in the gallery.
|
1573 |
+
If only filename without path is defined the path presumed to be the
|
1574 |
+
/axZm/icons folder. You can also set complete different paths including the image
|
1575 |
+
filename instead.
|
1576 |
+
',
|
1577 |
+
'DE' => '
|
1578 |
+
Quelle für Symbole, welche über Galerie-Miniaturansichten
|
1579 |
+
abhängig von Medientyp gesetzt werden. Wenn nur Dateiname ohne Pfad definiert ist,
|
1580 |
+
werden die Pfade im /axZm/icons Ordner vermutet.
|
1581 |
+
Sie können stattdessen auch komplett andere Pfade inklusive der Bilddatei definieren.
|
1582 |
+
'
|
1583 |
+
)
|
1584 |
+
),
|
1585 |
+
|
1586 |
+
'thumbWfs' => array(
|
1587 |
+
'prefix' => 'AJAXZOOM',
|
1588 |
+
'category' => 'general_settings',
|
1589 |
+
'type' => 'int',
|
1590 |
+
'isJsObject' => false,
|
1591 |
+
'isJsArray' => false,
|
1592 |
+
'display' => 'text',
|
1593 |
+
'height' => null,
|
1594 |
+
'default' => 64,
|
1595 |
+
'options' => null,
|
1596 |
+
'comment' => array(
|
1597 |
+
'EN' => '
|
1598 |
+
Fullscreen gallery image thumb width.
|
1599 |
+
',
|
1600 |
+
'DE' => '
|
1601 |
+
Physische Breite des Galeriebildes in Vollbild Galerie.
|
1602 |
+
'
|
1603 |
+
)
|
1604 |
+
),
|
1605 |
+
|
1606 |
+
'thumbHfs' => array(
|
1607 |
+
'prefix' => 'AJAXZOOM',
|
1608 |
+
'category' => 'general_settings',
|
1609 |
+
'type' => 'int',
|
1610 |
+
'isJsObject' => false,
|
1611 |
+
'isJsArray' => false,
|
1612 |
+
'display' => 'text',
|
1613 |
+
'height' => null,
|
1614 |
+
'default' => 64,
|
1615 |
+
'options' => null,
|
1616 |
+
'comment' => array(
|
1617 |
+
'EN' => '
|
1618 |
+
Fullscreen gallery image thumb height.
|
1619 |
+
',
|
1620 |
+
'DE' => '
|
1621 |
+
Physische Höhe des Galeriebildes in Vollbild Galerie.
|
1622 |
+
'
|
1623 |
+
)
|
1624 |
+
),
|
1625 |
+
|
1626 |
+
'thumbRetinaFs' => array(
|
1627 |
+
'prefix' => 'AJAXZOOM',
|
1628 |
+
'category' => 'general_settings',
|
1629 |
+
'type' => 'bool',
|
1630 |
+
'isJsObject' => false,
|
1631 |
+
'isJsArray' => false,
|
1632 |
+
'display' => 'switch',
|
1633 |
+
'height' => null,
|
1634 |
+
'default' => true,
|
1635 |
+
'options' => null,
|
1636 |
+
'comment' => array(
|
1637 |
+
'EN' => '
|
1638 |
+
Double the resolution of fullscreen gallery image thumbs.
|
1639 |
+
',
|
1640 |
+
'DE' => '
|
1641 |
+
Doppelte Auflösung für Vollbild Galeriebild.
|
1642 |
+
'
|
1643 |
+
)
|
1644 |
+
),
|
1645 |
+
|
1646 |
+
'thumbModeFs' => array(
|
1647 |
+
'prefix' => 'AJAXZOOM',
|
1648 |
+
'category' => 'general_settings',
|
1649 |
+
'type' => 'string, bool',
|
1650 |
+
'isJsObject' => false,
|
1651 |
+
'isJsArray' => false,
|
1652 |
+
'display' => 'select',
|
1653 |
+
'height' => null,
|
1654 |
+
'default' => false,
|
1655 |
+
'options' => array(
|
1656 |
+
array('false', 'false'),
|
1657 |
+
array('cover', 'cover'),
|
1658 |
+
array('contain', 'contain')
|
1659 |
+
),
|
1660 |
+
'comment' => array(
|
1661 |
+
'EN' => '
|
1662 |
+
Create thumbnails in a way similar to css background values cover and contain.
|
1663 |
+
',
|
1664 |
+
'DE' => '
|
1665 |
+
Miniatursichen ähnlich der CSS background Werten cover und contain erstellen.
|
1666 |
+
'
|
1667 |
+
)
|
1668 |
+
),
|
1669 |
+
|
1670 |
+
'qualityThumbFs' => array(
|
1671 |
+
'prefix' => 'AJAXZOOM',
|
1672 |
+
'category' => 'general_settings',
|
1673 |
+
'type' => 'int',
|
1674 |
+
'isJsObject' => false,
|
1675 |
+
'isJsArray' => false,
|
1676 |
+
'display' => 'text',
|
1677 |
+
'height' => null,
|
1678 |
+
'default' => 100,
|
1679 |
+
'options' => null,
|
1680 |
+
'comment' => array(
|
1681 |
+
'EN' => '
|
1682 |
+
Jpeg Quality of the thumbnails in fullscreen gallery.
|
1683 |
+
',
|
1684 |
+
'DE' => '
|
1685 |
+
Jpeg Qualität der Vollbild Galerie Bilder.
|
1686 |
+
'
|
1687 |
+
)
|
1688 |
+
),
|
1689 |
+
|
1690 |
+
'quality' => array(
|
1691 |
+
'prefix' => 'AJAXZOOM',
|
1692 |
+
'category' => 'general_settings',
|
1693 |
+
'type' => 'int',
|
1694 |
+
'isJsObject' => false,
|
1695 |
+
'isJsArray' => false,
|
1696 |
+
'display' => 'text',
|
1697 |
+
'height' => null,
|
1698 |
+
'default' => 90,
|
1699 |
+
'options' => null,
|
1700 |
+
'comment' => array(
|
1701 |
+
'EN' => '
|
1702 |
+
Jpeg quality of the preview image.
|
1703 |
+
',
|
1704 |
+
'DE' => '
|
1705 |
+
Jpeg Qualität der Voransicht Bilder.
|
1706 |
+
'
|
1707 |
+
)
|
1708 |
+
),
|
1709 |
+
|
1710 |
+
'qualityZoom' => array(
|
1711 |
+
'prefix' => 'AJAXZOOM',
|
1712 |
+
'category' => 'general_settings',
|
1713 |
+
'type' => 'int',
|
1714 |
+
'isJsObject' => false,
|
1715 |
+
'isJsArray' => false,
|
1716 |
+
'display' => 'text',
|
1717 |
+
'height' => null,
|
1718 |
+
'default' => 80,
|
1719 |
+
'options' => null,
|
1720 |
+
'comment' => array(
|
1721 |
+
'EN' => '
|
1722 |
+
Jpeg quality of the zoom image shown in the flyout window.
|
1723 |
+
',
|
1724 |
+
'DE' => '
|
1725 |
+
Jpeg Qualität der Bilder im Mouseover Fenster.
|
1726 |
+
'
|
1727 |
+
)
|
1728 |
+
),
|
1729 |
+
|
1730 |
+
'firstImageToLoad' => array(
|
1731 |
+
'prefix' => 'AJAXZOOM',
|
1732 |
+
'category' => 'general_settings',
|
1733 |
+
'type' => 'int',
|
1734 |
+
'isJsObject' => false,
|
1735 |
+
'isJsArray' => false,
|
1736 |
+
'display' => 'text',
|
1737 |
+
'height' => null,
|
1738 |
+
'default' => 1,
|
1739 |
+
'options' => null,
|
1740 |
+
'comment' => array(
|
1741 |
+
'EN' => '
|
1742 |
+
Image from "images" option which should be loaded at first.
|
1743 |
+
See also "images360firstToLoad" option below.
|
1744 |
+
The "images" option does not exist as defineable option
|
1745 |
+
in AJAX-ZOOM modules / plugins for
|
1746 |
+
ecommerce systems because obviously the purpose of the modules is to set it instantly.
|
1747 |
+
',
|
1748 |
+
'DE' => '
|
1749 |
+
Bild aus "images" Option, welche zuerst geladen werden soll.
|
1750 |
+
Siehe auch "images360firstToLoad" Option.
|
1751 |
+
Die Option "images" existiert nicht als definierbare Option
|
1752 |
+
in AJAX-ZOOM-Modulen / Plugins für E-Commerce-Systeme,
|
1753 |
+
weil offensichtlich der Zweck der Module ist, es automatisch einzustellen.
|
1754 |
+
'
|
1755 |
+
)
|
1756 |
+
),
|
1757 |
+
|
1758 |
+
'images360firstToLoad' => array(
|
1759 |
+
'prefix' => 'AJAXZOOM',
|
1760 |
+
'category' => 'general_settings',
|
1761 |
+
'important' => true,
|
1762 |
+
'type' => 'bool',
|
1763 |
+
'isJsObject' => false,
|
1764 |
+
'isJsArray' => false,
|
1765 |
+
'display' => 'switch',
|
1766 |
+
'height' => null,
|
1767 |
+
'default' => false,
|
1768 |
+
'options' => null,
|
1769 |
+
'comment' => array(
|
1770 |
+
'EN' => '
|
1771 |
+
In case present load 360 from "images360" first and not an image from "images".
|
1772 |
+
',
|
1773 |
+
'DE' => '
|
1774 |
+
Wenn 360 präsent ist, dann wird die 360 animation zuerst geladen.
|
1775 |
+
'
|
1776 |
+
)
|
1777 |
+
),
|
1778 |
+
|
1779 |
+
'images360Thumb' => array(
|
1780 |
+
'prefix' => 'AJAXZOOM',
|
1781 |
+
'category' => 'general_settings',
|
1782 |
+
'type' => 'bool',
|
1783 |
+
'isJsObject' => false,
|
1784 |
+
'isJsArray' => false,
|
1785 |
+
'display' => 'switch',
|
1786 |
+
'height' => null,
|
1787 |
+
'default' => true,
|
1788 |
+
'options' => null,
|
1789 |
+
'comment' => array(
|
1790 |
+
'EN' => '
|
1791 |
+
Show first image of the spin as thumb.
|
1792 |
+
',
|
1793 |
+
'DE' => '
|
1794 |
+
Als Galerie Bild wird automatisch das erste Bild eines 360 / 3D angezeigt.
|
1795 |
+
'
|
1796 |
+
)
|
1797 |
+
),
|
1798 |
+
|
1799 |
+
'images360ThumbDefaultPostion' => array(
|
1800 |
+
'prefix' => 'AJAXZOOM',
|
1801 |
+
'category' => 'general_settings',
|
1802 |
+
'type' => 'string',
|
1803 |
+
'isJsObject' => false,
|
1804 |
+
'isJsArray' => false,
|
1805 |
+
'display' => 'select',
|
1806 |
+
'height' => null,
|
1807 |
+
'default' => 'first',
|
1808 |
+
'options' => array(
|
1809 |
+
array('first', 'first'),
|
1810 |
+
array('afterfirst', 'afterfirst'),
|
1811 |
+
array('last', 'last')
|
1812 |
+
),
|
1813 |
+
'comment' => array(
|
1814 |
+
'EN' => '
|
1815 |
+
Default position of the thumbnail representing a 360/3D in the gallery.
|
1816 |
+
The position can be also defined for each thumb individually.
|
1817 |
+
Possible values are: "first", "afterfirst" and "last".
|
1818 |
+
See also "videoThumbDefaultPostion" option.
|
1819 |
+
',
|
1820 |
+
'DE' => '
|
1821 |
+
Standardposition der Miniaturansicht, die ein 360 / 3D in der Galerie darstellt.
|
1822 |
+
Die Position kann auch für jede Miniaturansicht individuell definiert werden.
|
1823 |
+
Mögliche Werte sind: "first", "afterfirst" und "last".
|
1824 |
+
Siehe auch "videoThumbDefaultPostion" Option.
|
1825 |
+
'
|
1826 |
+
)
|
1827 |
+
),
|
1828 |
+
|
1829 |
+
'images360ThumbBeforeVideo' => array(
|
1830 |
+
'prefix' => 'AJAXZOOM',
|
1831 |
+
'category' => 'general_settings',
|
1832 |
+
'type' => 'bool',
|
1833 |
+
'isJsObject' => false,
|
1834 |
+
'isJsArray' => false,
|
1835 |
+
'display' => 'switch',
|
1836 |
+
'height' => null,
|
1837 |
+
'default' => true,
|
1838 |
+
'options' => null,
|
1839 |
+
'comment' => array(
|
1840 |
+
'EN' => '
|
1841 |
+
If activated thumbnails in the gallery representing a 360/3D will be
|
1842 |
+
appended before thumbnails representing videos.
|
1843 |
+
',
|
1844 |
+
'DE' => '
|
1845 |
+
Wenn aktiviert, werden Miniaturbilder, die eine 360 / 3D darstellen,
|
1846 |
+
vor Miniaturbildern, die Videos darstellen, der Galerie hinzugefügt.
|
1847 |
+
'
|
1848 |
+
)
|
1849 |
+
),
|
1850 |
+
|
1851 |
+
'images360Overlay' => array(
|
1852 |
+
'prefix' => 'AJAXZOOM',
|
1853 |
+
'category' => 'general_settings',
|
1854 |
+
'type' => 'bool',
|
1855 |
+
'isJsObject' => false,
|
1856 |
+
'isJsArray' => false,
|
1857 |
+
'display' => 'switch',
|
1858 |
+
'height' => null,
|
1859 |
+
'default' => false,
|
1860 |
+
'options' => null,
|
1861 |
+
'comment' => array(
|
1862 |
+
'EN' => '
|
1863 |
+
Add a div with class "spinOverlImg" or "spinOverl" over the gallery thumb.
|
1864 |
+
On default it has a 360 icon as background.
|
1865 |
+
',
|
1866 |
+
'DE' => '
|
1867 |
+
Bei Aktivierung wird ein DIV mit der Klasse "spinOverlImg" oder "spinOverl"
|
1868 |
+
über das Galerie Bild hinzugefügt.
|
1869 |
+
Es enthält ein 360 Icon als Hintergrund.
|
1870 |
+
'
|
1871 |
+
)
|
1872 |
+
),
|
1873 |
+
|
1874 |
+
'images360Small' => array(
|
1875 |
+
'prefix' => 'AJAXZOOM',
|
1876 |
+
'category' => 'general_settings',
|
1877 |
+
'type' => 'string',
|
1878 |
+
'isJsObject' => false,
|
1879 |
+
'isJsArray' => false,
|
1880 |
+
'display' => 'text',
|
1881 |
+
'height' => null,
|
1882 |
+
'default' => 'media-360-600.png',
|
1883 |
+
'options' => null,
|
1884 |
+
'comment' => array(
|
1885 |
+
'EN' => '
|
1886 |
+
Placeholder image when 360 is slided.
|
1887 |
+
If only filename without path is defined the path presumed to be the
|
1888 |
+
/axZm/icons folder. You can also set complete different paths including the image
|
1889 |
+
filename instead.
|
1890 |
+
',
|
1891 |
+
'DE' => '
|
1892 |
+
Platzhalterbild, wenn 360 verschoben wird.
|
1893 |
+
Wenn nur Dateiname ohne Pfad definiert ist,
|
1894 |
+
werden die Pfade im /axZm/icons Ordner vermutet.
|
1895 |
+
Sie können stattdessen auch komplett andere Pfade inklusive der Bilddatei definieren.
|
1896 |
+
'
|
1897 |
+
)
|
1898 |
+
),
|
1899 |
+
|
1900 |
+
'images360Big' => array(
|
1901 |
+
'prefix' => 'AJAXZOOM',
|
1902 |
+
'category' => 'general_settings',
|
1903 |
+
'type' => 'string',
|
1904 |
+
'isJsObject' => false,
|
1905 |
+
'isJsArray' => false,
|
1906 |
+
'display' => 'text',
|
1907 |
+
'height' => null,
|
1908 |
+
'default' => 'media-360-1200.png',
|
1909 |
+
'options' => null,
|
1910 |
+
'comment' => array(
|
1911 |
+
'EN' => '
|
1912 |
+
Placeholder image when 360 is slided.
|
1913 |
+
If only filename without path is defined the path presumed to be the
|
1914 |
+
/axZm/icons folder. You can also set complete different paths including the image
|
1915 |
+
filename instead.
|
1916 |
+
',
|
1917 |
+
'DE' => '
|
1918 |
+
Platzhalterbild, wenn 360 verschoben wird.
|
1919 |
+
Wenn nur Dateiname ohne Pfad definiert ist,
|
1920 |
+
werden die Pfade im /axZm/icons Ordner vermutet.
|
1921 |
+
Sie können stattdessen auch komplett andere Pfade inklusive der Bilddatei definieren.
|
1922 |
+
'
|
1923 |
+
)
|
1924 |
+
),
|
1925 |
+
|
1926 |
+
'images360example' => array(
|
1927 |
+
'prefix' => 'AJAXZOOM',
|
1928 |
+
'category' => 'general_settings',
|
1929 |
+
'type' => 'string',
|
1930 |
+
'isJsObject' => false,
|
1931 |
+
'isJsArray' => false,
|
1932 |
+
'display' => 'text',
|
1933 |
+
'height' => null,
|
1934 |
+
'default' => 'mouseOverExtension360Ver5',
|
1935 |
+
'options' => null,
|
1936 |
+
'comment' => array(
|
1937 |
+
'EN' => '
|
1938 |
+
Configuration set which is passed to ajax-zoom when opening a 360/3D.
|
1939 |
+
The configuration set can be found in /axZm/zoomConfigCustom.inc.php
|
1940 |
+
',
|
1941 |
+
'DE' => '
|
1942 |
+
Wert des Konfiguration Sets, welches an AJAX-ZOOM übergeben wird wenn es ein 360/3D ist.
|
1943 |
+
Die configuration des Sets kann in /axZm/zoomConfigCustom.inc.php
|
1944 |
+
gefunden / erweitert werden.
|
1945 |
+
'
|
1946 |
+
)
|
1947 |
+
),
|
1948 |
+
|
1949 |
+
'zoomMsg360' => array(
|
1950 |
+
'prefix' => 'AJAXZOOM',
|
1951 |
+
'category' => 'general_settings',
|
1952 |
+
'type' => 'object, string',
|
1953 |
+
'isJsObject' => true,
|
1954 |
+
'isJsArray' => false,
|
1955 |
+
'display' => 'textarea',
|
1956 |
+
'height' => 100,
|
1957 |
+
'default' => '{
|
1958 |
+
"en" : "Drag to spin 360°, scroll to zoom in and out, right click and drag to pan",
|
1959 |
+
"de" : "Ziehen um 360° zu drehen, zoomen mit dem mausrad, rechte maustaste ziehen verschiebt die Ansicht",
|
1960 |
+
"fr" : "Faites glisser pour tourner à 360 °, faites défiler pour zoomer dans et hors, cliquer et faire glisser à droite pour vous déplacer",
|
1961 |
+
"es" : "Arrastrar para girar en 360º, Rueda del ratón para utilizar el Zoom, botón derecho para mover la imagen"
|
1962 |
+
}',
|
1963 |
+
'options' => null,
|
1964 |
+
'comment' => array(
|
1965 |
+
'EN' => '
|
1966 |
+
Message displayed under mouse over zoom when 360 is loaded,
|
1967 |
+
e.g. "Drag to spin 360, scroll to zoom".
|
1968 |
+
For more than one language define a js object, e.g.
|
1969 |
+
{"en": "english text", "de": "german text"}
|
1970 |
+
',
|
1971 |
+
'DE' => '
|
1972 |
+
Nachricht, welche unter der Voransicht angezeigt wird, wenn darin 360 geladen ist.
|
1973 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
1974 |
+
z.B. {"en": "english text", "de": "german text"}
|
1975 |
+
'
|
1976 |
+
)
|
1977 |
+
),
|
1978 |
+
|
1979 |
+
'zoomMsg360_touch' => array(
|
1980 |
+
'prefix' => 'AJAXZOOM',
|
1981 |
+
'category' => 'general_settings',
|
1982 |
+
'type' => 'object, string',
|
1983 |
+
'isJsObject' => true,
|
1984 |
+
'isJsArray' => false,
|
1985 |
+
'display' => 'textarea',
|
1986 |
+
'height' => 100,
|
1987 |
+
'default' => '{
|
1988 |
+
"en" : "Drag to spin 360°, pinch to zoom in and out",
|
1989 |
+
"de" : "Ziehen um 360° zu drehen, zoomen mit zwei fingern",
|
1990 |
+
"fr" : "Faites glisser pour tourner à 360 °, pincer pour zoomer et dézoomer",
|
1991 |
+
"es" : "Arrastrar para girar en 360º, pellizcar para ampliar y reducir"
|
1992 |
+
}',
|
1993 |
+
'options' => null,
|
1994 |
+
'comment' => array(
|
1995 |
+
'EN' => '
|
1996 |
+
Message displayed under mouse over zoom when 360 is loaded on touch devices.
|
1997 |
+
For more than one language define a js object,
|
1998 |
+
e.g. {"en": "english text", "de": "german text"}
|
1999 |
+
',
|
2000 |
+
'DE' => '
|
2001 |
+
Nachricht, welche unter der Voransicht angezeigt wird, wenn
|
2002 |
+
darin 360 auf einem touch Device geladen ist.
|
2003 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
2004 |
+
z.B. {"en": "english text", "de": "german text"}
|
2005 |
+
'
|
2006 |
+
)
|
2007 |
+
),
|
2008 |
+
|
2009 |
+
'preloadMouseOverImages' => array(
|
2010 |
+
'prefix' => 'AJAXZOOM',
|
2011 |
+
'category' => 'general_settings',
|
2012 |
+
'type' => 'string, bool',
|
2013 |
+
'isJsObject' => false,
|
2014 |
+
'isJsArray' => false,
|
2015 |
+
'display' => 'select',
|
2016 |
+
'height' => null,
|
2017 |
+
'default' => true,
|
2018 |
+
'options' => array(
|
2019 |
+
array('false', 'false'),
|
2020 |
+
array('true', 'true'),
|
2021 |
+
array('oneByOne', 'oneByOne')
|
2022 |
+
),
|
2023 |
+
'comment' => array(
|
2024 |
+
'EN' => '
|
2025 |
+
Preload all preview and mouseover images, possible values: false, true oder "oneByOne".
|
2026 |
+
',
|
2027 |
+
'DE' => '
|
2028 |
+
Alle Bilder für das Mouseover vorladen. Mögliche Werte sind
|
2029 |
+
false, true oder "oneByOne".
|
2030 |
+
'
|
2031 |
+
)
|
2032 |
+
),
|
2033 |
+
|
2034 |
+
'noImageAvailableClass' => array(
|
2035 |
+
'prefix' => 'AJAXZOOM',
|
2036 |
+
'category' => 'general_settings',
|
2037 |
+
'type' => 'object, string',
|
2038 |
+
'isJsObject' => true,
|
2039 |
+
'isJsArray' => false,
|
2040 |
+
'display' => 'textarea',
|
2041 |
+
'height' => 50,
|
2042 |
+
'default' => 'axZm_mouseOverNoImage',
|
2043 |
+
'options' => null,
|
2044 |
+
'comment' => array(
|
2045 |
+
'EN' => '
|
2046 |
+
In case there are no images in "images", nor there are any in "images360",
|
2047 |
+
a div with some image as background can be appended to the
|
2048 |
+
container and receive this options value as CSS class.
|
2049 |
+
For more than one language define a js object,
|
2050 |
+
e.g. {"en": "axZm_mouseOverNoImage_en", "de": "axZm_mouseOverNoImage_de"}
|
2051 |
+
',
|
2052 |
+
'DE' => '
|
2053 |
+
Falls es weder Bilder, noch 360 gibt,
|
2054 |
+
wird ein DIV mit einem Bild als Hintergrund angezeigt.
|
2055 |
+
Der Wert diese Option ist die CSS Klasse, welche dem Container hinzugefügt wird.
|
2056 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
2057 |
+
z.B. {"en": "axZm_mouseOverNoImage_en", "de": "axZm_mouseOverNoImage_de"}
|
2058 |
+
'
|
2059 |
+
)
|
2060 |
+
),
|
2061 |
+
|
2062 |
+
'width' => array(
|
2063 |
+
'prefix' => 'AJAXZOOM',
|
2064 |
+
'category' => 'general_settings',
|
2065 |
+
'type' => 'int, string',
|
2066 |
+
'isJsObject' => false,
|
2067 |
+
'isJsArray' => false,
|
2068 |
+
'display' => 'text',
|
2069 |
+
'height' => null,
|
2070 |
+
'default' => 'auto',
|
2071 |
+
'options' => null,
|
2072 |
+
'comment' => array(
|
2073 |
+
'EN' => '
|
2074 |
+
Width of the preview image or "auto"
|
2075 |
+
(depending on parent container size - "divID", see above).
|
2076 |
+
This is also the value which will be passed to your AJAX-ZOOM imaging server
|
2077 |
+
to generate this image on-the-fly.
|
2078 |
+
If width or height are set to "auto", both: width and height of the preview image
|
2079 |
+
are set to 50% of the value taken from "mouseOverZoomWidth", so on default it is 600px
|
2080 |
+
',
|
2081 |
+
'DE' => '
|
2082 |
+
Breite des Bildes in der Voransicht oder "auto"
|
2083 |
+
(ist dann abhängig von der Größe des Containers - "divID").
|
2084 |
+
Wenn Breite und Höhe auf "auto" stehen und "responsive" Option aktiviert ist,
|
2085 |
+
dann werden beide Werte auf 50% des Wertes von "mouseOverZoomWidth" eingestellt,
|
2086 |
+
also standardmäßig sind es 600px.
|
2087 |
+
'
|
2088 |
+
)
|
2089 |
+
),
|
2090 |
+
|
2091 |
+
'height' => array(
|
2092 |
+
'prefix' => 'AJAXZOOM',
|
2093 |
+
'category' => 'general_settings',
|
2094 |
+
'type' => 'int, string',
|
2095 |
+
'isJsObject' => false,
|
2096 |
+
'isJsArray' => false,
|
2097 |
+
'display' => 'text',
|
2098 |
+
'height' => null,
|
2099 |
+
'default' => 'auto',
|
2100 |
+
'options' => null,
|
2101 |
+
'comment' => array(
|
2102 |
+
'EN' => '
|
2103 |
+
Height of the preview image or "auto"
|
2104 |
+
(depending on parent container size - "divID", see above).
|
2105 |
+
This is also the value which will be passed to your AJAX-ZOOM imaging server
|
2106 |
+
to generate this image on-the-fly.
|
2107 |
+
If width or height are set to "auto", both: width and height of the preview image
|
2108 |
+
are set to 50% of the value taken from "mouseOverZoomWidth", so on default it is 600px
|
2109 |
+
',
|
2110 |
+
'DE' => '
|
2111 |
+
Höhe des Bildes in der Voransicht oder "auto"
|
2112 |
+
(ist dann abhängig von der Größe des Containers - "divID").
|
2113 |
+
Wenn Breite und Höhe auf "auto" stehen und "responsive" Option aktiviert ist,
|
2114 |
+
dann werden beide Werte auf 50% des Wertes von "mouseOverZoomWidth" eingestellt,
|
2115 |
+
also standardmäßig sind es 600px.
|
2116 |
+
'
|
2117 |
+
)
|
2118 |
+
),
|
2119 |
+
|
2120 |
+
'oneSrcImg' => array(
|
2121 |
+
'prefix' => 'AJAXZOOM',
|
2122 |
+
'category' => 'general_settings',
|
2123 |
+
'type' => 'bool',
|
2124 |
+
'isJsObject' => false,
|
2125 |
+
'isJsArray' => false,
|
2126 |
+
'display' => 'switch',
|
2127 |
+
'height' => null,
|
2128 |
+
'default' => false,
|
2129 |
+
'options' => null,
|
2130 |
+
'comment' => array(
|
2131 |
+
'EN' => '
|
2132 |
+
Use same image for "preview image" -
|
2133 |
+
the image which is hovered and the big "flyout image".
|
2134 |
+
',
|
2135 |
+
'DE' => '
|
2136 |
+
Das gleiche Bild in der Voransicht, als auch Mouseover Fenster verwenden.
|
2137 |
+
'
|
2138 |
+
)
|
2139 |
+
),
|
2140 |
+
|
2141 |
+
'heightRatio' => array(
|
2142 |
+
'prefix' => 'AJAXZOOM',
|
2143 |
+
'category' => 'general_settings',
|
2144 |
+
'type' => 'float, string',
|
2145 |
+
'isJsObject' => false,
|
2146 |
+
'isJsArray' => false,
|
2147 |
+
'useful' => true,
|
2148 |
+
'display' => 'text',
|
2149 |
+
'height' => null,
|
2150 |
+
'default' => 1.0,
|
2151 |
+
'options' => null,
|
2152 |
+
'comment' => array(
|
2153 |
+
'EN' => '
|
2154 |
+
"heightRatio" with instantly adjust the height of mouseover
|
2155 |
+
container depending on width calculated by the browser, e.g. 1.0 will always
|
2156 |
+
(only limited by "maxSizePrc" option) make height same as width;
|
2157 |
+
a value of 1.5 will make the preview like a portrait.
|
2158 |
+
You can also set "heightRatio" to "auto".
|
2159 |
+
In this case the height will be adjusted to cover available space instantly!
|
2160 |
+
Please note that when your images are not always same proportion,
|
2161 |
+
then the container will also change the size when the user switches to a different image.
|
2162 |
+
',
|
2163 |
+
'DE' => '
|
2164 |
+
Wenn "responsive" Option aktiviert, dann wird über diese Option die Höhe des Containers
|
2165 |
+
für die Voransicht je nach Breite automatisch kalkuliert.
|
2166 |
+
Bei 1.0 wird also die Höhe gleich der Breite gesetzt
|
2167 |
+
(eine tatsächliche Abweichung / Verringerung der Höhe ergibt sich
|
2168 |
+
ggf. nur durch "maxSizePrc" Option).
|
2169 |
+
Bei 1.5 wird die Preview in Portrait Dimensionen erscheinen.
|
2170 |
+
Sie können "heightRatio", also diese Option, ebenfalls auf "auto" setzen.
|
2171 |
+
Dann wird das Maximum Sichtbare als Höhe gesetzt.
|
2172 |
+
Der Container wird jedoch bei Bildern, mit unterschiedlichen Proportionen
|
2173 |
+
beim Wechsel in der Höhe "springen".
|
2174 |
+
'
|
2175 |
+
)
|
2176 |
+
),
|
2177 |
+
|
2178 |
+
'heightRatioOneImg' => array(
|
2179 |
+
'prefix' => 'AJAXZOOM',
|
2180 |
+
'category' => 'general_settings',
|
2181 |
+
'type' => 'string, int',
|
2182 |
+
'isJsObject' => false,
|
2183 |
+
'isJsArray' => false,
|
2184 |
+
'display' => 'text',
|
2185 |
+
'height' => null,
|
2186 |
+
'default' => 'same',
|
2187 |
+
'options' => null,
|
2188 |
+
'comment' => array(
|
2189 |
+
'EN' => '
|
2190 |
+
Overwrites "heightRatio" if only one image / 360 is present and
|
2191 |
+
e.g. gallery is instantly disabled. Set to
|
2192 |
+
"same" in order to prevent any impact on "heightRatio" option.
|
2193 |
+
',
|
2194 |
+
'DE' => '
|
2195 |
+
Überschreibt "heightRatio" wenn nur ein Bild bzw.
|
2196 |
+
ein 360 vorhanden ist und die Galerie automatisch deaktiviert ist.
|
2197 |
+
Sie können als Wert aber auch "same" angeben.
|
2198 |
+
Dadurch wird jegliche Auswirkung dieses Wertes auf "heightRatio" vermieden.
|
2199 |
+
'
|
2200 |
+
)
|
2201 |
+
),
|
2202 |
+
|
2203 |
+
'heightMaxWidthRatio' => array(
|
2204 |
+
'prefix' => 'AJAXZOOM',
|
2205 |
+
'category' => 'general_settings',
|
2206 |
+
'type' => 'array, string, bool',
|
2207 |
+
'isJsObject' => false,
|
2208 |
+
'isJsArray' => true,
|
2209 |
+
'display' => 'text',
|
2210 |
+
'height' => null,
|
2211 |
+
'default' => '[]',
|
2212 |
+
'options' => null,
|
2213 |
+
'comment' => array(
|
2214 |
+
'EN' => '
|
2215 |
+
Similar as you would set max-width: someValue @media only screen condition
|
2216 |
+
you can define "heightRatio"
|
2217 |
+
depending on the width of the browser, e.g. ["960|0.8", "700|0.7"].
|
2218 |
+
You can define a string or js array with more than one conditions.
|
2219 |
+
',
|
2220 |
+
'DE' => '
|
2221 |
+
Ähnlich der CSS max-width: someValue @media only screen Bedingung
|
2222 |
+
kann hier der Wert des "heightRatio" abhängig von Browser Fenster Breite
|
2223 |
+
gesetzt werden, z.B. ["960|0.8", "700|0.7"]
|
2224 |
+
'
|
2225 |
+
)
|
2226 |
+
),
|
2227 |
+
|
2228 |
+
'widthRatio' => array(
|
2229 |
+
'prefix' => 'AJAXZOOM',
|
2230 |
+
'category' => 'general_settings',
|
2231 |
+
'type' => 'array, string, bool',
|
2232 |
+
'isJsObject' => false,
|
2233 |
+
'isJsArray' => true,
|
2234 |
+
'display' => 'text',
|
2235 |
+
'height' => null,
|
2236 |
+
'default' => false,
|
2237 |
+
'options' => null,
|
2238 |
+
'comment' => array(
|
2239 |
+
'EN' => '
|
2240 |
+
Oposit of "heightRatio".
|
2241 |
+
',
|
2242 |
+
'DE' => '
|
2243 |
+
Gegenteil von "heightRatio".
|
2244 |
+
'
|
2245 |
+
)
|
2246 |
+
),
|
2247 |
+
|
2248 |
+
'widthMaxHeightRatio' => array(
|
2249 |
+
'prefix' => 'AJAXZOOM',
|
2250 |
+
'category' => 'general_settings',
|
2251 |
+
'type' => 'array, string, bool',
|
2252 |
+
'isJsObject' => false,
|
2253 |
+
'isJsArray' => true,
|
2254 |
+
'display' => 'text',
|
2255 |
+
'height' => null,
|
2256 |
+
'default' => '[]',
|
2257 |
+
'options' => null,
|
2258 |
+
'comment' => array(
|
2259 |
+
'EN' => '
|
2260 |
+
Oposit of "heightMaxWidthRatio"
|
2261 |
+
',
|
2262 |
+
'DE' => '
|
2263 |
+
Gegenteil von "heightMaxWidthRatio".
|
2264 |
+
'
|
2265 |
+
)
|
2266 |
+
),
|
2267 |
+
|
2268 |
+
'maxSizePrc' => array(
|
2269 |
+
'prefix' => 'AJAXZOOM',
|
2270 |
+
'category' => 'general_settings',
|
2271 |
+
'type' => 'string, float',
|
2272 |
+
'isJsObject' => false,
|
2273 |
+
'isJsArray' => false,
|
2274 |
+
'useful' => true,
|
2275 |
+
'display' => 'text',
|
2276 |
+
'height' => null,
|
2277 |
+
'default' => '1.0|-120',
|
2278 |
+
'options' => null,
|
2279 |
+
'comment' => array(
|
2280 |
+
'EN' => '
|
2281 |
+
Limit the actual height if "heightRatio" option is set.
|
2282 |
+
Setting "heightRatio" option may result in that the height of the mouseover zoom
|
2283 |
+
is bigger than window height and the image is not fully visible.
|
2284 |
+
To prevent this you can limit the calculated height with this "maxSizePrc" option.
|
2285 |
+
The value of 1.0 would limit the height to 100% of window height;
|
2286 |
+
a value of 0.8 to 80% of window height;
|
2287 |
+
you can also define two values, e.g. \'1.0|-120\'
|
2288 |
+
which would be window height minus 120px.
|
2289 |
+
',
|
2290 |
+
'DE' => '
|
2291 |
+
Schränkt die Höhe ein, wenn "heightRatio" optionen gesetzt sind.
|
2292 |
+
Wenn "heightRatio" gesetzt ist, dann könnte die Höhe größer sein, als die eigentliche
|
2293 |
+
Fenster Größe und das Bild nicht als Ganzes (ohne scrollen) zu sehen ist.
|
2294 |
+
Um dies zu verhindern kann man über diese Option die Höhe einschränken.
|
2295 |
+
Der Wert von 1.0 würde die Höhe auf 100% des Fensters einschränken;
|
2296 |
+
ein Wert von 0.8 auf 80%; bei dem Wert \'1.0|-120\' wären dies 100% minus 120px.
|
2297 |
+
'
|
2298 |
+
)
|
2299 |
+
),
|
2300 |
+
|
2301 |
+
'mouseOverZoomWidth' => array(
|
2302 |
+
'prefix' => 'AJAXZOOM',
|
2303 |
+
'category' => 'general_settings',
|
2304 |
+
'type' => 'int',
|
2305 |
+
'isJsObject' => false,
|
2306 |
+
'isJsArray' => false,
|
2307 |
+
'important' => true,
|
2308 |
+
'display' => 'text',
|
2309 |
+
'height' => null,
|
2310 |
+
'default' => 1200,
|
2311 |
+
'options' => null,
|
2312 |
+
'comment' => array(
|
2313 |
+
'EN' => '
|
2314 |
+
Max width of the image that will be shown in the zoom window;
|
2315 |
+
this is the value which will be passed to your AJAX-ZOOM imaging server
|
2316 |
+
to generate this image on-the-fly.
|
2317 |
+
Please note that the size is limited by $zoom[\'config\'][\'allowDynamicThumbsMaxSize\']
|
2318 |
+
which is can be set in \'/axZm/zoomConfig.inc.php\'.
|
2319 |
+
You can also specify a link to the image, see "images" option above.
|
2320 |
+
To set the width of the fly out window see "zoomWidth" under "mouseOverZoomParam".
|
2321 |
+
',
|
2322 |
+
'DE' => '
|
2323 |
+
Maximale Breite des Bildes, welches im Zoom Fenster gezeigt wird.
|
2324 |
+
Dies ist auch der Wert, welches an den AJAX-ZOOM dynamischen Bild Generator
|
2325 |
+
übergeben wird um das Bild zu skalieren. Bitte beachten Sie, dass
|
2326 |
+
der Wert bei $zoom[\'config\'][\'allowDynamicThumbsMaxSize\'] limitiert ist und
|
2327 |
+
nur in \'/axZm/zoomConfig.inc.php\'
|
2328 |
+
bzw. in \'zoomConfigCustomAZ.inc.php\' verändert werden kann.
|
2329 |
+
Die Breite des Fensters wird über "zoomWidth" in "mouseOverZoomParam" definiert.
|
2330 |
+
'
|
2331 |
+
)
|
2332 |
+
),
|
2333 |
+
|
2334 |
+
'mouseOverZoomHeight' => array(
|
2335 |
+
'prefix' => 'AJAXZOOM',
|
2336 |
+
'category' => 'general_settings',
|
2337 |
+
'type' => 'int',
|
2338 |
+
'isJsObject' => false,
|
2339 |
+
'isJsArray' => false,
|
2340 |
+
'important' => true,
|
2341 |
+
'display' => 'text',
|
2342 |
+
'height' => null,
|
2343 |
+
'default' => 1200,
|
2344 |
+
'options' => null,
|
2345 |
+
'comment' => array(
|
2346 |
+
'EN' => '
|
2347 |
+
Max height of the image that will be shown in the zoom window;
|
2348 |
+
this is the value which will be passed to your AJAX-ZOOM imaging server
|
2349 |
+
to generate this image on-the-fly.
|
2350 |
+
Please note that the size is limited by $zoom[\'config\'][\'allowDynamicThumbsMaxSize\']
|
2351 |
+
which is can be set in \'/axZm/zoomConfig.inc.php\'.
|
2352 |
+
You can also specify a link to the image, see "images" option above.
|
2353 |
+
To set the height of the fly out window see "zoomHeight" under "mouseOverZoomParam".
|
2354 |
+
',
|
2355 |
+
'DE' => '
|
2356 |
+
Maximale Höhe des Bildes, welches im Zoom Fenster gezeigt wird.
|
2357 |
+
Dies ist auch der Wert, welches an den AJAX-ZOOM dynamischen Bild Generator
|
2358 |
+
übergeben wird um das Bild zu skalieren. Bitte beachten Sie, dass
|
2359 |
+
der Wert bei $zoom[\'config\'][\'allowDynamicThumbsMaxSize\'] limitiert ist und nur in
|
2360 |
+
\'/axZm/zoomConfig.inc.php\' bzw. in \'zoomConfigCustomAZ.inc.php\' verändert werden kann.
|
2361 |
+
Die Breite des Fensters wird über "zoomWidth" in "mouseOverZoomParam" definiert.
|
2362 |
+
'
|
2363 |
+
)
|
2364 |
+
),
|
2365 |
+
|
2366 |
+
'mouseOverContain' => array(
|
2367 |
+
'prefix' => 'AJAXZOOM',
|
2368 |
+
'category' => 'general_settings',
|
2369 |
+
'type' => 'bool',
|
2370 |
+
'isJsObject' => false,
|
2371 |
+
'isJsArray' => false,
|
2372 |
+
'display' => 'switch',
|
2373 |
+
'height' => null,
|
2374 |
+
'default' => false,
|
2375 |
+
'options' => null,
|
2376 |
+
'comment' => array(
|
2377 |
+
'EN' => '
|
2378 |
+
Create preview and the image, which is shown in the zoom window,
|
2379 |
+
with the same size / proportion
|
2380 |
+
as it is set in "mouseOverZoomWidth" and "mouseOverZoomHeight" options.
|
2381 |
+
Empty space will be filled with white color or kept transparent for png images.
|
2382 |
+
',
|
2383 |
+
'DE' => '
|
2384 |
+
Voransichtsbild, sowie das Bild, welches im Zoom Fenster gezeigt wird,
|
2385 |
+
entsprechend der Dimensionen / Proportion
|
2386 |
+
der in "mouseOverZoomWidth" und "mouseOverZoomHeight" gesetzten Werten erstellen.
|
2387 |
+
Leere Bereiche werden dabei mit weißer Farbe bzw. bei PNG mit transparent gefüllt.
|
2388 |
+
'
|
2389 |
+
)
|
2390 |
+
),
|
2391 |
+
|
2392 |
+
'ajaxZoomOpenMode' => array(
|
2393 |
+
'prefix' => 'AJAXZOOM',
|
2394 |
+
'category' => 'general_settings',
|
2395 |
+
'type' => 'string',
|
2396 |
+
'isJsObject' => false,
|
2397 |
+
'isJsArray' => false,
|
2398 |
+
'useful' => true,
|
2399 |
+
'display' => 'select',
|
2400 |
+
'height' => null,
|
2401 |
+
'default' => 'fancyboxFullscreen',
|
2402 |
+
'options' => array(
|
2403 |
+
array('fullscreen', 'fullscreen (browser window or screen) '),
|
2404 |
+
array('fancyboxFullscreen', 'fancyboxFullscreen (responsive fancybox)')
|
2405 |
+
),
|
2406 |
+
'comment' => array(
|
2407 |
+
'EN' => '
|
2408 |
+
Determines how AJAX-ZOOM is opened when the user clicks on preview images / lens,
|
2409 |
+
possible values: \'fullscreen\' (see also "fullScreenApi" option below)
|
2410 |
+
or \'fancyboxFullscreen\'.
|
2411 |
+
',
|
2412 |
+
'DE' => '
|
2413 |
+
Hier kann bestimmt werden, wie AJAX-ZOOM geöffnet wird, wenn
|
2414 |
+
der Nutzer auf die Voransicht / Linse klickt.
|
2415 |
+
Mögliche Werte sind: \'fullscreen\' (siehe auch "fullScreenApi" Option)
|
2416 |
+
oder \'fancyboxFullscreen\'
|
2417 |
+
'
|
2418 |
+
)
|
2419 |
+
),
|
2420 |
+
|
2421 |
+
'ajaxZoomOpenModeTouch' => array(
|
2422 |
+
'prefix' => 'AJAXZOOM',
|
2423 |
+
'category' => 'general_settings',
|
2424 |
+
'type' => 'string',
|
2425 |
+
'isJsObject' => false,
|
2426 |
+
'isJsArray' => false,
|
2427 |
+
'display' => 'select',
|
2428 |
+
'height' => null,
|
2429 |
+
'default' => 'fullscreen',
|
2430 |
+
'options' => array(
|
2431 |
+
array('fullscreen', 'fullscreen (browser window or screen) '),
|
2432 |
+
array('fancyboxFullscreen', 'fancyboxFullscreen (responsive fancybox)')
|
2433 |
+
),
|
2434 |
+
'comment' => array(
|
2435 |
+
'EN' => '
|
2436 |
+
Determines how AJAX-ZOOM is opened when the user touch - clicks on
|
2437 |
+
preview images / lens, possible values: \'fullscreen\' and \'fancyboxFullscreen\'.
|
2438 |
+
',
|
2439 |
+
'DE' => '
|
2440 |
+
Hier kann bestimmt werden, wie AJAX-ZOOM geöffnet wird, wenn
|
2441 |
+
der Nutzer auf die Voransicht / Linse mit touch event klickt.
|
2442 |
+
Mögliche Werte sind: \'fullscreen\' und \'fancyboxFullscreen\'.
|
2443 |
+
'
|
2444 |
+
)
|
2445 |
+
),
|
2446 |
+
|
2447 |
+
'fancyBoxFullscreenParam' => array(
|
2448 |
+
'prefix' => 'AJAXZOOM',
|
2449 |
+
'category' => 'general_settings',
|
2450 |
+
'type' => 'string',
|
2451 |
+
'isJsObject' => true,
|
2452 |
+
'isJsArray' => false,
|
2453 |
+
'display' => 'textarea',
|
2454 |
+
'height' => 120,
|
2455 |
+
'default' => '{
|
2456 |
+
"boxMargin": 30,
|
2457 |
+
"boxPadding": 10,
|
2458 |
+
"boxCenterOnScroll": true,
|
2459 |
+
"boxOverlayShow": true,
|
2460 |
+
"boxOverlayOpacity": 0.85,
|
2461 |
+
"boxOverlayColor": "#777",
|
2462 |
+
"boxTransitionIn": "fade",
|
2463 |
+
"boxTransitionOut": "fade",
|
2464 |
+
"boxSpeedIn": 300,
|
2465 |
+
"boxSpeedOut": 300,
|
2466 |
+
"boxEasingIn": "swing",
|
2467 |
+
"boxEasingOut": "swing",
|
2468 |
+
"boxShowCloseButton": true,
|
2469 |
+
"boxEnableEscapeButton": true,
|
2470 |
+
"boxOnComplete": function(){}
|
2471 |
+
}',
|
2472 |
+
'options' => null,
|
2473 |
+
'comment' => array(
|
2474 |
+
'EN' => '
|
2475 |
+
If fancyboxFullscreen is used in "ajaxZoomOpenMode" option, Fancybox options.
|
2476 |
+
Prefixed with box and capitalized first letter!
|
2477 |
+
',
|
2478 |
+
'DE' => '
|
2479 |
+
Wenn fancybox in "ajaxZoomOpenMode" gesetzt ist, sind dies die Fancybox Optionen.
|
2480 |
+
Dabei ist der Präfix box und erster Buchstabe wird großgeschrieben.
|
2481 |
+
'
|
2482 |
+
)
|
2483 |
+
),
|
2484 |
+
|
2485 |
+
'example' => array(
|
2486 |
+
'prefix' => 'AJAXZOOM',
|
2487 |
+
'category' => 'general_settings',
|
2488 |
+
'type' => 'string',
|
2489 |
+
'isJsObject' => false,
|
2490 |
+
'isJsArray' => false,
|
2491 |
+
'display' => 'text',
|
2492 |
+
'height' => null,
|
2493 |
+
'default' => 'mouseOverExtension360Ver5',
|
2494 |
+
'options' => null,
|
2495 |
+
'comment' => array(
|
2496 |
+
'EN' => '
|
2497 |
+
Configuration set which is passed to ajax-zoom when opening a 2D image.
|
2498 |
+
The configuration set can be found in /axZm/zoomConfigCustom.inc.php
|
2499 |
+
',
|
2500 |
+
'DE' => '
|
2501 |
+
Wert des Konfiguration Sets,
|
2502 |
+
welches an AJAX-ZOOM übergeben wird wenn es ein 2D Bild ist.
|
2503 |
+
Die configuration des Sets kann in /axZm/zoomConfigCustom.inc.php gefunden
|
2504 |
+
/ erweitert werden.
|
2505 |
+
'
|
2506 |
+
)
|
2507 |
+
),
|
2508 |
+
|
2509 |
+
'exampleFancyboxFullscreen' => array(
|
2510 |
+
'prefix' => 'AJAXZOOM',
|
2511 |
+
'category' => 'general_settings',
|
2512 |
+
'type' => 'string',
|
2513 |
+
'isJsObject' => false,
|
2514 |
+
'isJsArray' => false,
|
2515 |
+
'display' => 'text',
|
2516 |
+
'height' => null,
|
2517 |
+
'default' => 'mouseOverExtension360Ver5',
|
2518 |
+
'options' => null,
|
2519 |
+
'comment' => array(
|
2520 |
+
'EN' => '
|
2521 |
+
Configuration set which is passed to ajax-zoom when ajaxZoomOpenMode
|
2522 |
+
is \'fancyboxFullscreen\'.
|
2523 |
+
',
|
2524 |
+
'DE' => '
|
2525 |
+
Wert des Konfiguration Sets, welches an AJAX-ZOOM übergeben wird,
|
2526 |
+
wenn ajaxZoomOpenMode auf \'fancyboxFullscreen\' gesetzt ist.
|
2527 |
+
'
|
2528 |
+
)
|
2529 |
+
),
|
2530 |
+
|
2531 |
+
'enforceFullScreenRes' => array(
|
2532 |
+
'prefix' => 'AJAXZOOM',
|
2533 |
+
'category' => 'general_settings',
|
2534 |
+
'type' => 'int',
|
2535 |
+
'isJsObject' => false,
|
2536 |
+
'isJsArray' => false,
|
2537 |
+
'display' => 'text',
|
2538 |
+
'height' => null,
|
2539 |
+
'default' => 768,
|
2540 |
+
'options' => null,
|
2541 |
+
'comment' => array(
|
2542 |
+
'EN' => '
|
2543 |
+
Enforce "ajaxZoomOpenMode" to be "fullscreen" if screen width is less than this value.
|
2544 |
+
',
|
2545 |
+
'DE' => '
|
2546 |
+
Erzwingen / setzen "ajaxZoomOpenMode" auf "fullscreen",
|
2547 |
+
wenn Breite des Browser Fensters kleiner ist, als dieser Wert.
|
2548 |
+
'
|
2549 |
+
)
|
2550 |
+
),
|
2551 |
+
|
2552 |
+
'prevNextArrows' => array(
|
2553 |
+
'prefix' => 'AJAXZOOM',
|
2554 |
+
'category' => 'general_settings',
|
2555 |
+
'type' => 'bool',
|
2556 |
+
'isJsObject' => false,
|
2557 |
+
'isJsArray' => false,
|
2558 |
+
'display' => 'switch',
|
2559 |
+
'height' => null,
|
2560 |
+
'default' => false,
|
2561 |
+
'options' => null,
|
2562 |
+
'comment' => array(
|
2563 |
+
'EN' => '
|
2564 |
+
Put prev / next buttons over mouseover zoom. CSS: .axZm_mouseOverPrevNextArrows;
|
2565 |
+
',
|
2566 |
+
'DE' => '
|
2567 |
+
Prev / next Pfeile über Mouseover Zoom / Voransicht anzeigen,
|
2568 |
+
CSS: .axZm_mouseOverPrevNextArrows;
|
2569 |
+
'
|
2570 |
+
)
|
2571 |
+
),
|
2572 |
+
|
2573 |
+
'prevNextArrowsTouch' => array(
|
2574 |
+
'prefix' => 'AJAXZOOM',
|
2575 |
+
'category' => 'general_settings',
|
2576 |
+
'type' => 'bool',
|
2577 |
+
'isJsObject' => false,
|
2578 |
+
'isJsArray' => false,
|
2579 |
+
'display' => 'switch',
|
2580 |
+
'height' => null,
|
2581 |
+
'default' => true,
|
2582 |
+
'options' => null,
|
2583 |
+
'comment' => array(
|
2584 |
+
'EN' => '
|
2585 |
+
Put prev / next buttons over mouseover zoom for touch devices.
|
2586 |
+
CSS: .axZm_mouseOverPrevNextArrows;
|
2587 |
+
',
|
2588 |
+
'DE' => '
|
2589 |
+
Prev / next Pfeile über Mouseover Zoom / Voransicht für touch Geräte anzeigen,
|
2590 |
+
CSS: .axZm_mouseOverPrevNextArrows;
|
2591 |
+
'
|
2592 |
+
)
|
2593 |
+
),
|
2594 |
+
|
2595 |
+
'prevNextArrowsSlide' => array(
|
2596 |
+
'prefix' => 'AJAXZOOM',
|
2597 |
+
'category' => 'general_settings',
|
2598 |
+
'type' => 'bool',
|
2599 |
+
'isJsObject' => false,
|
2600 |
+
'isJsArray' => false,
|
2601 |
+
'display' => 'switch',
|
2602 |
+
'height' => null,
|
2603 |
+
'default' => true,
|
2604 |
+
'options' => null,
|
2605 |
+
'comment' => array(
|
2606 |
+
'EN' => '
|
2607 |
+
Slide images to right or left when clicked on the prev / next buttons.
|
2608 |
+
',
|
2609 |
+
'DE' => '
|
2610 |
+
Das Bild jeweils nach rechts oder links "sliden", wenn
|
2611 |
+
auf die prev / next Pfeile geklickt wird.
|
2612 |
+
'
|
2613 |
+
)
|
2614 |
+
),
|
2615 |
+
|
2616 |
+
'disableScrollAnm' => array(
|
2617 |
+
'prefix' => 'AJAXZOOM',
|
2618 |
+
'category' => 'general_settings',
|
2619 |
+
'type' => 'bool',
|
2620 |
+
'isJsObject' => false,
|
2621 |
+
'isJsArray' => false,
|
2622 |
+
'display' => 'switch',
|
2623 |
+
'height' => null,
|
2624 |
+
'default' => true,
|
2625 |
+
'options' => null,
|
2626 |
+
'comment' => array(
|
2627 |
+
'EN' => '
|
2628 |
+
Disable animation while zooming with AJAX-ZOOM and using mousewheel.
|
2629 |
+
',
|
2630 |
+
'DE' => '
|
2631 |
+
Deaktivieren der Animation während mit AJAX-ZOOM und dem Mausrad gezoomt wird.
|
2632 |
+
'
|
2633 |
+
)
|
2634 |
+
),
|
2635 |
+
|
2636 |
+
'fullScreenApi' => array(
|
2637 |
+
'prefix' => 'AJAXZOOM',
|
2638 |
+
'category' => 'general_settings',
|
2639 |
+
'type' => 'bool',
|
2640 |
+
'isJsObject' => false,
|
2641 |
+
'isJsArray' => false,
|
2642 |
+
'display' => 'switch',
|
2643 |
+
'height' => null,
|
2644 |
+
'default' => false,
|
2645 |
+
'options' => null,
|
2646 |
+
'comment' => array(
|
2647 |
+
'EN' => '
|
2648 |
+
Try to open AJAX-ZOOM at browsers fullscreen mode,
|
2649 |
+
possible on modern browsers except IE < 10 and mobile.
|
2650 |
+
',
|
2651 |
+
'DE' => '
|
2652 |
+
AJAX-ZOOM im Browser als Vollbild öffnen,
|
2653 |
+
möglich in modernen Browsern außer IE <10 und mobil;
|
2654 |
+
'
|
2655 |
+
)
|
2656 |
+
),
|
2657 |
+
|
2658 |
+
'axZmCallBacks' => array(
|
2659 |
+
'prefix' => 'AJAXZOOM',
|
2660 |
+
'category' => 'general_settings',
|
2661 |
+
'type' => 'object',
|
2662 |
+
'isJsObject' => false,
|
2663 |
+
'isJsArray' => false,
|
2664 |
+
'display' => 'textarea',
|
2665 |
+
'height' => 100,
|
2666 |
+
'default' => '{}',
|
2667 |
+
'options' => null,
|
2668 |
+
'comment' => array(
|
2669 |
+
'EN' => '
|
2670 |
+
AJAX-ZOOM has several callbacks / hooks,
|
2671 |
+
http://www.ajax-zoom.com/index.php?cid=docs#onBeforeStart
|
2672 |
+
',
|
2673 |
+
'DE' => '
|
2674 |
+
AJAX-ZOOM kann mit zahlreichen Callbacks bzw. Hooks erweitert werden.
|
2675 |
+
Docu: http://www.ajax-zoom.com/index.php?cid=docs#onBeforeStart
|
2676 |
+
'
|
2677 |
+
)
|
2678 |
+
),
|
2679 |
+
|
2680 |
+
'azOptions' => array(
|
2681 |
+
'prefix' => 'AJAXZOOM',
|
2682 |
+
'category' => 'general_settings',
|
2683 |
+
'type' => 'object',
|
2684 |
+
'isJsObject' => true,
|
2685 |
+
'isJsArray' => false,
|
2686 |
+
'display' => 'textarea',
|
2687 |
+
'height' => 100,
|
2688 |
+
'default' => '{}',
|
2689 |
+
'options' => null,
|
2690 |
+
'comment' => array(
|
2691 |
+
'EN' => '
|
2692 |
+
Some AJAX-ZOOM options can be set with JS when AJAX-ZOOM is inited.
|
2693 |
+
Normally you would be defining them in /axZm/zoomConfig.inc.php
|
2694 |
+
or /axZm/zoomConfigCustom.inc.php; this field is for convenience reasons. Example:
|
2695 |
+
{"fullScreenCornerButton": false} - this would disable the button for fullscreen.
|
2696 |
+
',
|
2697 |
+
'DE' => '
|
2698 |
+
Einige AJAX-ZOOM-Optionen können mit JS eingestellt werden,
|
2699 |
+
wenn AJAX-ZOOM initialisiert wird.
|
2700 |
+
Normalerweise würde man sie in /axZm/zoomConfig.inc.php
|
2701 |
+
oder /axZm/zoomConfigCustom.inc.php einstellen;
|
2702 |
+
Aus Bequemlichkeitsgründen kann man diese auch hier einstellen. Beispiel:
|
2703 |
+
{"fullScreenCornerButton": false} -
|
2704 |
+
dies würde die Schaltfläche für Vollbild deaktivieren.
|
2705 |
+
'
|
2706 |
+
)
|
2707 |
+
),
|
2708 |
+
|
2709 |
+
'azOptions360' => array(
|
2710 |
+
'prefix' => 'AJAXZOOM',
|
2711 |
+
'category' => 'general_settings',
|
2712 |
+
'type' => 'object',
|
2713 |
+
'isJsObject' => true,
|
2714 |
+
'isJsArray' => false,
|
2715 |
+
'display' => 'textarea',
|
2716 |
+
'height' => 100,
|
2717 |
+
'default' => '{}',
|
2718 |
+
'options' => null,
|
2719 |
+
'comment' => array(
|
2720 |
+
'EN' => '
|
2721 |
+
Same as above but specifically for 360/3D.
|
2722 |
+
In AJAX-ZOOM modules for ecommerce systems you can also set these options
|
2723 |
+
for each 360 individually...
|
2724 |
+
As an example for setting this option manually would be such an object:
|
2725 |
+
{"mouseScrollEnable": true,
|
2726 |
+
"mNavi": {"enabled": true, "gravity": "bottomLeft",
|
2727 |
+
"order": {"mZoomOut": 5, "mZoomIn": 15}}}
|
2728 |
+
',
|
2729 |
+
'DE' => '
|
2730 |
+
Das gleiche wie "azOptions", nur für 360. In AJAX-ZOOM Modulen für diverse Ecommerce Systeme
|
2731 |
+
können diese Optionen für jede 360 auch individuell gesetzt werden.
|
2732 |
+
Als Beispiel für die manuelle Einstellung dieser Option wäre ein solches Objekt:
|
2733 |
+
{"mouseScrollEnable": true,
|
2734 |
+
"mNavi": {"enabled": true, "gravity": "bottomLeft",
|
2735 |
+
"order": {"mZoomOut": 5, "mZoomIn": 15}}}
|
2736 |
+
'
|
2737 |
+
)
|
2738 |
+
),
|
2739 |
+
|
2740 |
+
'postMode' => array(
|
2741 |
+
'prefix' => 'AJAXZOOM',
|
2742 |
+
'category' => 'general_settings',
|
2743 |
+
'type' => 'bool',
|
2744 |
+
'isJsObject' => false,
|
2745 |
+
'isJsArray' => false,
|
2746 |
+
'display' => 'switch',
|
2747 |
+
'height' => null,
|
2748 |
+
'default' => false,
|
2749 |
+
'options' => null,
|
2750 |
+
'comment' => array(
|
2751 |
+
'EN' => '
|
2752 |
+
Set AJAX-ZOOM to use POST instead of GET.
|
2753 |
+
',
|
2754 |
+
'DE' => '
|
2755 |
+
AJAX-ZOOM mit POST anstatt GET nutzen.
|
2756 |
+
'
|
2757 |
+
)
|
2758 |
+
),
|
2759 |
+
|
2760 |
+
'cropAxZmThumbSliderParam' => array(
|
2761 |
+
'prefix' => 'AJAXZOOM',
|
2762 |
+
'category' => 'product_tour',
|
2763 |
+
'type' => 'object',
|
2764 |
+
'isJsObject' => true,
|
2765 |
+
'isJsArray' => false,
|
2766 |
+
'display' => 'textarea',
|
2767 |
+
'height' => 100,
|
2768 |
+
'example' => '{
|
2769 |
+
"btn": true,
|
2770 |
+
"btnClass": "axZmThumbSlider_button_new",
|
2771 |
+
"btnHidden": true,
|
2772 |
+
"centerNoScroll": true,
|
2773 |
+
"thumbImgWrap": "azThumbImgWrapRound",
|
2774 |
+
"scrollBy": 1
|
2775 |
+
}',
|
2776 |
+
'default' => '{}',
|
2777 |
+
'options' => null,
|
2778 |
+
'comment' => array(
|
2779 |
+
'EN' => '
|
2780 |
+
Slider settings for 360° "Product Tour". Can be kept empty.
|
2781 |
+
See also "galleryAxZmThumbSliderParam" option for more info.
|
2782 |
+
',
|
2783 |
+
'DE' => '
|
2784 |
+
Slider Einstellungen für 360° "Produkt Tour".
|
2785 |
+
Kann leer bleiben. Für mehr Info siehe "galleryAxZmThumbSliderParam" Option.
|
2786 |
+
'
|
2787 |
+
)
|
2788 |
+
),
|
2789 |
+
|
2790 |
+
'cropSliderPosition' => array(
|
2791 |
+
'prefix' => 'AJAXZOOM',
|
2792 |
+
'category' => 'product_tour',
|
2793 |
+
'type' => 'string',
|
2794 |
+
'isJsObject' => false,
|
2795 |
+
'isJsArray' => false,
|
2796 |
+
'useful' => true,
|
2797 |
+
'display' => 'select',
|
2798 |
+
'height' => null,
|
2799 |
+
'default' => 'bottom',
|
2800 |
+
'options' => array(
|
2801 |
+
array('left-bottom', 'left-bottom'),
|
2802 |
+
array('left-top', 'left-top'),
|
2803 |
+
array('right-bottom', 'right-bottom'),
|
2804 |
+
array('right-top', 'right-top'),
|
2805 |
+
array('top-left', 'top-left'),
|
2806 |
+
array('top-right', 'top-right'),
|
2807 |
+
array('bottom-left', 'bottom-left'),
|
2808 |
+
array('bottom-right', 'bottom-right'),
|
2809 |
+
array('top', 'top (fixed)'),
|
2810 |
+
array('right', 'right (fixed)'),
|
2811 |
+
array('bottom', 'bottom (fixed)'),
|
2812 |
+
array('left', 'left (fixed)'),
|
2813 |
+
array('left-right', 'left-right'),
|
2814 |
+
array('right-left', 'right-left'),
|
2815 |
+
array('bottom-top', 'bottom-top'),
|
2816 |
+
array('top-bottom', 'top-bottom')
|
2817 |
+
),
|
2818 |
+
'comment' => array(
|
2819 |
+
'EN' => '
|
2820 |
+
Position of the 360° "Product Tour" slider,
|
2821 |
+
possible values: "top", "right", "bottom", "left" and any combination
|
2822 |
+
between those separated with dash.
|
2823 |
+
',
|
2824 |
+
'DE' => '
|
2825 |
+
Position der 360 "Produkt Tour" Galerie,
|
2826 |
+
mögliche Werte sind: "top", "right", "bottom", "left", sowie
|
2827 |
+
jegliche Kombination getrennt durch einen Strich.
|
2828 |
+
'
|
2829 |
+
)
|
2830 |
+
),
|
2831 |
+
|
2832 |
+
'cropSliderPositionSwitch' => array(
|
2833 |
+
'prefix' => 'AJAXZOOM',
|
2834 |
+
'category' => 'product_tour',
|
2835 |
+
'type' => 'string, int',
|
2836 |
+
'isJsObject' => false,
|
2837 |
+
'isJsArray' => false,
|
2838 |
+
'display' => 'text',
|
2839 |
+
'height' => null,
|
2840 |
+
'default' => 'auto',
|
2841 |
+
'options' => null,
|
2842 |
+
'comment' => array(
|
2843 |
+
'EN' => '
|
2844 |
+
Possible values: "auto" as string or integer.
|
2845 |
+
Auto means depending on whether the screen is in portrait or
|
2846 |
+
landscape mode the first or second value of "cropSliderPosition"
|
2847 |
+
suited for the resolution will be chosen. For the value set as
|
2848 |
+
integer the second position from "cropSliderPosition" will be
|
2849 |
+
chosen if width of the screen is less than this integer and
|
2850 |
+
the position suits for current resolution.
|
2851 |
+
',
|
2852 |
+
'DE' => '
|
2853 |
+
Mögliche Werte: "auto" als String oder Integer.
|
2854 |
+
Auto bedeutet, je nachdem, ob der Bildschirm im Hochformat oder
|
2855 |
+
Landscape-Modus ist, wird der erste oder zweite Wert aus "cropSliderPosition"
|
2856 |
+
automatisch passend zur Auflösung gewählt. Bei einer Zahl wird die zweite
|
2857 |
+
Position aus "cropSliderPosition" genommen, wenn die Bildschirmbreite
|
2858 |
+
kleiner ist als diese Zahl und die Position passt.
|
2859 |
+
'
|
2860 |
+
)
|
2861 |
+
),
|
2862 |
+
|
2863 |
+
'cropSliderPosPriority' => array(
|
2864 |
+
'prefix' => 'AJAXZOOM',
|
2865 |
+
'category' => 'product_tour',
|
2866 |
+
'type' => 'bool',
|
2867 |
+
'isJsObject' => false,
|
2868 |
+
'isJsArray' => false,
|
2869 |
+
'display' => 'switch',
|
2870 |
+
'height' => null,
|
2871 |
+
'default' => true,
|
2872 |
+
'options' => null,
|
2873 |
+
'comment' => array(
|
2874 |
+
'EN' => '
|
2875 |
+
Prioritize placing 360° "Product Tour" slider,
|
2876 |
+
defined in "cropSliderPosition", before positioning fullscreen thumbnail slider,
|
2877 |
+
defined in "fsSliderPosition".
|
2878 |
+
',
|
2879 |
+
'DE' => '
|
2880 |
+
Priorisieren die Positionierung des 360° "Produkt Tour" Sliders,
|
2881 |
+
definiert in "cropSliderPosition", vor Positionierung des
|
2882 |
+
Vollbild Miniaturansichten Sliders, definiert in "fsSliderPosition".
|
2883 |
+
'
|
2884 |
+
)
|
2885 |
+
),
|
2886 |
+
|
2887 |
+
'cropSliderReposition' => array(
|
2888 |
+
'prefix' => 'AJAXZOOM',
|
2889 |
+
'category' => 'product_tour',
|
2890 |
+
'type' => 'string',
|
2891 |
+
'isJsObject' => false,
|
2892 |
+
'isJsArray' => false,
|
2893 |
+
'display' => 'select',
|
2894 |
+
'height' => null,
|
2895 |
+
'default' => 'right-bottom',
|
2896 |
+
'options' => array(
|
2897 |
+
array('left-bottom', 'left-bottom'),
|
2898 |
+
array('left-top', 'left-top'),
|
2899 |
+
array('right-bottom', 'right-bottom'),
|
2900 |
+
array('right-top', 'right-top'),
|
2901 |
+
array('opposite', 'opposite')
|
2902 |
+
),
|
2903 |
+
'comment' => array(
|
2904 |
+
'EN' => '
|
2905 |
+
In case the positions of the gallery slider and the slider for 360 Product tour collude,
|
2906 |
+
the alternative position.
|
2907 |
+
Possible values: "left-bottom", "left-top", "right-bottom", "right-top" and "opposite".
|
2908 |
+
',
|
2909 |
+
'DE' => '
|
2910 |
+
Falls die Positionen der slider für Gallerie und 360 Produkt Tour kollidieren,
|
2911 |
+
wird die alternative bzw. ausweichende Position gewählt.
|
2912 |
+
Mögliche Werte sind: "left-bottom", "left-top",
|
2913 |
+
"right-bottom", "right-top" und "opposite".
|
2914 |
+
'
|
2915 |
+
)
|
2916 |
+
),
|
2917 |
+
|
2918 |
+
'cropSliderDimension' => array(
|
2919 |
+
'prefix' => 'AJAXZOOM',
|
2920 |
+
'category' => 'product_tour',
|
2921 |
+
'type' => 'int',
|
2922 |
+
'isJsObject' => false,
|
2923 |
+
'isJsArray' => false,
|
2924 |
+
'display' => 'text',
|
2925 |
+
'height' => null,
|
2926 |
+
'default' => 86,
|
2927 |
+
'options' => null,
|
2928 |
+
'comment' => array(
|
2929 |
+
'EN' => '
|
2930 |
+
Width or height (depending on position) of the instantly
|
2931 |
+
created container for the 360° "Product Tour" thumb slider.
|
2932 |
+
',
|
2933 |
+
'DE' => '
|
2934 |
+
Breite oder Höhe (je nach Position) des Containers in dem
|
2935 |
+
der 360° "Product Tour" Galerie angezeigt wird.
|
2936 |
+
'
|
2937 |
+
)
|
2938 |
+
),
|
2939 |
+
|
2940 |
+
'cropSliderThumbAutoSize' => array(
|
2941 |
+
'prefix' => 'AJAXZOOM',
|
2942 |
+
'category' => 'product_tour',
|
2943 |
+
'type' => 'bool',
|
2944 |
+
'isJsObject' => false,
|
2945 |
+
'isJsArray' => false,
|
2946 |
+
'display' => 'switch',
|
2947 |
+
'height' => null,
|
2948 |
+
'default' => true,
|
2949 |
+
'options' => null,
|
2950 |
+
'comment' => array(
|
2951 |
+
'EN' => '
|
2952 |
+
Thumb CSS size will be set instantly depending on "cropSliderDimension" option.
|
2953 |
+
',
|
2954 |
+
'DE' => '
|
2955 |
+
CSS werte für die 360° "Product Tour"
|
2956 |
+
automatisch in Abhängigkeit von "cropSliderDimension" setzen.
|
2957 |
+
'
|
2958 |
+
)
|
2959 |
+
),
|
2960 |
+
|
2961 |
+
'cropSliderThumbAutoMargin' => array(
|
2962 |
+
'prefix' => 'AJAXZOOM',
|
2963 |
+
'category' => 'product_tour',
|
2964 |
+
'type' => 'int',
|
2965 |
+
'isJsObject' => false,
|
2966 |
+
'isJsArray' => false,
|
2967 |
+
'display' => 'text',
|
2968 |
+
'height' => null,
|
2969 |
+
'default' => 10,
|
2970 |
+
'options' => null,
|
2971 |
+
'comment' => array(
|
2972 |
+
'EN' => '
|
2973 |
+
Thumb margin when set instantly.
|
2974 |
+
',
|
2975 |
+
'DE' => '
|
2976 |
+
Anstand der Bilder wenn "cropSliderThumbAutoSize" eingeschaltet ist.
|
2977 |
+
'
|
2978 |
+
)
|
2979 |
+
),
|
2980 |
+
|
2981 |
+
'cropSliderThumbDescr' => array(
|
2982 |
+
'prefix' => 'AJAXZOOM',
|
2983 |
+
'category' => 'product_tour',
|
2984 |
+
'type' => 'bool',
|
2985 |
+
'isJsObject' => false,
|
2986 |
+
'isJsArray' => false,
|
2987 |
+
'display' => 'switch',
|
2988 |
+
'height' => null,
|
2989 |
+
'default' => true,
|
2990 |
+
'options' => null,
|
2991 |
+
'comment' => array(
|
2992 |
+
'EN' => '
|
2993 |
+
Enable descriptions for the thumbs in the slider for 360° "Product Tour"
|
2994 |
+
',
|
2995 |
+
'DE' => '
|
2996 |
+
Beschreibungen in der 360° "Produkt Tour" Galerie aktivieren.
|
2997 |
+
'
|
2998 |
+
)
|
2999 |
+
),
|
3000 |
+
|
3001 |
+
'cropSliderMinSize' => array(
|
3002 |
+
'prefix' => 'AJAXZOOM',
|
3003 |
+
'category' => 'product_tour',
|
3004 |
+
'type' => 'int',
|
3005 |
+
'isJsObject' => false,
|
3006 |
+
'isJsArray' => false,
|
3007 |
+
'display' => 'text',
|
3008 |
+
'height' => null,
|
3009 |
+
'default' => 400,
|
3010 |
+
'options' => null,
|
3011 |
+
'comment' => array(
|
3012 |
+
'EN' => '
|
3013 |
+
Minimal size of the player (width or height) for 360° "Product Tour" gallery
|
3014 |
+
(if present) to be shown.
|
3015 |
+
',
|
3016 |
+
'DE' => '
|
3017 |
+
Minimale Größe des Players um die 360° "Product Tour" sichtbar zu machen.
|
3018 |
+
'
|
3019 |
+
)
|
3020 |
+
),
|
3021 |
+
|
3022 |
+
'cropSliderNotParent' => array(
|
3023 |
+
'prefix' => 'AJAXZOOM',
|
3024 |
+
'category' => 'product_tour',
|
3025 |
+
'type' => 'string',
|
3026 |
+
'isJsObject' => false,
|
3027 |
+
'isJsArray' => false,
|
3028 |
+
'display' => 'text',
|
3029 |
+
'height' => null,
|
3030 |
+
'default' => '',
|
3031 |
+
'options' => null,
|
3032 |
+
'comment' => array(
|
3033 |
+
'EN' => '
|
3034 |
+
Prevent showing 360° "Product Tour" gallery when the parent container
|
3035 |
+
matches the id or CSS class represented as string in this option value,
|
3036 |
+
e.g. "az_mouseOverZoomContainer".
|
3037 |
+
For more than one value split them with vertical dash.
|
3038 |
+
',
|
3039 |
+
'DE' => '
|
3040 |
+
Verhindert das Anzeigen der 360° "Produkt Tour" Gallerie, wenn
|
3041 |
+
übergeordneter Container den Wert dieser Option als ID oder
|
3042 |
+
CSS Klasse entspricht, z.B. "az_mouseOverZoomContainer".
|
3043 |
+
Für mehrere Werte können diese mit einem vertikalen Strich
|
3044 |
+
in einem String getrennt werden.
|
3045 |
+
'
|
3046 |
+
)
|
3047 |
+
),
|
3048 |
+
|
3049 |
+
'cropAxZmEbOpt' => array(
|
3050 |
+
'prefix' => 'AJAXZOOM',
|
3051 |
+
'category' => 'product_tour',
|
3052 |
+
'type' => 'obejct',
|
3053 |
+
'isJsObject' => true,
|
3054 |
+
'isJsArray' => false,
|
3055 |
+
'display' => 'textarea',
|
3056 |
+
'height' => 150,
|
3057 |
+
'default' => '{
|
3058 |
+
"marginX": 5,
|
3059 |
+
"marginY": 5,
|
3060 |
+
"openSpeed": 300,
|
3061 |
+
"closeSpeed": 300,
|
3062 |
+
"fadeInSpeed": 200,
|
3063 |
+
"autoOpen": false,
|
3064 |
+
"arrow": true,
|
3065 |
+
"thumbSlider": true,
|
3066 |
+
"parO": "#axZm_zoomLayer",
|
3067 |
+
"dynText": true,
|
3068 |
+
"dynTextBtn": [
|
3069 |
+
{"base": 0.016, "min": 12, "max": 24, "important": true}
|
3070 |
+
],
|
3071 |
+
"dynTextTitle": [
|
3072 |
+
{"base": 0.016, "min": 18, "max": 28, "important": true}
|
3073 |
+
],
|
3074 |
+
"dynTextDescr": [
|
3075 |
+
["*", {"base": 0.012, "min": 12, "max": 24, "important": true}],
|
3076 |
+
["h3", {"base": 0.016, "min": 16, "max": 32, "important": true}]
|
3077 |
+
]
|
3078 |
+
}',
|
3079 |
+
'options' => null,
|
3080 |
+
'comment' => array(
|
3081 |
+
'EN' => '
|
3082 |
+
Options for $.axZmEb function which is used for descriptions for
|
3083 |
+
360° "Product Tour". Documentation to be updated...
|
3084 |
+
',
|
3085 |
+
'DE' => '
|
3086 |
+
Einstellungen für die $.axZmEb Funktion, welche für die Beschreibungen der
|
3087 |
+
360° "Product Tour" genutzt werden. Dokumentation muss noch geschrieben werden...
|
3088 |
+
'
|
3089 |
+
)
|
3090 |
+
),
|
3091 |
+
|
3092 |
+
'fsAxZmThumbSliderParam' => array(
|
3093 |
+
'prefix' => 'AJAXZOOM',
|
3094 |
+
'category' => 'fullscreen_gallery',
|
3095 |
+
'type' => 'obejct',
|
3096 |
+
'isJsObject' => true,
|
3097 |
+
'isJsArray' => false,
|
3098 |
+
'display' => 'textarea',
|
3099 |
+
'height' => 100,
|
3100 |
+
'example' => '{
|
3101 |
+
"scrollBy": 1,
|
3102 |
+
"btn": true,
|
3103 |
+
"btnClass": "axZmThumbSlider_button_new",
|
3104 |
+
"btnLeftText": null,
|
3105 |
+
"btnRightText": null,
|
3106 |
+
"btnHidden": true,
|
3107 |
+
"pressScrollSnap": true,
|
3108 |
+
"centerNoScroll": true,
|
3109 |
+
"wrapStyle": {
|
3110 |
+
"borderWidth": 0
|
3111 |
+
}
|
3112 |
+
}',
|
3113 |
+
'default' => '{}',
|
3114 |
+
'options' => null,
|
3115 |
+
'comment' => array(
|
3116 |
+
'EN' => '
|
3117 |
+
$.axZmThumbSlider options for fullscreen gallery.
|
3118 |
+
For full list of options see under:
|
3119 |
+
/modules/ajaxzoom/axZm/extensions/axZmThumbSlider/
|
3120 |
+
',
|
3121 |
+
'DE' => '
|
3122 |
+
$.axZmThumbSlider Optionen für Vollbild Galerie.
|
3123 |
+
Für die komplette Liste der Optionen siehe
|
3124 |
+
http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider/
|
3125 |
+
'
|
3126 |
+
)
|
3127 |
+
),
|
3128 |
+
|
3129 |
+
'fsSliderPosition' => array(
|
3130 |
+
'prefix' => 'AJAXZOOM',
|
3131 |
+
'category' => 'fullscreen_gallery',
|
3132 |
+
'type' => 'string',
|
3133 |
+
'isJsObject' => false,
|
3134 |
+
'isJsArray' => false,
|
3135 |
+
'display' => 'select',
|
3136 |
+
'height' => null,
|
3137 |
+
'default' => 'right-bottom',
|
3138 |
+
'options' => array(
|
3139 |
+
array('left-bottom', 'left-bottom'),
|
3140 |
+
array('left-top', 'left-top'),
|
3141 |
+
array('right-bottom', 'right-bottom'),
|
3142 |
+
array('right-top', 'right-top'),
|
3143 |
+
array('top-left', 'top-left'),
|
3144 |
+
array('top-right', 'top-right'),
|
3145 |
+
array('bottom-left', 'bottom-left'),
|
3146 |
+
array('bottom-right', 'bottom-right'),
|
3147 |
+
array('top', 'top (fixed)'),
|
3148 |
+
array('right', 'right (fixed)'),
|
3149 |
+
array('bottom', 'bottom (fixed)'),
|
3150 |
+
array('left', 'left (fixed)'),
|
3151 |
+
array('left-right', 'left-right'),
|
3152 |
+
array('right-left', 'right-left'),
|
3153 |
+
array('bottom-top', 'bottom-top'),
|
3154 |
+
array('top-bottom', 'top-bottom')
|
3155 |
+
),
|
3156 |
+
'comment' => array(
|
3157 |
+
'EN' => '
|
3158 |
+
Position of the fullscreen thumbnail slider.
|
3159 |
+
Possible values are:
|
3160 |
+
"top", "right", "bottom", "left" and any combination between those separated with dash,
|
3161 |
+
e.g. "right-bottom". Positions with dash mean that the second after dash
|
3162 |
+
is the alternative position which could be switched instantly depending on the logic
|
3163 |
+
described in "fsSliderPositionSwitch" option.
|
3164 |
+
',
|
3165 |
+
'DE' => '
|
3166 |
+
Position der Vollbild Galerie. Mögliche Werte sind top, left, right, bottom,
|
3167 |
+
sowie jegliche Kombination aus den obigen getrennt mit einem Strich,
|
3168 |
+
also z.B. left-bottom. Positionen mit Strich (also zwei) bedeuten, dass je nach
|
3169 |
+
einstellbaren Logik, beschrieben in "fsSliderPositionSwitch" Option,
|
3170 |
+
die Position sich dynamisch verändern kann.
|
3171 |
+
'
|
3172 |
+
)
|
3173 |
+
),
|
3174 |
+
|
3175 |
+
'fsSliderReposition' => array(
|
3176 |
+
'prefix' => 'AJAXZOOM',
|
3177 |
+
'category' => 'fullscreen_gallery',
|
3178 |
+
'type' => 'string',
|
3179 |
+
'isJsObject' => false,
|
3180 |
+
'isJsArray' => false,
|
3181 |
+
'display' => 'select',
|
3182 |
+
'height' => null,
|
3183 |
+
'default' => 'right-bottom',
|
3184 |
+
'options' => array(
|
3185 |
+
array('left-bottom', 'left-bottom'),
|
3186 |
+
array('left-top', 'left-top'),
|
3187 |
+
array('right-bottom', 'right-bottom'),
|
3188 |
+
array('right-top', 'right-top'),
|
3189 |
+
array('opposite', 'opposite')
|
3190 |
+
),
|
3191 |
+
'comment' => array(
|
3192 |
+
'EN' => '
|
3193 |
+
In case sliders position collude, the alternative position.
|
3194 |
+
Possible values: "left-bottom", "left-top", "right-bottom", "right-top", "opposite".
|
3195 |
+
',
|
3196 |
+
'DE' => '
|
3197 |
+
Falls die Positionen der slider für Gallerie und 360 Produkt Tour kollidieren,
|
3198 |
+
wird die alternative bzw. ausweichende Position gewählt.
|
3199 |
+
Mögliche Werte sind: "left-bottom", "left-top",
|
3200 |
+
"right-bottom", "right-top" und "opposite".
|
3201 |
+
'
|
3202 |
+
)
|
3203 |
+
),
|
3204 |
+
|
3205 |
+
'fsSliderPositionSwitch' => array(
|
3206 |
+
'prefix' => 'AJAXZOOM',
|
3207 |
+
'category' => 'fullscreen_gallery',
|
3208 |
+
'type' => 'string, int',
|
3209 |
+
'isJsObject' => false,
|
3210 |
+
'isJsArray' => false,
|
3211 |
+
'display' => 'text',
|
3212 |
+
'height' => null,
|
3213 |
+
'default' => 'auto',
|
3214 |
+
'options' => null,
|
3215 |
+
'comment' => array(
|
3216 |
+
'EN' => '
|
3217 |
+
Switch fsSliderPosition instantly depending on certain conditions.
|
3218 |
+
This switch is only applied when fsSliderPosition value is
|
3219 |
+
"top-left", "top-right", "bottom-left" or "bottom-right".
|
3220 |
+
Possible values are "auto" or integer;
|
3221 |
+
When "auto" is enabled an alternative position will be chosen depending
|
3222 |
+
on screen being in portrait or landscape mode. If value of
|
3223 |
+
fsSliderPositionSwitch is integer, alternative position will be
|
3224 |
+
only chosen if screen width (or height - depending on first value
|
3225 |
+
of fsSliderPosition before dash) is less than fsSliderPositionSwitch value.
|
3226 |
+
',
|
3227 |
+
'DE' => '
|
3228 |
+
Mögliche Werte: "auto" als String oder Integer.
|
3229 |
+
Auto bedeutet, je nachdem, ob der Bildschirm im Hochformat oder
|
3230 |
+
Landscape-Modus ist, wird der erste oder zweite Wert aus "fsSliderReposition"
|
3231 |
+
automatisch passend zur Auflösung gewählt. Bei einer Zahl wird die zweite
|
3232 |
+
Position aus "fsSliderReposition" genommen, wenn die Bildschirmbreite
|
3233 |
+
kleiner ist als diese Zahl und die Position passt.
|
3234 |
+
'
|
3235 |
+
)
|
3236 |
+
),
|
3237 |
+
|
3238 |
+
'fsSliderDimension' => array(
|
3239 |
+
'prefix' => 'AJAXZOOM',
|
3240 |
+
'category' => 'fullscreen_gallery',
|
3241 |
+
'type' => 'int',
|
3242 |
+
'isJsObject' => false,
|
3243 |
+
'isJsArray' => false,
|
3244 |
+
'display' => 'text',
|
3245 |
+
'height' => null,
|
3246 |
+
'default' => 80,
|
3247 |
+
'options' => null,
|
3248 |
+
'comment' => array(
|
3249 |
+
'EN' => '
|
3250 |
+
Width or height of the container for fullscreen slider
|
3251 |
+
(depends on if it is vertical or horizontal).
|
3252 |
+
',
|
3253 |
+
'DE' => '
|
3254 |
+
Breite oder Höhe (je nach Position) des Containers in dem
|
3255 |
+
der Vollbild Galerie angezeigt wird.
|
3256 |
+
'
|
3257 |
+
)
|
3258 |
+
),
|
3259 |
+
|
3260 |
+
'fsSliderThumbAutoSize' => array(
|
3261 |
+
'prefix' => 'AJAXZOOM',
|
3262 |
+
'category' => 'fullscreen_gallery',
|
3263 |
+
'type' => 'bool',
|
3264 |
+
'isJsObject' => false,
|
3265 |
+
'isJsArray' => false,
|
3266 |
+
'display' => 'switch',
|
3267 |
+
'height' => null,
|
3268 |
+
'default' => true,
|
3269 |
+
'options' => null,
|
3270 |
+
'comment' => array(
|
3271 |
+
'EN' => '
|
3272 |
+
Adjust fsSliderDimension depending on
|
3273 |
+
fsAxZmThumbSliderParam instantly (to be improved).
|
3274 |
+
',
|
3275 |
+
'DE' => '
|
3276 |
+
CSS werte für Vollbild Galerie Miniaturansichten
|
3277 |
+
automatisch in Abhängigkeit von "fsSliderDimension" setzen.
|
3278 |
+
'
|
3279 |
+
)
|
3280 |
+
),
|
3281 |
+
|
3282 |
+
'fsSliderThumbAutoMargin' => array(
|
3283 |
+
'prefix' => 'AJAXZOOM',
|
3284 |
+
'category' => 'fullscreen_gallery',
|
3285 |
+
'type' => 'int',
|
3286 |
+
'isJsObject' => false,
|
3287 |
+
'isJsArray' => false,
|
3288 |
+
'display' => 'text',
|
3289 |
+
'height' => null,
|
3290 |
+
'default' => 7,
|
3291 |
+
'options' => null,
|
3292 |
+
'comment' => array(
|
3293 |
+
'EN' => '
|
3294 |
+
Thumbnails margin when fsSliderThumbAutoSize is enabled.
|
3295 |
+
',
|
3296 |
+
'DE' => '
|
3297 |
+
Anstand der Miniaturansichten wenn "fsSliderThumbAutoSize" eingeschaltet ist.
|
3298 |
+
'
|
3299 |
+
)
|
3300 |
+
),
|
3301 |
+
|
3302 |
+
'fsSliderThumbAutoExtend' => array(
|
3303 |
+
'prefix' => 'AJAXZOOM',
|
3304 |
+
'category' => 'fullscreen_gallery',
|
3305 |
+
'type' => 'int',
|
3306 |
+
'isJsObject' => false,
|
3307 |
+
'isJsArray' => false,
|
3308 |
+
'display' => 'text',
|
3309 |
+
'height' => null,
|
3310 |
+
'default' => 0,
|
3311 |
+
'options' => null,
|
3312 |
+
'comment' => array(
|
3313 |
+
'EN' => '
|
3314 |
+
Extend slider width / height by this pixel value when set instantly.
|
3315 |
+
',
|
3316 |
+
'DE' => '
|
3317 |
+
Erweitern die Breite bzw. Höhe der Vollbild Galerie um einen festen Wert,
|
3318 |
+
wenn "fsSliderThumbAutoSize" eingeschaltet ist.
|
3319 |
+
'
|
3320 |
+
)
|
3321 |
+
),
|
3322 |
+
|
3323 |
+
'fsSliderThumbDescr' => array(
|
3324 |
+
'prefix' => 'AJAXZOOM',
|
3325 |
+
'category' => 'fullscreen_gallery',
|
3326 |
+
'type' => 'bool',
|
3327 |
+
'isJsObject' => false,
|
3328 |
+
'isJsArray' => false,
|
3329 |
+
'display' => 'switch',
|
3330 |
+
'height' => null,
|
3331 |
+
'default' => false,
|
3332 |
+
'options' => null,
|
3333 |
+
'comment' => array(
|
3334 |
+
'EN' => '
|
3335 |
+
Dummy for future implementation (todo).
|
3336 |
+
',
|
3337 |
+
'DE' => '
|
3338 |
+
Dummy für künftige Implementierung (todo).
|
3339 |
+
'
|
3340 |
+
)
|
3341 |
+
),
|
3342 |
+
|
3343 |
+
'fsSliderMinSize' => array(
|
3344 |
+
'prefix' => 'AJAXZOOM',
|
3345 |
+
'category' => 'fullscreen_gallery',
|
3346 |
+
'type' => 'int',
|
3347 |
+
'isJsObject' => false,
|
3348 |
+
'isJsArray' => false,
|
3349 |
+
'display' => 'text',
|
3350 |
+
'height' => null,
|
3351 |
+
'default' => 400,
|
3352 |
+
'options' => null,
|
3353 |
+
'comment' => array(
|
3354 |
+
'EN' => '
|
3355 |
+
Minimal size of the player for fullscreen gallery to be shown.
|
3356 |
+
',
|
3357 |
+
'DE' => '
|
3358 |
+
Minimale Größe des Players, damit die Vollbild Galerie angezeigt wird.
|
3359 |
+
'
|
3360 |
+
)
|
3361 |
+
),
|
3362 |
+
|
3363 |
+
'fsSliderGalleryFadeInAnm' => array(
|
3364 |
+
'prefix' => 'AJAXZOOM',
|
3365 |
+
'category' => 'fullscreen_gallery',
|
3366 |
+
'type' => 'string',
|
3367 |
+
'isJsObject' => false,
|
3368 |
+
'isJsArray' => false,
|
3369 |
+
'display' => 'select',
|
3370 |
+
'height' => null,
|
3371 |
+
'default' => 'Center',
|
3372 |
+
'options' => array(
|
3373 |
+
array('Center', 'Center'),
|
3374 |
+
array('Top', 'Top'),
|
3375 |
+
array('Right', 'Right'),
|
3376 |
+
array('Bottom', 'Bottom'),
|
3377 |
+
array('Left', 'Left'),
|
3378 |
+
array('StretchVert', 'StretchVert'),
|
3379 |
+
array('StretchHorz', 'StretchHorz'),
|
3380 |
+
array('SwipeHorz', 'SwipeHorz'),
|
3381 |
+
array('SwipeVert', 'SwipeVert'),
|
3382 |
+
array('Vert', 'Vert'),
|
3383 |
+
array('Horz', 'Horz')
|
3384 |
+
),
|
3385 |
+
'comment' => array(
|
3386 |
+
'EN' => '
|
3387 |
+
Switching animation between images in fullscreen mode.
|
3388 |
+
Possible values: "Center", "Top", "Right", "Bottom", "Left",
|
3389 |
+
"StretchVert", "StretchHorz", "SwipeHorz", "SwipeVert", "Vert", "Horz".
|
3390 |
+
',
|
3391 |
+
'DE' => '
|
3392 |
+
Animation beim Umschalten zwischen den Bildern.
|
3393 |
+
Mögliche Werte sind: "Center", "Top", "Right", "Bottom", "Left",
|
3394 |
+
"StretchVert", "StretchHorz", "SwipeHorz", "SwipeVert", "Vert", "Horz".
|
3395 |
+
'
|
3396 |
+
)
|
3397 |
+
),
|
3398 |
+
|
3399 |
+
'fsSliderNotParent' => array(
|
3400 |
+
'prefix' => 'AJAXZOOM',
|
3401 |
+
'category' => 'fullscreen_gallery',
|
3402 |
+
'type' => 'string',
|
3403 |
+
'isJsObject' => false,
|
3404 |
+
'isJsArray' => false,
|
3405 |
+
'display' => 'text',
|
3406 |
+
'height' => null,
|
3407 |
+
'default' => 'axZm_mouseOverSpinWrapper',
|
3408 |
+
'options' => null,
|
3409 |
+
'comment' => array(
|
3410 |
+
'EN' => '
|
3411 |
+
Prevent showing fullscreen gallery when the parent container
|
3412 |
+
matches the id or CSS class represented as string in this option value,
|
3413 |
+
e.g. "az_mouseOverZoomContainer".
|
3414 |
+
For more than one value split them with vertical dash.
|
3415 |
+
',
|
3416 |
+
'DE' => '
|
3417 |
+
Verhindert das Anzeigen der Vollbild Galerie, wenn
|
3418 |
+
übergeordneter Container den Wert dieser Option als ID oder
|
3419 |
+
CSS Klasse entspricht, z.B. "az_mouseOverZoomContainer".
|
3420 |
+
Für mehrere Werte können diese mit einem vertikalen Strich
|
3421 |
+
in einem String getrennt werden.
|
3422 |
+
'
|
3423 |
+
)
|
3424 |
+
),
|
3425 |
+
|
3426 |
+
'onGallerySwitch' => array(
|
3427 |
+
'prefix' => 'AJAXZOOM',
|
3428 |
+
'category' => 'fullscreen_gallery',
|
3429 |
+
'type' => 'function',
|
3430 |
+
'isJsObject' => false,
|
3431 |
+
'isJsArray' => false,
|
3432 |
+
'display' => 'text',
|
3433 |
+
'height' => null,
|
3434 |
+
'default' => null,
|
3435 |
+
'options' => null,
|
3436 |
+
'comment' => array(
|
3437 |
+
'EN' => '
|
3438 |
+
Callback function triggered every time an item is switched.
|
3439 |
+
The function receives 4 argumets: index of the item, item information as object,
|
3440 |
+
mouseover instance and gallery instance.
|
3441 |
+
In AJAX-ZOOM modules avoid writing the actual functions, instead pass a reference,
|
3442 |
+
e.g. window.myCustomFunc
|
3443 |
+
',
|
3444 |
+
'DE' => '
|
3445 |
+
Callback-Funktion ausgelöst, wenn ein Element umgeschaltet wird.
|
3446 |
+
Die Funktion erhält 4 Argumete: Index des Items, Item Information als
|
3447 |
+
Objekt, Mouseover Instanz und Galerie Instanz.
|
3448 |
+
In AJAX-ZOOM Modulen meiden Sie es die Funktion selbst zu schreiben,
|
3449 |
+
stattdessen referenzieren Sie einfach, z.B. window.myCustomFunc
|
3450 |
+
'
|
3451 |
+
)
|
3452 |
+
),
|
3453 |
+
|
3454 |
+
// mouseover settings
|
3455 |
+
'position' => array(
|
3456 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3457 |
+
'category' => 'mouseover',
|
3458 |
+
'important' => true,
|
3459 |
+
'type' => 'string',
|
3460 |
+
'isJsObject' => false,
|
3461 |
+
'isJsArray' => false,
|
3462 |
+
'useful' => true,
|
3463 |
+
'display' => 'select',
|
3464 |
+
'height' => null,
|
3465 |
+
'default' => 'right',
|
3466 |
+
'options' => array(
|
3467 |
+
array('inside', 'inside'),
|
3468 |
+
array('top', 'top'),
|
3469 |
+
array('right', 'right'),
|
3470 |
+
array('bottom', 'bottom'),
|
3471 |
+
array('left', 'left')
|
3472 |
+
),
|
3473 |
+
'comment' => array(
|
3474 |
+
'EN' => '
|
3475 |
+
Position of the flyout zoom window, possible values:
|
3476 |
+
"inside", "top", "right", "bottom", "left".
|
3477 |
+
',
|
3478 |
+
'DE' => '
|
3479 |
+
Position des mouseover Zoom Fensters,
|
3480 |
+
mögliche Werte: "inside", "top", "right", "bottom", "left".
|
3481 |
+
'
|
3482 |
+
)
|
3483 |
+
),
|
3484 |
+
|
3485 |
+
'posAutoInside' => array(
|
3486 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3487 |
+
'category' => 'mouseover',
|
3488 |
+
'type' => 'int',
|
3489 |
+
'isJsObject' => false,
|
3490 |
+
'isJsArray' => false,
|
3491 |
+
'display' => 'text',
|
3492 |
+
'height' => null,
|
3493 |
+
'default' => 150,
|
3494 |
+
'options' => null,
|
3495 |
+
'comment' => array(
|
3496 |
+
'EN' => '
|
3497 |
+
Applies when width (left, right) or height (top, bottom)
|
3498 |
+
of zoom window are less than this px value
|
3499 |
+
(zoomWidth || zoomHeight are set to auto);
|
3500 |
+
if zoomWidth || zoomHeight are fixed,
|
3501 |
+
applies when zoom window is out of page border.
|
3502 |
+
',
|
3503 |
+
'DE' => '
|
3504 |
+
Automatische Umschaltung von "position" Option auf "inside" wenn
|
3505 |
+
Breite oder Höhe des Zoom Fensters diesen Wert unterschreitet und
|
3506 |
+
(zoomWidth || zoomHeight werden automatisch gesetzt).
|
3507 |
+
Wenn zoomWidth || zoomHeight fixe Angaben sind, dann
|
3508 |
+
wird diese Unschaltung angewandt, wenn das Zoom Fenster
|
3509 |
+
nicht ganz zu sehen wäre.
|
3510 |
+
'
|
3511 |
+
)
|
3512 |
+
),
|
3513 |
+
|
3514 |
+
'touchScroll' => array(
|
3515 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3516 |
+
'category' => 'mouseover',
|
3517 |
+
'type' => 'float',
|
3518 |
+
'isJsObject' => false,
|
3519 |
+
'isJsArray' => false,
|
3520 |
+
'display' => 'text',
|
3521 |
+
'height' => null,
|
3522 |
+
'default' => 0.8,
|
3523 |
+
'options' => null,
|
3524 |
+
'comment' => array(
|
3525 |
+
'EN' => '
|
3526 |
+
If width of the mouseover zoom container is more than 80% (0.8) of the window width,
|
3527 |
+
then for touch devises the inner zoom will be not
|
3528 |
+
triggered and the user can scroll down.
|
3529 |
+
Click for open AJAX-ZOOM remains.
|
3530 |
+
Set this value to 0 if you want to enable the slider for touch devices only.
|
3531 |
+
',
|
3532 |
+
'DE' => '
|
3533 |
+
Wenn Preview Container breiter ist, als 80% (0.8) des Browser Fensters,
|
3534 |
+
dann wird für touch Devices das inner zoom deaktiviert und der user kann
|
3535 |
+
runterscrollen. Klick für AJAX-ZOOM bleibt.
|
3536 |
+
Wenn dieser Wert 0 ist, dann wird diese Funktion
|
3537 |
+
des Sliders nur für Touch-Geräte Aktiviert.
|
3538 |
+
'
|
3539 |
+
)
|
3540 |
+
),
|
3541 |
+
|
3542 |
+
'noMouseOverZoom' => array(
|
3543 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3544 |
+
'category' => 'mouseover',
|
3545 |
+
'type' => 'bool',
|
3546 |
+
'isJsObject' => false,
|
3547 |
+
'isJsArray' => false,
|
3548 |
+
'display' => 'switch',
|
3549 |
+
'height' => null,
|
3550 |
+
'default' => false,
|
3551 |
+
'options' => null,
|
3552 |
+
'comment' => array(
|
3553 |
+
'EN' => '
|
3554 |
+
Disable mouseover zoom for all devices.
|
3555 |
+
',
|
3556 |
+
'DE' => '
|
3557 |
+
Mouseover zoom komplett deaktivieren.
|
3558 |
+
Wenn Sie dies nur für touch Devices aktivieren wollen, dann setzen Sie
|
3559 |
+
"touchScroll" Option auf 0.
|
3560 |
+
'
|
3561 |
+
)
|
3562 |
+
),
|
3563 |
+
|
3564 |
+
'noMouseOverZoomTouch' => array(
|
3565 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3566 |
+
'category' => 'mouseover',
|
3567 |
+
'type' => 'bool',
|
3568 |
+
'isJsObject' => false,
|
3569 |
+
'isJsArray' => false,
|
3570 |
+
'display' => 'switch',
|
3571 |
+
'height' => null,
|
3572 |
+
'default' => true,
|
3573 |
+
'options' => null,
|
3574 |
+
'comment' => array(
|
3575 |
+
'EN' => '
|
3576 |
+
Enable "noMouseOverZoom" only for touch devices
|
3577 |
+
(mouseover zoom works for touch devices too but is not very convenient
|
3578 |
+
so this option is enabled on default now).
|
3579 |
+
',
|
3580 |
+
'DE' => '
|
3581 |
+
Aktivieren der "noMouseOverZoom" Option nur für Touch-Geräte.
|
3582 |
+
(Mouseover-Zoom funktioniert auch für Touch-Geräte,
|
3583 |
+
es ist aber nicht sehr bequem, so dass diese Option
|
3584 |
+
jetzt standardmäßig aktiviert ist).
|
3585 |
+
'
|
3586 |
+
)
|
3587 |
+
),
|
3588 |
+
|
3589 |
+
'noMouseOverZoomInside' => array(
|
3590 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3591 |
+
'category' => 'mouseover',
|
3592 |
+
'type' => 'bool',
|
3593 |
+
'isJsObject' => false,
|
3594 |
+
'isJsArray' => false,
|
3595 |
+
'display' => 'switch',
|
3596 |
+
'height' => null,
|
3597 |
+
'default' => false,
|
3598 |
+
'options' => null,
|
3599 |
+
'comment' => array(
|
3600 |
+
'EN' => '
|
3601 |
+
Disable mouseover zoom if it is \'inside\' (inner zoom).
|
3602 |
+
',
|
3603 |
+
'DE' => '
|
3604 |
+
Mouseover-Zoom deaktivieren, wenn es "inside" ist.
|
3605 |
+
'
|
3606 |
+
)
|
3607 |
+
),
|
3608 |
+
|
3609 |
+
'noMouseOverZoomInsideTouch' => array(
|
3610 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3611 |
+
'category' => 'mouseover',
|
3612 |
+
'type' => 'bool',
|
3613 |
+
'isJsObject' => false,
|
3614 |
+
'isJsArray' => false,
|
3615 |
+
'display' => 'switch',
|
3616 |
+
'height' => null,
|
3617 |
+
'default' => true,
|
3618 |
+
'options' => null,
|
3619 |
+
'comment' => array(
|
3620 |
+
'EN' => '
|
3621 |
+
Disable mouseover zoom if it is inside (inner zoom) and touch event.
|
3622 |
+
',
|
3623 |
+
'DE' => '
|
3624 |
+
Mouseover-Zoom deaktivieren,
|
3625 |
+
wenn es "inside" ist und es sich um Touch-Geräte handelt.
|
3626 |
+
'
|
3627 |
+
)
|
3628 |
+
),
|
3629 |
+
|
3630 |
+
'mouseOverZoomHybrid' => array(
|
3631 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3632 |
+
'category' => 'mouseover',
|
3633 |
+
'important' => true,
|
3634 |
+
'type' => 'bool',
|
3635 |
+
'isJsObject' => false,
|
3636 |
+
'isJsArray' => false,
|
3637 |
+
'display' => 'switch',
|
3638 |
+
'height' => null,
|
3639 |
+
'default' => true,
|
3640 |
+
'options' => null,
|
3641 |
+
'comment' => array(
|
3642 |
+
'EN' => '
|
3643 |
+
Enable mouseover zoom and slider at the same time for not touch devices.
|
3644 |
+
',
|
3645 |
+
'DE' => '
|
3646 |
+
Aktivieren des Mouseover-Zoom und Sliders für Vorschaubilder
|
3647 |
+
gleichzeitig für nicht Touch-Geräte.
|
3648 |
+
'
|
3649 |
+
)
|
3650 |
+
),
|
3651 |
+
|
3652 |
+
'slideTouchTime' => array(
|
3653 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3654 |
+
'category' => 'mouseover',
|
3655 |
+
'type' => 'int',
|
3656 |
+
'isJsObject' => false,
|
3657 |
+
'isJsArray' => false,
|
3658 |
+
'display' => 'text',
|
3659 |
+
'height' => null,
|
3660 |
+
'default' => 200,
|
3661 |
+
'options' => null,
|
3662 |
+
'comment' => array(
|
3663 |
+
'EN' => '
|
3664 |
+
Slide time in ms after touch and drag.
|
3665 |
+
',
|
3666 |
+
'DE' => '
|
3667 |
+
Slide Zeit in ms nach Berühren und ziehen.
|
3668 |
+
'
|
3669 |
+
)
|
3670 |
+
),
|
3671 |
+
|
3672 |
+
'slideTime' => array(
|
3673 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3674 |
+
'category' => 'mouseover',
|
3675 |
+
'type' => 'int',
|
3676 |
+
'isJsObject' => false,
|
3677 |
+
'isJsArray' => false,
|
3678 |
+
'display' => 'text',
|
3679 |
+
'height' => null,
|
3680 |
+
'default' => 300,
|
3681 |
+
'options' => null,
|
3682 |
+
'comment' => array(
|
3683 |
+
'EN' => '
|
3684 |
+
Slide time after clicked on prev / next buttons.
|
3685 |
+
',
|
3686 |
+
'DE' => '
|
3687 |
+
Slide Zeit in ms nach klicken auf prev / next Tasten.
|
3688 |
+
'
|
3689 |
+
)
|
3690 |
+
),
|
3691 |
+
|
3692 |
+
'posInsideArea' => array(
|
3693 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3694 |
+
'category' => 'mouseover',
|
3695 |
+
'type' => 'float',
|
3696 |
+
'isJsObject' => false,
|
3697 |
+
'isJsArray' => false,
|
3698 |
+
'display' => 'text',
|
3699 |
+
'height' => null,
|
3700 |
+
'default' => 0.2,
|
3701 |
+
'options' => null,
|
3702 |
+
'comment' => array(
|
3703 |
+
'EN' => '
|
3704 |
+
When "posAutoInside" is enabled and inner zoom fires or "position"
|
3705 |
+
option is set to \'inside\' right away - there is no lens.
|
3706 |
+
However you will notice that the reaction to mouse movements occure somewhere
|
3707 |
+
in the middle of the image;
|
3708 |
+
at the edges mostly nothing happens in similar scripts.
|
3709 |
+
With this option you can adjust how far from
|
3710 |
+
the edge mouse movements should be captured.
|
3711 |
+
The range is between 0 and 0.5;
|
3712 |
+
',
|
3713 |
+
'DE' => '
|
3714 |
+
Wenn "posAutoInside" eingeschaltet ist und Inner Zoom eingeschaltet wird,
|
3715 |
+
bzw. "position" ist bereits auf \'inside\' eingestellt,
|
3716 |
+
dann ist die Linse nicht sichtbar. Je nach Größe des Bildes wird man dann merken,
|
3717 |
+
dass nur innerhalb des Zentrums des Bildes das Innere Zoom bewegt wird.
|
3718 |
+
Mit dieser Option kann dem entgegengewirkt werden.
|
3719 |
+
Der Wertebereich liegt zwischen 0 und 0.5;
|
3720 |
+
'
|
3721 |
+
)
|
3722 |
+
),
|
3723 |
+
|
3724 |
+
'autoFlip' => array(
|
3725 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3726 |
+
'category' => 'mouseover',
|
3727 |
+
'type' => 'int',
|
3728 |
+
'isJsObject' => false,
|
3729 |
+
'isJsArray' => false,
|
3730 |
+
'display' => 'text',
|
3731 |
+
'height' => null,
|
3732 |
+
'default' => 200,
|
3733 |
+
'options' => null,
|
3734 |
+
'comment' => array(
|
3735 |
+
'EN' => '
|
3736 |
+
Flip right to left and bottom to top if less than int px value or false to disable.
|
3737 |
+
',
|
3738 |
+
'DE' => '
|
3739 |
+
Automatische Umkehren der Position right - left und bottom - top wenn
|
3740 |
+
Breite bzw. Höhe kleiner als dieser Wert sind. Setzen Sie diese Option auf false um
|
3741 |
+
sie auszuschalten.
|
3742 |
+
'
|
3743 |
+
)
|
3744 |
+
),
|
3745 |
+
|
3746 |
+
'biggestSpace' => array(
|
3747 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3748 |
+
'category' => 'mouseover',
|
3749 |
+
'type' => 'bool',
|
3750 |
+
'isJsObject' => false,
|
3751 |
+
'isJsArray' => false,
|
3752 |
+
'display' => 'switch',
|
3753 |
+
'height' => null,
|
3754 |
+
'default' => false,
|
3755 |
+
'options' => null,
|
3756 |
+
'comment' => array(
|
3757 |
+
'EN' => '
|
3758 |
+
Overrides position option and instantly chooses the direction,
|
3759 |
+
disables autoFlip; plays nicely when zoomWidth and zoomHeight are set to \'auto\'.
|
3760 |
+
',
|
3761 |
+
'DE' => '
|
3762 |
+
Wenn diese Option aktiviert ist, dann wird das Zoom Fenster im Browser dort angezeigt,
|
3763 |
+
wo am meisten Platz ist. Funktioniert gut, wenn "zoomWidth" und "zoomHeight" auf
|
3764 |
+
\'auto\' gesetzt sind.
|
3765 |
+
'
|
3766 |
+
)
|
3767 |
+
),
|
3768 |
+
|
3769 |
+
'zoomFullSpace' => array(
|
3770 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3771 |
+
'category' => 'mouseover',
|
3772 |
+
'type' => 'bool',
|
3773 |
+
'isJsObject' => false,
|
3774 |
+
'isJsArray' => false,
|
3775 |
+
'display' => 'switch',
|
3776 |
+
'height' => null,
|
3777 |
+
'default' => false,
|
3778 |
+
'options' => null,
|
3779 |
+
'comment' => array(
|
3780 |
+
'EN' => '
|
3781 |
+
Uses full screen height (does not align to the map / disables adjustY)
|
3782 |
+
if position is right or left || uses full screen width
|
3783 |
+
(does not align to the map / disables adjustX)
|
3784 |
+
if position is top or bottom.
|
3785 |
+
',
|
3786 |
+
'DE' => '
|
3787 |
+
Durch die Aktivierung dieser Option wird die volle Breite im Browser ausgenutzt,
|
3788 |
+
wenn "position" right oder left ist. Wenn "position" top oder bottom ist,
|
3789 |
+
dann wird volle Höhe ausgenutzt.
|
3790 |
+
'
|
3791 |
+
)
|
3792 |
+
),
|
3793 |
+
|
3794 |
+
'zoomWidth' => array(
|
3795 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3796 |
+
'category' => 'mouseover',
|
3797 |
+
'type' => 'int, string',
|
3798 |
+
'isJsObject' => false,
|
3799 |
+
'isJsArray' => false,
|
3800 |
+
'important' => true,
|
3801 |
+
'display' => 'text',
|
3802 |
+
'height' => null,
|
3803 |
+
'default' => 530,
|
3804 |
+
'options' => null,
|
3805 |
+
'comment' => array(
|
3806 |
+
'EN' => '
|
3807 |
+
Width of the zoom window e.g. 540 or \'auto\' or
|
3808 |
+
jQuery selector|correction value, e.g. \'#refWidthTest|+20\';
|
3809 |
+
so if you want to have a width of the zoom window same as
|
3810 |
+
for example a responsive container
|
3811 |
+
to the right (so it is fully covered) and max possible height,
|
3812 |
+
then define the id of this container to the right,
|
3813 |
+
e.g. \'myArticleData\', set "zoomWidth"
|
3814 |
+
to \'#myArticleData|+10\' and "zoomHeight" to \'auto\'.
|
3815 |
+
If you have a three column design and want to cover both containers to the right,
|
3816 |
+
then just define both containers in the jQuery selector,
|
3817 |
+
e.g. \'.pb-center-column,.pb-right-column|+20\';
|
3818 |
+
the margin between the containers is not taken into account
|
3819 |
+
but you can adjust the result with the second value after vertical bar.
|
3820 |
+
',
|
3821 |
+
'DE' => '
|
3822 |
+
Breite des Zoom Fensters, z.B. 540 oder \'auto\'.
|
3823 |
+
Man kann aber auch einen jQuery Selector selector|correction als Referenz angeben mit
|
3824 |
+
zusätzlichen Korrekturwert, z.B. \'#refWidthTest|+20\';
|
3825 |
+
wenn Sie also die Breite gleich einem anderen responsiven
|
3826 |
+
Container rechts von der Voransicht einstellen wollen,
|
3827 |
+
so dass es voll überdeckt wird und möglichst maximale Höhe
|
3828 |
+
erreichen wollen, dann definieren Sie am besten eine ID für diesen Container rechts,
|
3829 |
+
z.B. \'myArticleData\', setzen dann "zoomWidth" auf \'#myArticleData|+10\'
|
3830 |
+
und "zoomHeight" auf \'auto\'. Sie können aber auch mehrere Elemente überdecken,
|
3831 |
+
z.B. \'.pb-center-column,.pb-right-column|+20\'.
|
3832 |
+
Die Abstände zwischen den beiden Containern werden nicht mitberechnet,
|
3833 |
+
können aber meist über Korrekturwert ausgeglichen werden.
|
3834 |
+
'
|
3835 |
+
)
|
3836 |
+
),
|
3837 |
+
|
3838 |
+
'zoomHeight' => array(
|
3839 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3840 |
+
'category' => 'mouseover',
|
3841 |
+
'type' => 'int, string',
|
3842 |
+
'isJsObject' => false,
|
3843 |
+
'isJsArray' => false,
|
3844 |
+
'important' => true,
|
3845 |
+
'display' => 'text',
|
3846 |
+
'height' => null,
|
3847 |
+
'default' => 450,
|
3848 |
+
'options' => null,
|
3849 |
+
'comment' => array(
|
3850 |
+
'EN' => '
|
3851 |
+
Height of the zoom window e.g. 375, or \'auto\' or jQuery selector|correction value,
|
3852 |
+
e.g. \'#refWidthTest|+20\'; if your selector matches more than one element,
|
3853 |
+
e.g. \'.pb-center-column,.pb-right-column|+20\', then
|
3854 |
+
the highest value will be chosen. This is different from
|
3855 |
+
the multiple selector in "zoomWidth", where the values are added.
|
3856 |
+
',
|
3857 |
+
'DE' => '
|
3858 |
+
Höhe des Zoom Fensters, z.B. 375, \'auto\' oder jQuery selector|correction als Referenz
|
3859 |
+
mit zusätzlichen Korrekturwert, z.B. \'#refWidthTest|+20\'.
|
3860 |
+
Wenn der Selector mehr als ein Element umfasst, dann wird anderes als bei "zoomWidth"
|
3861 |
+
der höchste Höhenwert genommen.
|
3862 |
+
'
|
3863 |
+
)
|
3864 |
+
),
|
3865 |
+
|
3866 |
+
'autoMargin' => array(
|
3867 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3868 |
+
'category' => 'mouseover',
|
3869 |
+
'type' => 'int',
|
3870 |
+
'isJsObject' => false,
|
3871 |
+
'isJsArray' => false,
|
3872 |
+
'display' => 'text',
|
3873 |
+
'height' => null,
|
3874 |
+
'default' => 15,
|
3875 |
+
'options' => null,
|
3876 |
+
'comment' => array(
|
3877 |
+
'EN' => '
|
3878 |
+
If zoomWidth or zoomHeight are set to \'auto\', the margin to the edge of the screen.
|
3879 |
+
',
|
3880 |
+
'DE' => '
|
3881 |
+
Wenn "zoomWidth" oder "zoomHeight" auf \'auto\' gesetzt sind,
|
3882 |
+
ist dieser Wert der automatische Abstand vom Rand des Browser Fensters.
|
3883 |
+
'
|
3884 |
+
)
|
3885 |
+
),
|
3886 |
+
|
3887 |
+
'adjustX' => array(
|
3888 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3889 |
+
'category' => 'mouseover',
|
3890 |
+
'type' => 'int',
|
3891 |
+
'isJsObject' => false,
|
3892 |
+
'isJsArray' => false,
|
3893 |
+
'display' => 'text',
|
3894 |
+
'height' => null,
|
3895 |
+
'default' => 15,
|
3896 |
+
'options' => null,
|
3897 |
+
'comment' => array(
|
3898 |
+
'EN' => '
|
3899 |
+
Horizontal margin of the zoom window.
|
3900 |
+
',
|
3901 |
+
'DE' => '
|
3902 |
+
Horizontaler Versatz zwischen Voransicht und Zoom Fenster.
|
3903 |
+
'
|
3904 |
+
)
|
3905 |
+
),
|
3906 |
+
|
3907 |
+
'adjustY' => array(
|
3908 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3909 |
+
'category' => 'mouseover',
|
3910 |
+
'type' => 'int',
|
3911 |
+
'isJsObject' => false,
|
3912 |
+
'isJsArray' => false,
|
3913 |
+
'display' => 'text',
|
3914 |
+
'height' => null,
|
3915 |
+
'default' => -1,
|
3916 |
+
'options' => null,
|
3917 |
+
'comment' => array(
|
3918 |
+
'EN' => '
|
3919 |
+
Vertical margin of the zoom window.
|
3920 |
+
',
|
3921 |
+
'DE' => '
|
3922 |
+
Vertikaler Versatz zwischen Voransicht und Zoom Fenster.
|
3923 |
+
'
|
3924 |
+
)
|
3925 |
+
),
|
3926 |
+
|
3927 |
+
'lensOpacity' => array(
|
3928 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3929 |
+
'category' => 'mouseover',
|
3930 |
+
'type' => 'float',
|
3931 |
+
'isJsObject' => false,
|
3932 |
+
'isJsArray' => false,
|
3933 |
+
'display' => 'text',
|
3934 |
+
'height' => null,
|
3935 |
+
'default' => 1.0,
|
3936 |
+
'options' => null,
|
3937 |
+
'comment' => array(
|
3938 |
+
'EN' => '
|
3939 |
+
Opacity of the selector lens.
|
3940 |
+
',
|
3941 |
+
'DE' => '
|
3942 |
+
Durchsichtigkeit der Zoom Linse.
|
3943 |
+
'
|
3944 |
+
)
|
3945 |
+
),
|
3946 |
+
|
3947 |
+
'lensStyle' => array(
|
3948 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3949 |
+
'category' => 'mouseover',
|
3950 |
+
'type' => 'object',
|
3951 |
+
'isJsObject' => false,
|
3952 |
+
'isJsArray' => false,
|
3953 |
+
'display' => 'textarea',
|
3954 |
+
'height' => 50,
|
3955 |
+
'default' => '{}',
|
3956 |
+
'options' => null,
|
3957 |
+
'comment' => array(
|
3958 |
+
'EN' => '
|
3959 |
+
Quickly override CSS of the lens.
|
3960 |
+
',
|
3961 |
+
'DE' => '
|
3962 |
+
Hier kann man schnell Inline CSS reinschreiben.
|
3963 |
+
'
|
3964 |
+
)
|
3965 |
+
),
|
3966 |
+
|
3967 |
+
'lensClass' => array(
|
3968 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3969 |
+
'category' => 'mouseover',
|
3970 |
+
'type' => 'string',
|
3971 |
+
'isJsObject' => false,
|
3972 |
+
'isJsArray' => false,
|
3973 |
+
'display' => 'text',
|
3974 |
+
'height' => null,
|
3975 |
+
'default' => '',
|
3976 |
+
'options' => null,
|
3977 |
+
'comment' => array(
|
3978 |
+
'EN' => '
|
3979 |
+
Define CSS class for the lens.
|
3980 |
+
',
|
3981 |
+
'DE' => '
|
3982 |
+
Name der CSS Klasse für die Zoom Linse.
|
3983 |
+
'
|
3984 |
+
)
|
3985 |
+
),
|
3986 |
+
|
3987 |
+
'lensMessage' => array(
|
3988 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
3989 |
+
'category' => 'mouseover',
|
3990 |
+
'type' => 'object, string',
|
3991 |
+
'isJsObject' => true,
|
3992 |
+
'isJsArray' => false,
|
3993 |
+
'display' => 'textarea',
|
3994 |
+
'height' => 100,
|
3995 |
+
'default' => '{
|
3996 |
+
"en" : "Full screen",
|
3997 |
+
"de": "Vollbild",
|
3998 |
+
"fr": "Plein écran",
|
3999 |
+
"es": "Pantalla completa"
|
4000 |
+
}',
|
4001 |
+
'options' => null,
|
4002 |
+
'comment' => array(
|
4003 |
+
'EN' => '
|
4004 |
+
Text string on the lens.
|
4005 |
+
For more than one language define a js object,
|
4006 |
+
e.g. {"en": "english text", "de": "german text"}
|
4007 |
+
',
|
4008 |
+
'DE' => '
|
4009 |
+
Text in der Linse.
|
4010 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
4011 |
+
z.B. {"en": "english text", "de": "german text"}
|
4012 |
+
'
|
4013 |
+
)
|
4014 |
+
),
|
4015 |
+
|
4016 |
+
'zoomAreaBorderWidth' => array(
|
4017 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4018 |
+
'category' => 'mouseover',
|
4019 |
+
'type' => 'int',
|
4020 |
+
'isJsObject' => false,
|
4021 |
+
'isJsArray' => false,
|
4022 |
+
'display' => 'text',
|
4023 |
+
'height' => null,
|
4024 |
+
'default' => 1,
|
4025 |
+
'options' => null,
|
4026 |
+
'comment' => array(
|
4027 |
+
'EN' => '
|
4028 |
+
Border thickness of the zoom window.
|
4029 |
+
',
|
4030 |
+
'DE' => '
|
4031 |
+
Breite des Randes (Border) für das Zoom Fenster.
|
4032 |
+
'
|
4033 |
+
)
|
4034 |
+
),
|
4035 |
+
|
4036 |
+
'galleryFade' => array(
|
4037 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4038 |
+
'category' => 'mouseover',
|
4039 |
+
'type' => 'int, bool',
|
4040 |
+
'isJsObject' => false,
|
4041 |
+
'isJsArray' => false,
|
4042 |
+
'display' => 'text',
|
4043 |
+
'height' => null,
|
4044 |
+
'default' => 300,
|
4045 |
+
'options' => null,
|
4046 |
+
'comment' => array(
|
4047 |
+
'EN' => '
|
4048 |
+
Speed of inner fade or false.
|
4049 |
+
',
|
4050 |
+
'DE' => '
|
4051 |
+
Die Geschwindigkeit des Blendvorganges in ms
|
4052 |
+
beim Wechsel zwischen den Bildern oder false.
|
4053 |
+
'
|
4054 |
+
)
|
4055 |
+
),
|
4056 |
+
|
4057 |
+
'shutterSpeed' => array(
|
4058 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4059 |
+
'category' => 'mouseover',
|
4060 |
+
'type' => 'int, bool',
|
4061 |
+
'isJsObject' => false,
|
4062 |
+
'isJsArray' => false,
|
4063 |
+
'display' => 'text',
|
4064 |
+
'height' => null,
|
4065 |
+
'default' => 150,
|
4066 |
+
'options' => null,
|
4067 |
+
'comment' => array(
|
4068 |
+
'EN' => '
|
4069 |
+
Speed of shutter fadein or false; applies only
|
4070 |
+
if image proportions are different from container.
|
4071 |
+
',
|
4072 |
+
'DE' => '
|
4073 |
+
Die Geschwindigkeit der Anpassung von Proportionen
|
4074 |
+
während des Überblendvorgangs in ms oder false.
|
4075 |
+
'
|
4076 |
+
)
|
4077 |
+
),
|
4078 |
+
|
4079 |
+
'showFade' => array(
|
4080 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4081 |
+
'category' => 'mouseover',
|
4082 |
+
'type' => 'int',
|
4083 |
+
'isJsObject' => false,
|
4084 |
+
'isJsArray' => false,
|
4085 |
+
'display' => 'text',
|
4086 |
+
'height' => null,
|
4087 |
+
'default' => 300,
|
4088 |
+
'options' => null,
|
4089 |
+
'comment' => array(
|
4090 |
+
'EN' => '
|
4091 |
+
Speed of fade in for mouse over.
|
4092 |
+
',
|
4093 |
+
'DE' => '
|
4094 |
+
Geschwindigkeit des Einblendens von Zoom Fenster.
|
4095 |
+
'
|
4096 |
+
)
|
4097 |
+
),
|
4098 |
+
|
4099 |
+
'hideFade' => array(
|
4100 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4101 |
+
'category' => 'mouseover',
|
4102 |
+
'type' => 'int',
|
4103 |
+
'isJsObject' => false,
|
4104 |
+
'isJsArray' => false,
|
4105 |
+
'display' => 'text',
|
4106 |
+
'height' => null,
|
4107 |
+
'default' => 300,
|
4108 |
+
'options' => null,
|
4109 |
+
'comment' => array(
|
4110 |
+
'EN' => '
|
4111 |
+
Speed of fade out for mouse over.
|
4112 |
+
',
|
4113 |
+
'DE' => '
|
4114 |
+
Geschwindigkeit des Ausblendens von Zoom Fenster.
|
4115 |
+
'
|
4116 |
+
)
|
4117 |
+
),
|
4118 |
+
|
4119 |
+
'flyOutSpeed' => array(
|
4120 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4121 |
+
'category' => 'mouseover',
|
4122 |
+
'type' => 'int, bool',
|
4123 |
+
'isJsObject' => false,
|
4124 |
+
'isJsArray' => false,
|
4125 |
+
'display' => 'text',
|
4126 |
+
'height' => null,
|
4127 |
+
'default' => false,
|
4128 |
+
'options' => null,
|
4129 |
+
'comment' => array(
|
4130 |
+
'EN' => '
|
4131 |
+
Speed for flyout or false to disable.
|
4132 |
+
',
|
4133 |
+
'DE' => '
|
4134 |
+
Geschwindigkeit des "Ausfliegens" des Zoom Fensters in ms
|
4135 |
+
oder false zum Deaktivieren.
|
4136 |
+
'
|
4137 |
+
)
|
4138 |
+
),
|
4139 |
+
|
4140 |
+
'flyOutTransition' => array(
|
4141 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4142 |
+
'category' => 'mouseover',
|
4143 |
+
'type' => 'string',
|
4144 |
+
'isJsObject' => false,
|
4145 |
+
'isJsArray' => false,
|
4146 |
+
'display' => 'text',
|
4147 |
+
'height' => null,
|
4148 |
+
'default' => 'linear',
|
4149 |
+
'options' => null,
|
4150 |
+
'comment' => array(
|
4151 |
+
'EN' => '
|
4152 |
+
Transition of the flyout.
|
4153 |
+
',
|
4154 |
+
'DE' => '
|
4155 |
+
Typ der Transition für das "Ausfliegen" des Zoom Fensters.
|
4156 |
+
'
|
4157 |
+
)
|
4158 |
+
),
|
4159 |
+
|
4160 |
+
'flyOutOpacity' => array(
|
4161 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4162 |
+
'category' => 'mouseover',
|
4163 |
+
'type' => 'float',
|
4164 |
+
'isJsObject' => false,
|
4165 |
+
'isJsArray' => false,
|
4166 |
+
'display' => 'text',
|
4167 |
+
'height' => null,
|
4168 |
+
'default' => 0.6,
|
4169 |
+
'options' => null,
|
4170 |
+
'comment' => array(
|
4171 |
+
'EN' => '
|
4172 |
+
Initial opacity for flyout.
|
4173 |
+
',
|
4174 |
+
'DE' => '
|
4175 |
+
Anfängliche Durchsichtigkeit des Zoom Fensters beim "Ausfliegen".
|
4176 |
+
'
|
4177 |
+
)
|
4178 |
+
),
|
4179 |
+
|
4180 |
+
'flyBackSpeed' => array(
|
4181 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4182 |
+
'category' => 'mouseover',
|
4183 |
+
'type' => 'int, bool',
|
4184 |
+
'isJsObject' => false,
|
4185 |
+
'isJsArray' => false,
|
4186 |
+
'display' => 'text',
|
4187 |
+
'height' => null,
|
4188 |
+
'default' => false,
|
4189 |
+
'options' => null,
|
4190 |
+
'comment' => array(
|
4191 |
+
'EN' => '
|
4192 |
+
Speed for fly back or false to disable.
|
4193 |
+
',
|
4194 |
+
'DE' => '
|
4195 |
+
Geschwindigkeit des "Zurückfliegens" des Zoom Fensters in ms
|
4196 |
+
oder false zum Deaktivieren.
|
4197 |
+
'
|
4198 |
+
)
|
4199 |
+
),
|
4200 |
+
|
4201 |
+
'flyBackTransition' => array(
|
4202 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4203 |
+
'category' => 'mouseover',
|
4204 |
+
'type' => 'string',
|
4205 |
+
'isJsObject' => false,
|
4206 |
+
'isJsArray' => false,
|
4207 |
+
'display' => 'text',
|
4208 |
+
'height' => null,
|
4209 |
+
'default' => 'linear',
|
4210 |
+
'options' => null,
|
4211 |
+
'comment' => array(
|
4212 |
+
'EN' => '
|
4213 |
+
Transition type of the fly back.
|
4214 |
+
',
|
4215 |
+
'DE' => '
|
4216 |
+
Typ der Transition für das "Zurückfliegen" des Zoom Fensters.
|
4217 |
+
'
|
4218 |
+
)
|
4219 |
+
),
|
4220 |
+
|
4221 |
+
'flyBackOpacity' => array(
|
4222 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4223 |
+
'category' => 'mouseover',
|
4224 |
+
'type' => 'float',
|
4225 |
+
'isJsObject' => false,
|
4226 |
+
'isJsArray' => false,
|
4227 |
+
'display' => 'text',
|
4228 |
+
'height' => null,
|
4229 |
+
'default' => 0.2,
|
4230 |
+
'options' => null,
|
4231 |
+
'comment' => array(
|
4232 |
+
'EN' => '
|
4233 |
+
Final opacity of fly back.
|
4234 |
+
',
|
4235 |
+
'DE' => '
|
4236 |
+
Finale Durchsichtigkeit nach dem "Zurückfliegen".
|
4237 |
+
'
|
4238 |
+
)
|
4239 |
+
),
|
4240 |
+
|
4241 |
+
'autoScroll' => array(
|
4242 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4243 |
+
'category' => 'mouseover',
|
4244 |
+
'type' => 'bool',
|
4245 |
+
'isJsObject' => false,
|
4246 |
+
'isJsArray' => false,
|
4247 |
+
'display' => 'switch',
|
4248 |
+
'height' => null,
|
4249 |
+
'default' => false,
|
4250 |
+
'options' => null,
|
4251 |
+
'comment' => array(
|
4252 |
+
'EN' => '
|
4253 |
+
Scroll page when clicked on the thumb and the mouse over preview image
|
4254 |
+
is not fully visible.
|
4255 |
+
',
|
4256 |
+
'DE' => '
|
4257 |
+
Wenn auf die Galerie geklickt wird muss die Voransicht nicht ganz sichtbar sein,
|
4258 |
+
weil die Seite zu weit gescrollt wurde.
|
4259 |
+
Bei aktivieren dieser Option wird automatisch dorthin gescrollt,
|
4260 |
+
wo die Voransicht gänzlich sichtbar ist.
|
4261 |
+
'
|
4262 |
+
)
|
4263 |
+
),
|
4264 |
+
|
4265 |
+
'smoothMove' => array(
|
4266 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4267 |
+
'category' => 'mouseover',
|
4268 |
+
'type' => 'int',
|
4269 |
+
'isJsObject' => false,
|
4270 |
+
'isJsArray' => false,
|
4271 |
+
'useful' => true,
|
4272 |
+
'display' => 'text',
|
4273 |
+
'height' => null,
|
4274 |
+
'default' => 6,
|
4275 |
+
'options' => null,
|
4276 |
+
'comment' => array(
|
4277 |
+
'EN' => '
|
4278 |
+
Integer bigger than 1 indicates smoother movements. Set 0 to disable.
|
4279 |
+
',
|
4280 |
+
'DE' => '
|
4281 |
+
Geschmeidigkeit der Transition im Zoom Fenster.
|
4282 |
+
Zahl größer als 1 bedeutet mehr Geschmeidigkeit.
|
4283 |
+
Beim 0 wird die Geschmeidigkeit abgeschaltet.
|
4284 |
+
'
|
4285 |
+
)
|
4286 |
+
),
|
4287 |
+
|
4288 |
+
'tint' => array(
|
4289 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4290 |
+
'category' => 'mouseover',
|
4291 |
+
'type' => 'string, bool',
|
4292 |
+
'isJsObject' => false,
|
4293 |
+
'isJsArray' => false,
|
4294 |
+
'display' => 'text',
|
4295 |
+
'height' => null,
|
4296 |
+
'default' => false,
|
4297 |
+
'options' => null,
|
4298 |
+
'comment' => array(
|
4299 |
+
'EN' => '
|
4300 |
+
Color value around the lens or false.
|
4301 |
+
',
|
4302 |
+
'DE' => '
|
4303 |
+
Farbwert um die Linse herum oder false zum Deaktivieren.
|
4304 |
+
'
|
4305 |
+
)
|
4306 |
+
),
|
4307 |
+
|
4308 |
+
'tintOpacity' => array(
|
4309 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4310 |
+
'category' => 'mouseover',
|
4311 |
+
'type' => 'float',
|
4312 |
+
'isJsObject' => false,
|
4313 |
+
'isJsArray' => false,
|
4314 |
+
'display' => 'text',
|
4315 |
+
'height' => null,
|
4316 |
+
'default' => 0.3,
|
4317 |
+
'options' => null,
|
4318 |
+
'comment' => array(
|
4319 |
+
'EN' => '
|
4320 |
+
Opacity of the area around the lens when "tint" option is set to some color value.
|
4321 |
+
',
|
4322 |
+
'DE' => '
|
4323 |
+
Durchsichtigkeit der Fläche um die Linse herum, wenn
|
4324 |
+
"tint" Option einen Wert hat.
|
4325 |
+
'
|
4326 |
+
)
|
4327 |
+
),
|
4328 |
+
|
4329 |
+
'tintFilter' => array(
|
4330 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4331 |
+
'category' => 'mouseover',
|
4332 |
+
'type' => 'string, bool',
|
4333 |
+
'isJsObject' => false,
|
4334 |
+
'isJsArray' => false,
|
4335 |
+
'display' => 'text',
|
4336 |
+
'height' => null,
|
4337 |
+
'default' => false,
|
4338 |
+
'options' => null,
|
4339 |
+
'comment' => array(
|
4340 |
+
'EN' => '
|
4341 |
+
Apply filter to the image,
|
4342 |
+
e.g. "blur", "grayscale", "sepia", "lighten", "darken", "invert", "saturate";
|
4343 |
+
see also .axZm_mouseOverEffect>img CSS.
|
4344 |
+
',
|
4345 |
+
'DE' => '
|
4346 |
+
Man kann auch einen CSS Filter für die Fläche um die Linse herum anwenden.
|
4347 |
+
z.B. "blur", "grayscale", "sepia", "lighten", "darken", "invert", "saturate";
|
4348 |
+
siehe auch .axZm_mouseOverEffect>img CSS.
|
4349 |
+
'
|
4350 |
+
)
|
4351 |
+
),
|
4352 |
+
|
4353 |
+
'tintFilterBack' => array(
|
4354 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4355 |
+
'category' => 'mouseover',
|
4356 |
+
'type' => 'string',
|
4357 |
+
'isJsObject' => false,
|
4358 |
+
'isJsArray' => false,
|
4359 |
+
'display' => 'text',
|
4360 |
+
'height' => null,
|
4361 |
+
'default' => 'none',
|
4362 |
+
'options' => null,
|
4363 |
+
'comment' => array(
|
4364 |
+
'EN' => '
|
4365 |
+
Background-color if some "tintFilter" is enabled, e.g. #FFF
|
4366 |
+
',
|
4367 |
+
'DE' => '
|
4368 |
+
Background-color wenn ein "tintFilter" eiingeschaltet ist, z.B. #FFF
|
4369 |
+
'
|
4370 |
+
)
|
4371 |
+
),
|
4372 |
+
|
4373 |
+
'tintLensBack' => array(
|
4374 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4375 |
+
'category' => 'mouseover',
|
4376 |
+
'type' => 'bool',
|
4377 |
+
'isJsObject' => false,
|
4378 |
+
'isJsArray' => false,
|
4379 |
+
'display' => 'switch',
|
4380 |
+
'height' => null,
|
4381 |
+
'default' => true,
|
4382 |
+
'options' => null,
|
4383 |
+
'comment' => array(
|
4384 |
+
'EN' => '
|
4385 |
+
Show background image in the lens.
|
4386 |
+
',
|
4387 |
+
'DE' => '
|
4388 |
+
Hintergrundbild in der Linse anzeigen.
|
4389 |
+
'
|
4390 |
+
)
|
4391 |
+
),
|
4392 |
+
|
4393 |
+
'showTitle' => array(
|
4394 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4395 |
+
'category' => 'mouseover',
|
4396 |
+
'type' => 'bool',
|
4397 |
+
'isJsObject' => false,
|
4398 |
+
'isJsArray' => false,
|
4399 |
+
'display' => 'switch',
|
4400 |
+
'height' => null,
|
4401 |
+
'default' => false,
|
4402 |
+
'options' => null,
|
4403 |
+
'comment' => array(
|
4404 |
+
'EN' => '
|
4405 |
+
Enable / disable title on zoom window
|
4406 |
+
',
|
4407 |
+
'DE' => '
|
4408 |
+
Titel im Zoom Fenster anzeigen.
|
4409 |
+
'
|
4410 |
+
)
|
4411 |
+
),
|
4412 |
+
|
4413 |
+
'titlePosition' => array(
|
4414 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4415 |
+
'category' => 'mouseover',
|
4416 |
+
'type' => 'string',
|
4417 |
+
'isJsObject' => false,
|
4418 |
+
'isJsArray' => false,
|
4419 |
+
'display' => 'select',
|
4420 |
+
'height' => null,
|
4421 |
+
'default' => 'top',
|
4422 |
+
'options' => array(
|
4423 |
+
array('top', 'top'),
|
4424 |
+
array('bottom', 'bottom'),
|
4425 |
+
array('above', 'above')
|
4426 |
+
),
|
4427 |
+
'comment' => array(
|
4428 |
+
'EN' => '
|
4429 |
+
Position of the title, possible values are: \'top\', \'bottom\' or \'above\'.
|
4430 |
+
',
|
4431 |
+
'DE' => '
|
4432 |
+
Position des Titels, mögliche Werte sind \'top\', \'bottom\' (im Zoom Fenster)
|
4433 |
+
oder \'above\'.
|
4434 |
+
'
|
4435 |
+
)
|
4436 |
+
),
|
4437 |
+
|
4438 |
+
'titleParentContainer' => array(
|
4439 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4440 |
+
'category' => 'mouseover',
|
4441 |
+
'type' => 'string',
|
4442 |
+
'isJsObject' => false,
|
4443 |
+
'isJsArray' => false,
|
4444 |
+
'display' => 'text',
|
4445 |
+
'height' => null,
|
4446 |
+
'default' => '',
|
4447 |
+
'options' => null,
|
4448 |
+
'comment' => array(
|
4449 |
+
'EN' => '
|
4450 |
+
jQuery selector, e.g. #abc_title,
|
4451 |
+
as parent container for title other than inside the lense,
|
4452 |
+
can be anywhere.
|
4453 |
+
',
|
4454 |
+
'DE' => '
|
4455 |
+
jQuery selector, z.B. #abc_title, als Übergeordneten Container für den Titel / Text,
|
4456 |
+
welches sich nicht innerhalb des zoom Fensters befindet.
|
4457 |
+
'
|
4458 |
+
)
|
4459 |
+
),
|
4460 |
+
|
4461 |
+
'titlePermanent' => array(
|
4462 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4463 |
+
'category' => 'mouseover',
|
4464 |
+
'type' => 'bool',
|
4465 |
+
'isJsObject' => false,
|
4466 |
+
'isJsArray' => false,
|
4467 |
+
'display' => 'switch',
|
4468 |
+
'height' => null,
|
4469 |
+
'default' => false,
|
4470 |
+
'options' => null,
|
4471 |
+
'comment' => array(
|
4472 |
+
'EN' => '
|
4473 |
+
When "titleParentContainer" is defined, title (text) will be set after loading /
|
4474 |
+
switch of the image.
|
4475 |
+
',
|
4476 |
+
'DE' => '
|
4477 |
+
Wenn "titleParentContainer" definiert ist, wird nach dem Laden / Umschalten
|
4478 |
+
des Bildes der Titel (Text) sofort gesetzt.
|
4479 |
+
'
|
4480 |
+
)
|
4481 |
+
),
|
4482 |
+
|
4483 |
+
'cursorPositionX' => array(
|
4484 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4485 |
+
'category' => 'mouseover',
|
4486 |
+
'type' => 'float',
|
4487 |
+
'isJsObject' => false,
|
4488 |
+
'isJsArray' => false,
|
4489 |
+
'display' => 'text',
|
4490 |
+
'height' => null,
|
4491 |
+
'default' => 0.5,
|
4492 |
+
'options' => null,
|
4493 |
+
'comment' => array(
|
4494 |
+
'EN' => '
|
4495 |
+
Cursor over lens horizontal offset, 0.5 is middle
|
4496 |
+
',
|
4497 |
+
'DE' => '
|
4498 |
+
Horizontaler Versatz des Maus Zeigers in der Linse. 0.5 ist Mitte.
|
4499 |
+
'
|
4500 |
+
)
|
4501 |
+
),
|
4502 |
+
|
4503 |
+
'cursorPositionY' => array(
|
4504 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4505 |
+
'category' => 'mouseover',
|
4506 |
+
'type' => 'float',
|
4507 |
+
'isJsObject' => false,
|
4508 |
+
'isJsArray' => false,
|
4509 |
+
'display' => 'text',
|
4510 |
+
'height' => null,
|
4511 |
+
'default' => 0.55,
|
4512 |
+
'options' => null,
|
4513 |
+
'comment' => array(
|
4514 |
+
'EN' => '
|
4515 |
+
Cursor over lens vertical offset, 0.5 is middle.
|
4516 |
+
',
|
4517 |
+
'DE' => '
|
4518 |
+
Vertikaler Versatz des Maus Zeigers in der Linse. 0.5 ist Mitte.
|
4519 |
+
'
|
4520 |
+
)
|
4521 |
+
),
|
4522 |
+
|
4523 |
+
'loading' => array(
|
4524 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4525 |
+
'category' => 'mouseover',
|
4526 |
+
'type' => 'bool',
|
4527 |
+
'isJsObject' => false,
|
4528 |
+
'isJsArray' => false,
|
4529 |
+
'display' => 'switch',
|
4530 |
+
'height' => null,
|
4531 |
+
'default' => true,
|
4532 |
+
'options' => null,
|
4533 |
+
'comment' => array(
|
4534 |
+
'EN' => '
|
4535 |
+
Display loading information, CSS class: .mouseOverLoading;
|
4536 |
+
See also "spinner" option.
|
4537 |
+
',
|
4538 |
+
'DE' => '
|
4539 |
+
Zeige "loading" Information, CSS .mouseOverLoading;
|
4540 |
+
Siehe auch "spinner" option.
|
4541 |
+
'
|
4542 |
+
)
|
4543 |
+
),
|
4544 |
+
|
4545 |
+
'loadingMessage' => array(
|
4546 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4547 |
+
'category' => 'mouseover',
|
4548 |
+
'type' => 'object, string',
|
4549 |
+
'isJsObject' => true,
|
4550 |
+
'isJsArray' => false,
|
4551 |
+
'display' => 'textarea',
|
4552 |
+
'height' => 100,
|
4553 |
+
'default' => '{
|
4554 |
+
"en": "Loading...",
|
4555 |
+
"de": "Loading...",
|
4556 |
+
"fr": "Loading...",
|
4557 |
+
"es": "Loading..."
|
4558 |
+
}',
|
4559 |
+
'options' => null,
|
4560 |
+
'comment' => array(
|
4561 |
+
'EN' => '
|
4562 |
+
Loading message, not needed, can be just the "spinner" - see below.
|
4563 |
+
',
|
4564 |
+
'DE' => '
|
4565 |
+
Loading Nachricht, nicht unbedingt notwendig, kann auch nur der "spinner" sein.
|
4566 |
+
'
|
4567 |
+
)
|
4568 |
+
),
|
4569 |
+
|
4570 |
+
'zoomHintEnable' => array(
|
4571 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4572 |
+
'category' => 'mouseover',
|
4573 |
+
'type' => 'bool',
|
4574 |
+
'isJsObject' => false,
|
4575 |
+
'isJsArray' => false,
|
4576 |
+
'display' => 'switch',
|
4577 |
+
'height' => null,
|
4578 |
+
'default' => true,
|
4579 |
+
'options' => null,
|
4580 |
+
'comment' => array(
|
4581 |
+
'EN' => '
|
4582 |
+
Enable zoom icon which disappears on mouse hover;
|
4583 |
+
CSS class: .axZm_mouseOverZoomHint;
|
4584 |
+
if you want to change the position or the icon simply modify the CSS class;
|
4585 |
+
',
|
4586 |
+
'DE' => '
|
4587 |
+
Einen Icon als Indikator für Zoom Anzeigen. Dieser verschwindet bei mouseover.
|
4588 |
+
CSS Klasse: .axZm_mouseOverZoomHint;
|
4589 |
+
Wenn Sie eine andere Position wünschen, dann solltet Sie die CSS Klasse überschreiben.
|
4590 |
+
'
|
4591 |
+
)
|
4592 |
+
),
|
4593 |
+
|
4594 |
+
'zoomHintText' => array(
|
4595 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4596 |
+
'category' => 'mouseover',
|
4597 |
+
'type' => 'object, string',
|
4598 |
+
'isJsObject' => true,
|
4599 |
+
'isJsArray' => false,
|
4600 |
+
'display' => 'textarea',
|
4601 |
+
'height' => 100,
|
4602 |
+
'default' => '{
|
4603 |
+
"en" : "Zoom",
|
4604 |
+
"de" : "Zoom",
|
4605 |
+
"fr" : "Zoom",
|
4606 |
+
"es" : "Zoom"
|
4607 |
+
}',
|
4608 |
+
'options' => null,
|
4609 |
+
'comment' => array(
|
4610 |
+
'EN' => '
|
4611 |
+
Text which will be appended next to the icon enabled by "zoomHintEnable".
|
4612 |
+
For more than one language define a js object,
|
4613 |
+
e.g. {"en": "english text", "de": "german text"}
|
4614 |
+
',
|
4615 |
+
'DE' => '
|
4616 |
+
Text neben dem Icon wenn "zoomHintEnable" Option eingeschaltet ist.
|
4617 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
4618 |
+
z.B. {"en": "english text", "de": "german text"}
|
4619 |
+
'
|
4620 |
+
)
|
4621 |
+
),
|
4622 |
+
|
4623 |
+
'zoomMsgHover' => array(
|
4624 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4625 |
+
'category' => 'mouseover',
|
4626 |
+
'type' => 'object, string',
|
4627 |
+
'isJsObject' => false,
|
4628 |
+
'isJsArray' => false,
|
4629 |
+
'display' => 'textarea',
|
4630 |
+
'height' => 100,
|
4631 |
+
'default' => '{
|
4632 |
+
"en" : "Roll over the image to zoom in",
|
4633 |
+
"de" : "Für größere Ansicht mit der Maus über das Bild ziehen",
|
4634 |
+
"fr" : "Survolez l\'image pour zoomer",
|
4635 |
+
"es" : "Pase el cursor sbore la imagen para hacer zoom con la rueda del ratón"
|
4636 |
+
}',
|
4637 |
+
'options' => null,
|
4638 |
+
'comment' => array(
|
4639 |
+
'EN' => '
|
4640 |
+
Message which can appear under the mouse over zoom, CSS class: .axZm_mouseOverZoomMsg;
|
4641 |
+
For more than one language define a js object,
|
4642 |
+
e.g. {"en": "english text", "de": "german text"}
|
4643 |
+
',
|
4644 |
+
'DE' => '
|
4645 |
+
Textnachricht unter der Voransicht. CSS Klasse: .axZm_mouseOverZoomMsg;
|
4646 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
4647 |
+
z.B. {"en": "english text", "de": "german text"}
|
4648 |
+
'
|
4649 |
+
)
|
4650 |
+
),
|
4651 |
+
|
4652 |
+
'zoomMsgHoverTouch' => array(
|
4653 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4654 |
+
'category' => 'mouseover',
|
4655 |
+
'type' => 'object, string',
|
4656 |
+
'isJsObject' => false,
|
4657 |
+
'isJsArray' => false,
|
4658 |
+
'display' => 'textarea',
|
4659 |
+
'height' => 100,
|
4660 |
+
'default' => '{
|
4661 |
+
"en" : "Tap to open expanded view",
|
4662 |
+
"de" : "Klicken Sie auf das Bild, um erweiterte Ansicht zu öffnen",
|
4663 |
+
"fr" : "Cliquez sur l\'image pour ouvrir la vue élargie",
|
4664 |
+
"es" : "Haga clic para ampliar la imagen"
|
4665 |
+
}',
|
4666 |
+
'options' => null,
|
4667 |
+
'comment' => array(
|
4668 |
+
'EN' => '
|
4669 |
+
Message which can appear under the mouse over zoom for touch devices,
|
4670 |
+
CSS class: .axZm_mouseOverZoomMsg;
|
4671 |
+
For more than one language define a js object,
|
4672 |
+
e.g. {"en": "english text", "de": "german text"}
|
4673 |
+
',
|
4674 |
+
'DE' => '
|
4675 |
+
Textnachricht unter der Voransicht für Touch Geräte. CSS Klasse: .axZm_mouseOverZoomMsg;
|
4676 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
4677 |
+
z.B. {"en": "english text", "de": "german text"}
|
4678 |
+
'
|
4679 |
+
)
|
4680 |
+
),
|
4681 |
+
|
4682 |
+
'zoomMsgClick' => array(
|
4683 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4684 |
+
'category' => 'mouseover',
|
4685 |
+
'type' => 'object, string',
|
4686 |
+
'isJsObject' => false,
|
4687 |
+
'isJsArray' => false,
|
4688 |
+
'display' => 'textarea',
|
4689 |
+
'height' => null,
|
4690 |
+
'default' => '{
|
4691 |
+
"en" : "Click to open expanded view",
|
4692 |
+
"de" : "Klicken Sie auf das Bild, um erweiterte Ansicht zu öffnen",
|
4693 |
+
"fr" : "Cliquez sur l\'image pour ouvrir la vue élargie",
|
4694 |
+
"es" : "Haga clic para ampliar la imagen"
|
4695 |
+
}',
|
4696 |
+
'options' => null,
|
4697 |
+
'comment' => array(
|
4698 |
+
'EN' => '
|
4699 |
+
Message which can appear under the mouse over zoom when the mouse enters it,
|
4700 |
+
CSS class: .axZm_mouseOverZoomMsg;
|
4701 |
+
For more than one language define a js object,
|
4702 |
+
e.g. {"en": "english text", "de": "german text"}
|
4703 |
+
',
|
4704 |
+
'DE' => '
|
4705 |
+
Textnachricht, welche unter der Voransicht erscheint,
|
4706 |
+
wenn der User mit der Maus darüber geht.
|
4707 |
+
CSS Klasse: .axZm_mouseOverZoomMsg;
|
4708 |
+
Für mehrere Sprachen können Sie ein js Objekt definieren,
|
4709 |
+
z.B. {"en": "english text", "de": "german text"}
|
4710 |
+
'
|
4711 |
+
)
|
4712 |
+
),
|
4713 |
+
|
4714 |
+
'slideInTime' => array(
|
4715 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4716 |
+
'category' => 'mouseover',
|
4717 |
+
'type' => 'int',
|
4718 |
+
'isJsObject' => false,
|
4719 |
+
'isJsArray' => false,
|
4720 |
+
'display' => 'text',
|
4721 |
+
'height' => null,
|
4722 |
+
'default' => 200,
|
4723 |
+
'options' => null,
|
4724 |
+
'comment' => array(
|
4725 |
+
'EN' => '
|
4726 |
+
Slide in time if "noMouseOverZoom" is enabled
|
4727 |
+
or "touchScroll" option enables for touch devices.
|
4728 |
+
',
|
4729 |
+
'DE' => '
|
4730 |
+
Geschwindigkeit des Slideanimation, wenn "noMouseOverZoom" aktiviert ist
|
4731 |
+
oder durch "touchScroll" Option dies einschaltet.
|
4732 |
+
'
|
4733 |
+
)
|
4734 |
+
),
|
4735 |
+
|
4736 |
+
'slideInEasingCSS3' => array(
|
4737 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4738 |
+
'category' => 'mouseover',
|
4739 |
+
'type' => 'string',
|
4740 |
+
'isJsObject' => false,
|
4741 |
+
'isJsArray' => false,
|
4742 |
+
'display' => 'text',
|
4743 |
+
'height' => null,
|
4744 |
+
'default' => 'easeOutExpo',
|
4745 |
+
'options' => null,
|
4746 |
+
'comment' => array(
|
4747 |
+
'EN' => '
|
4748 |
+
jQuery equivalent of easing or own function (string),
|
4749 |
+
e.g. "cubic-bezier(0.21,0.51,0.4,2.02)", see also cubic-bezier.com
|
4750 |
+
',
|
4751 |
+
'DE' => '
|
4752 |
+
jQuery Äquivalent für easing oder eigene Funktion,
|
4753 |
+
z.B. "cubic-bezier(0.21,0.51,0.4,2.02)", siehe auch cubic-bezier.com
|
4754 |
+
'
|
4755 |
+
)
|
4756 |
+
),
|
4757 |
+
|
4758 |
+
'slideInEasing' => array(
|
4759 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4760 |
+
'category' => 'mouseover',
|
4761 |
+
'type' => 'string',
|
4762 |
+
'isJsObject' => false,
|
4763 |
+
'isJsArray' => false,
|
4764 |
+
'display' => 'text',
|
4765 |
+
'height' => null,
|
4766 |
+
'default' => 'easeOutExpo',
|
4767 |
+
'options' => null,
|
4768 |
+
'comment' => array(
|
4769 |
+
'EN' => '
|
4770 |
+
jQuery easing function for sliding in (fallback if CSS3 animation is not supported).
|
4771 |
+
',
|
4772 |
+
'DE' => '
|
4773 |
+
jQuery easing Funktion für Slide in (Fallback für CSS3 Animationen).
|
4774 |
+
'
|
4775 |
+
)
|
4776 |
+
),
|
4777 |
+
|
4778 |
+
'slideInScale' => array(
|
4779 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4780 |
+
'category' => 'mouseover',
|
4781 |
+
'type' => 'float',
|
4782 |
+
'isJsObject' => false,
|
4783 |
+
'isJsArray' => false,
|
4784 |
+
'display' => 'text',
|
4785 |
+
'height' => null,
|
4786 |
+
'default' => 0.8,
|
4787 |
+
'options' => null,
|
4788 |
+
'comment' => array(
|
4789 |
+
'EN' => '
|
4790 |
+
Scale initial size (goes eventually to 1.0 while animation).
|
4791 |
+
',
|
4792 |
+
'DE' => '
|
4793 |
+
Anfängliche Skalierung (geht dann während der Animation bis 1.0).
|
4794 |
+
'
|
4795 |
+
)
|
4796 |
+
),
|
4797 |
+
|
4798 |
+
'slideOutScale' => array(
|
4799 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4800 |
+
'category' => 'mouseover',
|
4801 |
+
'type' => 'float',
|
4802 |
+
'isJsObject' => false,
|
4803 |
+
'isJsArray' => false,
|
4804 |
+
'display' => 'text',
|
4805 |
+
'height' => null,
|
4806 |
+
'default' => 0.8,
|
4807 |
+
'options' => null,
|
4808 |
+
'comment' => array(
|
4809 |
+
'EN' => '
|
4810 |
+
Scale slideout size.
|
4811 |
+
',
|
4812 |
+
'DE' => '
|
4813 |
+
Ziel Skalierung.
|
4814 |
+
'
|
4815 |
+
)
|
4816 |
+
),
|
4817 |
+
|
4818 |
+
'slideOutOpacity' => array(
|
4819 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4820 |
+
'category' => 'mouseover',
|
4821 |
+
'type' => 'float',
|
4822 |
+
'isJsObject' => false,
|
4823 |
+
'isJsArray' => false,
|
4824 |
+
'display' => 'text',
|
4825 |
+
'height' => null,
|
4826 |
+
'default' => 0,
|
4827 |
+
'options' => null,
|
4828 |
+
'comment' => array(
|
4829 |
+
'EN' => '
|
4830 |
+
Slideout opacity.
|
4831 |
+
',
|
4832 |
+
'DE' => '
|
4833 |
+
Slideout Durchsichtigkeit.
|
4834 |
+
'
|
4835 |
+
)
|
4836 |
+
),
|
4837 |
+
|
4838 |
+
'slideOutDest' => array(
|
4839 |
+
'prefix' => 'AJAXZOOM_MOZP',
|
4840 |
+
'category' => 'mouseover',
|
4841 |
+
'type' => 'integer',
|
4842 |
+
'isJsObject' => false,
|
4843 |
+
'isJsArray' => false,
|
4844 |
+
'display' => 'select',
|
4845 |
+
'height' => null,
|
4846 |
+
'default' => 4,
|
4847 |
+
'options' => array(
|
4848 |
+
array('1', '1'),
|
4849 |
+
array('2', '2'),
|
4850 |
+
array('3', '3'),
|
4851 |
+
array('4', '4'),
|
4852 |
+
),
|
4853 |
+
'comment' => array(
|
4854 |
+
'EN' => '
|
4855 |
+
Target slideout position, possible values: 1, 2, 3 or 4;
|
4856 |
+
',
|
4857 |
+
'DE' => '
|
4858 |
+
Ziel slideout Position. Mögliche Werte sind: 1, 2, 3 oder 4;
|
4859 |
+
'
|
4860 |
+
)
|
4861 |
+
),
|
4862 |
+
|
4863 |
+
'onInit' => array(
|
4864 |
+
'prefix' => 'AJAXZOOM',
|
4865 |
+
'category' => 'mouseover',
|
4866 |
+
'type' => 'function',
|
4867 |
+
'isJsObject' => false,
|
4868 |
+
'isJsArray' => false,
|
4869 |
+
'display' => 'textarea',
|
4870 |
+
'height' => 100,
|
4871 |
+
'default' => false,
|
4872 |
+
'options' => null,
|
4873 |
+
'comment' => array(
|
4874 |
+
'EN' => '
|
4875 |
+
Callback JS function or reference ot it.
|
4876 |
+
',
|
4877 |
+
'DE' => '
|
4878 |
+
Callback JS Funktion oder Referenz.
|
4879 |
+
'
|
4880 |
+
)
|
4881 |
+
),
|
4882 |
+
|
4883 |
+
'onLoad' => array(
|
4884 |
+
'prefix' => 'AJAXZOOM',
|
4885 |
+
'category' => 'mouseover',
|
4886 |
+
'type' => 'function, null',
|
4887 |
+
'isJsObject' => false,
|
4888 |
+
'isJsArray' => false,
|
4889 |
+
'display' => 'textarea',
|
4890 |
+
'height' => 100,
|
4891 |
+
'default' => false,
|
4892 |
+
'options' => null,
|
4893 |
+
'comment' => array(
|
4894 |
+
'EN' => '
|
4895 |
+
Callback JS function or reference ot it.
|
4896 |
+
',
|
4897 |
+
'DE' => '
|
4898 |
+
Callback JS Funktion oder Referenz.
|
4899 |
+
'
|
4900 |
+
)
|
4901 |
+
),
|
4902 |
+
|
4903 |
+
'onImageChange' => array(
|
4904 |
+
'prefix' => 'AJAXZOOM',
|
4905 |
+
'category' => 'mouseover',
|
4906 |
+
'type' => 'function, null',
|
4907 |
+
'isJsObject' => false,
|
4908 |
+
'isJsArray' => false,
|
4909 |
+
'display' => 'textarea',
|
4910 |
+
'height' => 100,
|
4911 |
+
'default' => false,
|
4912 |
+
'options' => null,
|
4913 |
+
'comment' => array(
|
4914 |
+
'EN' => '
|
4915 |
+
Callback JS function or reference ot it.
|
4916 |
+
',
|
4917 |
+
'DE' => '
|
4918 |
+
Callback JS Funktion oder Referenz.
|
4919 |
+
'
|
4920 |
+
)
|
4921 |
+
),
|
4922 |
+
|
4923 |
+
'onMouseOver' => array(
|
4924 |
+
'prefix' => 'AJAXZOOM',
|
4925 |
+
'category' => 'mouseover',
|
4926 |
+
'type' => 'function, null',
|
4927 |
+
'isJsObject' => false,
|
4928 |
+
'isJsArray' => false,
|
4929 |
+
'display' => 'textarea',
|
4930 |
+
'height' => 100,
|
4931 |
+
'default' => false,
|
4932 |
+
'options' => null,
|
4933 |
+
'comment' => array(
|
4934 |
+
'EN' => '
|
4935 |
+
Callback JS function or reference ot it.
|
4936 |
+
',
|
4937 |
+
'DE' => '
|
4938 |
+
Callback JS Funktion oder Referenz.
|
4939 |
+
'
|
4940 |
+
)
|
4941 |
+
),
|
4942 |
+
|
4943 |
+
'onMouseOut' => array(
|
4944 |
+
'prefix' => 'AJAXZOOM',
|
4945 |
+
'category' => 'mouseover',
|
4946 |
+
'type' => 'function, null',
|
4947 |
+
'isJsObject' => false,
|
4948 |
+
'isJsArray' => false,
|
4949 |
+
'display' => 'textarea',
|
4950 |
+
'height' => 100,
|
4951 |
+
'default' => false,
|
4952 |
+
'options' => null,
|
4953 |
+
'comment' => array(
|
4954 |
+
'EN' => '
|
4955 |
+
Callback JS function or reference ot it.
|
4956 |
+
',
|
4957 |
+
'DE' => '
|
4958 |
+
Callback JS Funktion oder Referenz.
|
4959 |
+
'
|
4960 |
+
)
|
4961 |
+
),
|
4962 |
+
|
4963 |
+
'spinner' => array(
|
4964 |
+
'prefix' => 'AJAXZOOM',
|
4965 |
+
'category' => 'mouseover',
|
4966 |
+
'type' => 'bool',
|
4967 |
+
'isJsObject' => false,
|
4968 |
+
'isJsArray' => false,
|
4969 |
+
'display' => 'switch',
|
4970 |
+
'height' => null,
|
4971 |
+
'default' => true,
|
4972 |
+
'options' => null,
|
4973 |
+
'comment' => array(
|
4974 |
+
'EN' => '
|
4975 |
+
Use ajax loading spinner without gif files etc.
|
4976 |
+
Set to false to disable.
|
4977 |
+
',
|
4978 |
+
'DE' => '
|
4979 |
+
CSS / JS Spinner für Loading Animation verwenden.
|
4980 |
+
'
|
4981 |
+
)
|
4982 |
+
),
|
4983 |
+
|
4984 |
+
'spinnerParam' => array(
|
4985 |
+
'prefix' => 'AJAXZOOM',
|
4986 |
+
'category' => 'mouseover',
|
4987 |
+
'type' => 'object',
|
4988 |
+
'isJsObject' => false,
|
4989 |
+
'isJsArray' => false,
|
4990 |
+
'display' => 'textarea',
|
4991 |
+
'height' => 150,
|
4992 |
+
'default' => '{
|
4993 |
+
"lines": 11,
|
4994 |
+
"length": 3,
|
4995 |
+
"width": 3,
|
4996 |
+
"radius": 4,
|
4997 |
+
"corners": 1,
|
4998 |
+
"rotate": 0,
|
4999 |
+
"color": "#FFFFFF",
|
5000 |
+
"speed": 1,
|
5001 |
+
"trail": 90,
|
5002 |
+
"shadow": false,
|
5003 |
+
"hwaccel": false,
|
5004 |
+
"className": "spinner",
|
5005 |
+
"zIndex": 2e9,
|
5006 |
+
"top": 0,
|
5007 |
+
"left": 1
|
5008 |
+
}',
|
5009 |
+
'options' => null,
|
5010 |
+
'comment' => array(
|
5011 |
+
'EN' => '
|
5012 |
+
Spinner options, for more info see:
|
5013 |
+
http://fgnass.github.com/spin.js/
|
5014 |
+
',
|
5015 |
+
'DE' => '
|
5016 |
+
Optionen für den Spinner, siehe auch http://fgnass.github.com/spin.js/
|
5017 |
+
'
|
5018 |
+
)
|
5019 |
+
),
|
5020 |
+
|
5021 |
+
'imagesVideoFirstToLoad' => array(
|
5022 |
+
'prefix' => 'AJAXZOOM',
|
5023 |
+
'category' => 'video_settings',
|
5024 |
+
'type' => 'bool',
|
5025 |
+
'isJsObject' => false,
|
5026 |
+
'isJsArray' => false,
|
5027 |
+
'display' => 'switch',
|
5028 |
+
'height' => null,
|
5029 |
+
'default' => false,
|
5030 |
+
'options' => null,
|
5031 |
+
'comment' => array(
|
5032 |
+
'EN' => '
|
5033 |
+
Load video first if present. See also "images360firstToLoad" option.
|
5034 |
+
',
|
5035 |
+
'DE' => '
|
5036 |
+
Videos, wenn vorhanden, zuerst laden. Siehe auch "images360firstToLoad" Option.
|
5037 |
+
'
|
5038 |
+
)
|
5039 |
+
),
|
5040 |
+
|
5041 |
+
'imagesVideoImg' => array(
|
5042 |
+
'prefix' => 'AJAXZOOM',
|
5043 |
+
'category' => 'video_settings',
|
5044 |
+
'type' => 'string',
|
5045 |
+
'isJsObject' => false,
|
5046 |
+
'isJsArray' => false,
|
5047 |
+
'display' => 'text',
|
5048 |
+
'height' => null,
|
5049 |
+
'default' => 'media-play-256.png',
|
5050 |
+
'options' => null,
|
5051 |
+
'comment' => array(
|
5052 |
+
'EN' => '
|
5053 |
+
Used as replacement if "imagesVideoThumb"
|
5054 |
+
is enabled and poster image is missing.
|
5055 |
+
',
|
5056 |
+
'DE' => '
|
5057 |
+
Wird als Ersatz für das nicht Vorhandene Posterbild des Videos genutzt,
|
5058 |
+
wenn "imagesVideoThumb" aktiviert ist.
|
5059 |
+
'
|
5060 |
+
)
|
5061 |
+
),
|
5062 |
+
|
5063 |
+
'imagesVideoBroken' => array(
|
5064 |
+
'prefix' => 'AJAXZOOM',
|
5065 |
+
'category' => 'video_settings',
|
5066 |
+
'type' => 'string',
|
5067 |
+
'isJsObject' => false,
|
5068 |
+
'isJsArray' => false,
|
5069 |
+
'display' => 'text',
|
5070 |
+
'height' => null,
|
5071 |
+
'default' => 'media-play-256.png',
|
5072 |
+
'options' => null,
|
5073 |
+
'comment' => array(
|
5074 |
+
'EN' => '
|
5075 |
+
Replacement thumbnail image if instant loading of the poster image
|
5076 |
+
from youtube, vimeo etc. fails.
|
5077 |
+
',
|
5078 |
+
'DE' => '
|
5079 |
+
Ersatz für Posterbild, wenn das Laden von YouTube, Vimeo etc.
|
5080 |
+
nicht funktioniert.
|
5081 |
+
'
|
5082 |
+
)
|
5083 |
+
),
|
5084 |
+
|
5085 |
+
'imagesVideoOverlay' => array(
|
5086 |
+
'prefix' => 'AJAXZOOM',
|
5087 |
+
'category' => 'video_settings',
|
5088 |
+
'type' => 'bool',
|
5089 |
+
'isJsObject' => false,
|
5090 |
+
'isJsArray' => false,
|
5091 |
+
'display' => 'switch',
|
5092 |
+
'height' => null,
|
5093 |
+
'default' => false,
|
5094 |
+
'options' => null,
|
5095 |
+
'comment' => array(
|
5096 |
+
'EN' => '
|
5097 |
+
Add a div with class "videoOverlImg" or "videoOverl" over the gallery thumb.
|
5098 |
+
',
|
5099 |
+
'DE' => '
|
5100 |
+
Fügt einen div Container mit Klasse "videoOverlImg" oder "videoOverl"
|
5101 |
+
über die Galerie Miniaturansicht.
|
5102 |
+
'
|
5103 |
+
)
|
5104 |
+
),
|
5105 |
+
|
5106 |
+
'imagesVideoThumb' => array(
|
5107 |
+
'prefix' => 'AJAXZOOM',
|
5108 |
+
'category' => 'video_settings',
|
5109 |
+
'type' => 'bool',
|
5110 |
+
'isJsObject' => false,
|
5111 |
+
'isJsArray' => false,
|
5112 |
+
'display' => 'switch',
|
5113 |
+
'height' => null,
|
5114 |
+
'default' => true,
|
5115 |
+
'options' => null,
|
5116 |
+
'comment' => array(
|
5117 |
+
'EN' => '
|
5118 |
+
Show real poster image as thumb in the gallery if defined.
|
5119 |
+
',
|
5120 |
+
'DE' => '
|
5121 |
+
Zeigt reales Posterbild als Miniaturansicht in der Galerie, falls definiert.
|
5122 |
+
'
|
5123 |
+
)
|
5124 |
+
),
|
5125 |
+
|
5126 |
+
'imagesVideoBig' => array(
|
5127 |
+
'prefix' => 'AJAXZOOM',
|
5128 |
+
'category' => 'video_settings',
|
5129 |
+
'type' => 'string',
|
5130 |
+
'isJsObject' => false,
|
5131 |
+
'isJsArray' => false,
|
5132 |
+
'display' => 'text',
|
5133 |
+
'height' => null,
|
5134 |
+
'default' => 'media-play-1200.png',
|
5135 |
+
'options' => null,
|
5136 |
+
'comment' => array(
|
5137 |
+
'EN' => '
|
5138 |
+
Placeholder image for videos in mouseover.
|
5139 |
+
',
|
5140 |
+
'DE' => '
|
5141 |
+
Platzhalter Bild für Videos in Mouseover.
|
5142 |
+
'
|
5143 |
+
)
|
5144 |
+
),
|
5145 |
+
|
5146 |
+
'imagesVideoSmall' => array(
|
5147 |
+
'prefix' => 'AJAXZOOM',
|
5148 |
+
'category' => 'video_settings',
|
5149 |
+
'type' => 'string',
|
5150 |
+
'isJsObject' => false,
|
5151 |
+
'isJsArray' => false,
|
5152 |
+
'display' => 'text',
|
5153 |
+
'height' => null,
|
5154 |
+
'default' => 'media-play-600.png',
|
5155 |
+
'options' => null,
|
5156 |
+
'comment' => array(
|
5157 |
+
'EN' => '
|
5158 |
+
Placeholder image for videos in mouseover.
|
5159 |
+
',
|
5160 |
+
'DE' => '
|
5161 |
+
Platzhalter Bild für Videos in Mouseover.
|
5162 |
+
'
|
5163 |
+
)
|
5164 |
+
),
|
5165 |
+
|
5166 |
+
'videoThumb' => array(
|
5167 |
+
'prefix' => 'AJAXZOOM',
|
5168 |
+
'category' => 'video_settings',
|
5169 |
+
'type' => 'object',
|
5170 |
+
'isJsObject' => false,
|
5171 |
+
'isJsArray' => false,
|
5172 |
+
'display' => 'textarea',
|
5173 |
+
'height' => 150,
|
5174 |
+
'default' => '{
|
5175 |
+
"youtube": {
|
5176 |
+
"url": "https://i1.ytimg.com/vi/",
|
5177 |
+
"img": "mqdefault"
|
5178 |
+
},
|
5179 |
+
"vimeo": {
|
5180 |
+
"url": "https://vimeo.com/api/v2/video/",
|
5181 |
+
"img": "thumbnail_medium"
|
5182 |
+
},
|
5183 |
+
"dailymotion": {
|
5184 |
+
"url": "https://api.dailymotion.com/video/",
|
5185 |
+
"img": "thumbnail_480_url"
|
5186 |
+
}
|
5187 |
+
}',
|
5188 |
+
'options' => null,
|
5189 |
+
'comment' => array(
|
5190 |
+
'EN' => '
|
5191 |
+
Settings including sources for poster images for
|
5192 |
+
YouTube, Vimeo and Dailymotion.
|
5193 |
+
',
|
5194 |
+
'DE' => '
|
5195 |
+
Einstellungen für Quellen, sowie Größe für Posterbilder aus
|
5196 |
+
YouTube, Vimeo und Dailymotion.
|
5197 |
+
'
|
5198 |
+
)
|
5199 |
+
),
|
5200 |
+
|
5201 |
+
'videoThumbDefaultPostion' => array(
|
5202 |
+
'prefix' => 'AJAXZOOM',
|
5203 |
+
'category' => 'video_settings',
|
5204 |
+
'type' => 'string',
|
5205 |
+
'isJsObject' => false,
|
5206 |
+
'isJsArray' => false,
|
5207 |
+
'display' => 'select',
|
5208 |
+
'height' => null,
|
5209 |
+
'default' => 'last',
|
5210 |
+
'options' => array(
|
5211 |
+
array('first', 'first'),
|
5212 |
+
array('afterfirst', 'afterfirst'),
|
5213 |
+
array('last', 'last'),
|
5214 |
+
),
|
5215 |
+
'comment' => array(
|
5216 |
+
'EN' => '
|
5217 |
+
Default position of the thumbnail representing a video in the gallery.
|
5218 |
+
The position can be also defined for each thumb individually.
|
5219 |
+
Possible values are: "first", "afterfirst" and "last".
|
5220 |
+
See also "images360ThumbDefaultPostion" option.
|
5221 |
+
',
|
5222 |
+
'DE' => '
|
5223 |
+
Standardposition der Miniaturansicht, die ein Video in der Galerie darstellt.
|
5224 |
+
Die Position kann auch für jedes Video - Miniaturansicht individuell definiert werden.
|
5225 |
+
Mögliche Werte sind: "first", "afterfirst" und "last".
|
5226 |
+
Siehe auch "images360ThumbDefaultPostion" Option.
|
5227 |
+
'
|
5228 |
+
)
|
5229 |
+
),
|
5230 |
+
|
5231 |
+
'videoUrl' => array(
|
5232 |
+
'prefix' => 'AJAXZOOM',
|
5233 |
+
'category' => 'video_settings',
|
5234 |
+
'type' => 'object',
|
5235 |
+
'isJsObject' => false,
|
5236 |
+
'isJsArray' => false,
|
5237 |
+
'display' => 'textarea',
|
5238 |
+
'height' => 70,
|
5239 |
+
'default' => '{
|
5240 |
+
"youtube": "//www.youtube-nocookie.com/embed/",
|
5241 |
+
"vimeo": "//player.vimeo.com/video/",
|
5242 |
+
"dailymotion": "//www.dailymotion.com/embed/video/"
|
5243 |
+
}',
|
5244 |
+
'options' => null,
|
5245 |
+
'comment' => array(
|
5246 |
+
'EN' => '
|
5247 |
+
Url of the external players.
|
5248 |
+
',
|
5249 |
+
'DE' => '
|
5250 |
+
URL für die externen Player.
|
5251 |
+
'
|
5252 |
+
)
|
5253 |
+
),
|
5254 |
+
|
5255 |
+
'videoSettings' => array(
|
5256 |
+
'prefix' => 'AJAXZOOM',
|
5257 |
+
'category' => 'video_settings',
|
5258 |
+
'type' => 'object',
|
5259 |
+
'isJsObject' => false,
|
5260 |
+
'isJsArray' => false,
|
5261 |
+
'display' => 'textarea',
|
5262 |
+
'height' => 200,
|
5263 |
+
'default' => '{
|
5264 |
+
"youtube": {
|
5265 |
+
"autoplay": 0,
|
5266 |
+
"controls": 1,
|
5267 |
+
"showinfo": 0,
|
5268 |
+
"loop": 0,
|
5269 |
+
"fs": 1,
|
5270 |
+
"rel": 0,
|
5271 |
+
"modestbranding": 0,
|
5272 |
+
"iv_load_policy": 3,
|
5273 |
+
"theme": "light"
|
5274 |
+
},
|
5275 |
+
"vimeo": {
|
5276 |
+
"autopause": 1,
|
5277 |
+
"autoplay": 0,
|
5278 |
+
"badge": 1,
|
5279 |
+
"byline": 0,
|
5280 |
+
"color": "eaeaea",
|
5281 |
+
"loop": 0,
|
5282 |
+
"portrait": 0,
|
5283 |
+
"title": 0
|
5284 |
+
},
|
5285 |
+
"dailymotion": {
|
5286 |
+
"autoplay": 0,
|
5287 |
+
"logo": 0,
|
5288 |
+
"quality": 720,
|
5289 |
+
"related": 0,
|
5290 |
+
"html5": 1
|
5291 |
+
},
|
5292 |
+
"html5": {
|
5293 |
+
"controls": true,
|
5294 |
+
"autoplay": false,
|
5295 |
+
"loop": false,
|
5296 |
+
"muted": false,
|
5297 |
+
"preload": "auto"
|
5298 |
+
}
|
5299 |
+
}',
|
5300 |
+
'options' => null,
|
5301 |
+
'comment' => array(
|
5302 |
+
'EN' => '
|
5303 |
+
Api / default parameters for the players.
|
5304 |
+
',
|
5305 |
+
'DE' => '
|
5306 |
+
API / Standardeinstellungen für die Video Player.
|
5307 |
+
'
|
5308 |
+
)
|
5309 |
+
),
|
5310 |
+
|
5311 |
+
'videoHtml5ClickPlay' => array(
|
5312 |
+
'prefix' => 'AJAXZOOM',
|
5313 |
+
'category' => 'video_settings',
|
5314 |
+
'type' => 'bool',
|
5315 |
+
'isJsObject' => false,
|
5316 |
+
'isJsArray' => false,
|
5317 |
+
'display' => 'switch',
|
5318 |
+
'height' => null,
|
5319 |
+
'default' => true,
|
5320 |
+
'options' => null,
|
5321 |
+
'comment' => array(
|
5322 |
+
'EN' => '
|
5323 |
+
Toggle play/pause for HTML5 players when clicked anywhere on the player.
|
5324 |
+
',
|
5325 |
+
'DE' => '
|
5326 |
+
Toggle Play / Pause für HTML5-Player, wenn irgendwo auf dem Player geklickt wird.
|
5327 |
+
'
|
5328 |
+
)
|
5329 |
+
),
|
5330 |
+
|
5331 |
+
'videoHtml5Poster' => array(
|
5332 |
+
'prefix' => 'AJAXZOOM',
|
5333 |
+
'category' => 'video_settings',
|
5334 |
+
'type' => 'string',
|
5335 |
+
'isJsObject' => false,
|
5336 |
+
'isJsArray' => false,
|
5337 |
+
'display' => 'text',
|
5338 |
+
'height' => null,
|
5339 |
+
'default' => 'media-play-1200.png',
|
5340 |
+
'options' => null,
|
5341 |
+
'comment' => array(
|
5342 |
+
'EN' => '
|
5343 |
+
Specific default poster image for HTML5 player.
|
5344 |
+
',
|
5345 |
+
'DE' => '
|
5346 |
+
Standard Ersatzposter für HTML5 Videos.
|
5347 |
+
'
|
5348 |
+
)
|
5349 |
+
),
|
5350 |
+
|
5351 |
+
'videoHtml5VideoJs' => array(
|
5352 |
+
'prefix' => 'AJAXZOOM',
|
5353 |
+
'category' => 'video_settings',
|
5354 |
+
'type' => 'bool',
|
5355 |
+
'isJsObject' => false,
|
5356 |
+
'isJsArray' => false,
|
5357 |
+
'display' => 'switch',
|
5358 |
+
'height' => null,
|
5359 |
+
'default' => true,
|
5360 |
+
'options' => null,
|
5361 |
+
'comment' => array(
|
5362 |
+
'EN' => '
|
5363 |
+
Enable Videojs player for html5 videos.
|
5364 |
+
',
|
5365 |
+
'DE' => '
|
5366 |
+
Videojs Player für HTML5 Videos aktivieren.
|
5367 |
+
'
|
5368 |
+
)
|
5369 |
+
),
|
5370 |
+
|
5371 |
+
'videoHtml5VideoJsSkin' => array(
|
5372 |
+
'prefix' => 'AJAXZOOM',
|
5373 |
+
'category' => 'video_settings',
|
5374 |
+
'type' => 'string',
|
5375 |
+
'isJsObject' => false,
|
5376 |
+
'isJsArray' => false,
|
5377 |
+
'display' => 'text',
|
5378 |
+
'height' => null,
|
5379 |
+
'default' => 'vjs-default-skin',
|
5380 |
+
'options' => null,
|
5381 |
+
'comment' => array(
|
5382 |
+
'EN' => '
|
5383 |
+
Skin for Videojs player.
|
5384 |
+
',
|
5385 |
+
'DE' => '
|
5386 |
+
Skin für Videojs Player.
|
5387 |
+
'
|
5388 |
+
)
|
5389 |
+
),
|
5390 |
+
|
5391 |
+
'videoHtml5VideoJsPoster' => array(
|
5392 |
+
'prefix' => 'AJAXZOOM',
|
5393 |
+
'category' => 'video_settings',
|
5394 |
+
'type' => 'string',
|
5395 |
+
'isJsObject' => false,
|
5396 |
+
'isJsArray' => false,
|
5397 |
+
'display' => 'text',
|
5398 |
+
'height' => null,
|
5399 |
+
'default' => 'media-video-1200.png',
|
5400 |
+
'options' => null,
|
5401 |
+
'comment' => array(
|
5402 |
+
'EN' => '
|
5403 |
+
Specific default poster image for HTML5 Videojs player.
|
5404 |
+
',
|
5405 |
+
'DE' => '
|
5406 |
+
Standard Ersatzposter für HTML5 - Videojs Players.
|
5407 |
+
'
|
5408 |
+
)
|
5409 |
+
),
|
5410 |
+
|
5411 |
+
'videoHtml5VideoJsOpt' => array(
|
5412 |
+
'prefix' => 'AJAXZOOM',
|
5413 |
+
'category' => 'video_settings',
|
5414 |
+
'type' => 'object',
|
5415 |
+
'isJsObject' => false,
|
5416 |
+
'isJsArray' => false,
|
5417 |
+
'display' => 'textarea',
|
5418 |
+
'height' => 100,
|
5419 |
+
'default' => '{
|
5420 |
+
"controlBar": {
|
5421 |
+
"muteToggle": false
|
5422 |
+
},
|
5423 |
+
"techOrder": ["html5", "flash", "other supported tech"]
|
5424 |
+
}',
|
5425 |
+
'options' => null,
|
5426 |
+
'comment' => array(
|
5427 |
+
'EN' => '
|
5428 |
+
Options for Videojs player.
|
5429 |
+
',
|
5430 |
+
'DE' => '
|
5431 |
+
Standard Optionen für Videojs Player.
|
5432 |
+
'
|
5433 |
+
)
|
5434 |
+
)
|
5435 |
+
|
5436 |
+
);
|
5437 |
+
}
|
5438 |
+
|
5439 |
+
public function extendConfig($after = 'pngModeCssFix')
|
5440 |
+
{
|
5441 |
+
if (!empty($this->config_extend)) {
|
5442 |
+
foreach ($this->config_extend as $k => $v) {
|
5443 |
+
$keys = array_keys($this->config);
|
5444 |
+
$idx = array_search($after, $keys);
|
5445 |
+
if ($idx > 0) {
|
5446 |
+
$idx += 1;
|
5447 |
+
$v['category'] = 'plugin_settings';
|
5448 |
+
$this->config = array_merge(
|
5449 |
+
array_slice($this->config, 0, $idx),
|
5450 |
+
array($k => $v),
|
5451 |
+
array_slice($this->config, $idx)
|
5452 |
+
);
|
5453 |
+
$after = $k;
|
5454 |
+
}
|
5455 |
+
}
|
5456 |
+
}
|
5457 |
+
}
|
5458 |
+
|
5459 |
+
public function getCategories()
|
5460 |
+
{
|
5461 |
+
return $this->categories;
|
5462 |
+
}
|
5463 |
+
|
5464 |
+
public function getOptionsList()
|
5465 |
+
{
|
5466 |
+
$cnf = $this->config;
|
5467 |
+
$ret = array();
|
5468 |
+
|
5469 |
+
foreach ($cnf as $k => $v) {
|
5470 |
+
if (in_array($v['category'], $this->exclude_cat_vendor)
|
5471 |
+
|| in_array($k, $this->exclude_opt_vendor)
|
5472 |
+
) {
|
5473 |
+
continue;
|
5474 |
+
}
|
5475 |
+
|
5476 |
+
if ($this->vendor && isset($v['vendor']) && !empty($v['vendor']) && is_array($v['vendor'])) {
|
5477 |
+
if (!in_array($this->vendor, $v['vendor'])) {
|
5478 |
+
continue;
|
5479 |
+
}
|
5480 |
+
}
|
5481 |
+
|
5482 |
+
$ret[$k] = $v['prefix'].'_'.strtoupper($k);
|
5483 |
+
}
|
5484 |
+
|
5485 |
+
return $ret;
|
5486 |
+
}
|
5487 |
+
|
5488 |
+
public function getConfig($plain = false)
|
5489 |
+
{
|
5490 |
+
$cnf = $this->config;
|
5491 |
+
if (!$plain && !empty($this->config_vendor)) {
|
5492 |
+
foreach ($this->config_vendor as $k => $v) {
|
5493 |
+
if (isset($cnf[$k])) {
|
5494 |
+
$cnf[$k]['default'] = $v;
|
5495 |
+
}
|
5496 |
+
}
|
5497 |
+
}
|
5498 |
+
|
5499 |
+
if (!$plain && $this->vendor) {
|
5500 |
+
foreach ($this->exclude_opt_vendor as $v) {
|
5501 |
+
if (isset($cnf[$v])) {
|
5502 |
+
unset($cnf[$v]);
|
5503 |
+
}
|
5504 |
+
}
|
5505 |
+
}
|
5506 |
+
|
5507 |
+
if (!$plain && $this->vendor) {
|
5508 |
+
foreach ($cnf as $k => $v) {
|
5509 |
+
if (!empty($this->exclude_cat_vendor)) {
|
5510 |
+
if (in_array($v['category'], $this->exclude_cat_vendor)) {
|
5511 |
+
unset($cnf[$k]);
|
5512 |
+
}
|
5513 |
+
}
|
5514 |
+
|
5515 |
+
if (isset($cnf[$k]) && isset($v['vendor']) && !empty($v['vendor']) && is_array($v['vendor'])) {
|
5516 |
+
if (!in_array($this->vendor, $v['vendor'])) {
|
5517 |
+
unset($cnf[$k]);
|
5518 |
+
}
|
5519 |
+
}
|
5520 |
+
}
|
5521 |
+
}
|
5522 |
+
|
5523 |
+
return $cnf;
|
5524 |
+
}
|
5525 |
+
|
5526 |
+
public function cleanJsStr($value)
|
5527 |
+
{
|
5528 |
+
return $value;
|
5529 |
+
//return trim(str_replace(array("\r", "\n", "\t", '\"'), array('', '', '', '"'), $value));
|
5530 |
+
}
|
5531 |
+
|
5532 |
+
public function jsVal($value, $chk = true, $clean = false, $txt = false)
|
5533 |
+
{
|
5534 |
+
if ($chk === false) {
|
5535 |
+
return $value;
|
5536 |
+
}
|
5537 |
+
|
5538 |
+
// $value is / could be saved as string
|
5539 |
+
if (!is_bool($value) && !is_null($value)
|
5540 |
+
&& ($value == 'false' || $value == 'true' || $value == 'null' || is_numeric($value)
|
5541 |
+
|| substr(trim($value), 0, 1) == '{' || substr(trim($value), 0, 1) == '[')
|
5542 |
+
) {
|
5543 |
+
return $value;
|
5544 |
+
} elseif (is_bool($value) && $value) {
|
5545 |
+
return 'true';
|
5546 |
+
} elseif (is_bool($value) && !$value) {
|
5547 |
+
return 'false';
|
5548 |
+
} elseif (is_null($value) || $value == 'NULL') {
|
5549 |
+
return 'null';
|
5550 |
+
} else {
|
5551 |
+
if ($clean) {
|
5552 |
+
return '"' . $this->cleanJsStr($value) . '"';
|
5553 |
+
} elseif ($txt) {
|
5554 |
+
return $value;
|
5555 |
+
} else {
|
5556 |
+
return '"' . $value . '"';
|
5557 |
+
}
|
5558 |
+
}
|
5559 |
+
}
|
5560 |
+
|
5561 |
+
public function jsKeyVal($key, $value, $chk = true)
|
5562 |
+
{
|
5563 |
+
return '"'.$key.'": '.$this->jsVal($value, $chk);
|
5564 |
+
}
|
5565 |
+
|
5566 |
+
public function jsObjFromArr($array, $chk)
|
5567 |
+
{
|
5568 |
+
$ret = '{';
|
5569 |
+
foreach ($array as $k => $v) {
|
5570 |
+
if (is_array($v)) {
|
5571 |
+
$ret .= '"'.$k.'": '.$this->jsObjFromArr($v, $chk).', ';
|
5572 |
+
} else {
|
5573 |
+
$ret .= $this->jsKeyVal($k, $v, $chk) . ', ';
|
5574 |
+
}
|
5575 |
+
}
|
5576 |
+
$ret = trim($ret, ', ');
|
5577 |
+
$ret .= '}';
|
5578 |
+
return $ret;
|
5579 |
+
}
|
5580 |
+
|
5581 |
+
/* generate init parameters based on passed cfg options */
|
5582 |
+
public function getInitJs($c = array())
|
5583 |
+
{
|
5584 |
+
$cd = array(
|
5585 |
+
'cfg' => array(),
|
5586 |
+
'holder_object' => 'jQuery.axZm_psh',
|
5587 |
+
'exclude_opt' => array(),
|
5588 |
+
'exclude_cat' => array(),
|
5589 |
+
'defaults' => false,
|
5590 |
+
'differ' => false,
|
5591 |
+
'ovrprefix' => false,
|
5592 |
+
'min' => false
|
5593 |
+
);
|
5594 |
+
|
5595 |
+
foreach ($cd as $k => $v) {
|
5596 |
+
if (isset($c[$k])) {
|
5597 |
+
${$k} = $c[$k];
|
5598 |
+
} else {
|
5599 |
+
${$k} = $v;
|
5600 |
+
}
|
5601 |
+
}
|
5602 |
+
|
5603 |
+
if (!is_string($ovrprefix)) {
|
5604 |
+
$ovrprefix = false;
|
5605 |
+
}
|
5606 |
+
|
5607 |
+
$mouseover_param = array();
|
5608 |
+
$param = array();
|
5609 |
+
$return = '';
|
5610 |
+
|
5611 |
+
foreach ($this->getConfig(true) as $k => $v) {
|
5612 |
+
$cat = $v['category'];
|
5613 |
+
|
5614 |
+
if ($ovrprefix !== false) {
|
5615 |
+
$save_var = $ovrprefix.'_'.strtoupper($k);
|
5616 |
+
} else {
|
5617 |
+
$save_var = $v['prefix'].'_'.strtoupper($k);
|
5618 |
+
}
|
5619 |
+
|
5620 |
+
if ($cat == 'plugin_settings'
|
5621 |
+
|| $cat == 'license'
|
5622 |
+
|| (!$defaults && !(isset($cfg[$k])
|
5623 |
+
|| isset($cfg[$save_var])))
|
5624 |
+
|| in_array($k, $exclude_opt)
|
5625 |
+
|| in_array($cat, $exclude_cat)
|
5626 |
+
) {
|
5627 |
+
continue;
|
5628 |
+
}
|
5629 |
+
|
5630 |
+
$value = $defaults ? $v['default'] : isset($cfg[$k]) ? $cfg[$k] : $cfg[$save_var];
|
5631 |
+
|
5632 |
+
if (!$defaults && $differ && $k != 'divID' && $k != 'galleryDivID') {
|
5633 |
+
if ($this->jsVal($v['default'], true, true) == $this->jsVal($value, true, true)) {
|
5634 |
+
continue;
|
5635 |
+
}
|
5636 |
+
}
|
5637 |
+
|
5638 |
+
if ($cat == 'mouseover') {
|
5639 |
+
$mouseover_param[$k] = $this->jsKeyVal($k, $value);
|
5640 |
+
} else {
|
5641 |
+
$param[$k] = $this->jsKeyVal($k, $value);
|
5642 |
+
}
|
5643 |
+
}
|
5644 |
+
|
5645 |
+
if (!$defaults) {
|
5646 |
+
$param['lang'] = $this->jsKeyVal('lang', $holder_object.'.shopLang.substr(0, 2)', false);
|
5647 |
+
$param['axZmPath'] = $this->jsKeyVal('axZmPath', '('.$holder_object.'.axZmPath || \'../axZm/\')', false);
|
5648 |
+
|
5649 |
+
$param['images'] = $this->jsKeyVal('images', $holder_object.'.IMAGES_JSON', false);
|
5650 |
+
$param['images360'] = $this->jsKeyVal('images360', $holder_object.'.IMAGES_360_JSON', false);
|
5651 |
+
$param['videos'] = $this->jsKeyVal('videos', $holder_object.'.VIDEOS_JSON', false);
|
5652 |
+
}
|
5653 |
+
|
5654 |
+
if (!empty($mouseover_param)) {
|
5655 |
+
$param['mouseOverZoomParam'] = '"mouseOverZoomParam": {'.implode(', ', $mouseover_param).'}';
|
5656 |
+
}
|
5657 |
+
|
5658 |
+
$return = '{'.implode(', ', $param).'}';
|
5659 |
+
|
5660 |
+
if ($min) {
|
5661 |
+
return $this->minifyJs($return);
|
5662 |
+
}
|
5663 |
+
|
5664 |
+
// Could be valid JSON, must not
|
5665 |
+
return $return;
|
5666 |
+
}
|
5667 |
+
|
5668 |
+
public function minifyJs($return)
|
5669 |
+
{
|
5670 |
+
$pattern = '/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\')\/\/.*))/';
|
5671 |
+
$return = preg_replace($pattern, '', $return);
|
5672 |
+
$return = trim(str_replace(array("\r", "\n", "\t"), array(' ', ' ', ''), $return));
|
5673 |
+
$return = preg_replace('/( )+/', ' ', $return);
|
5674 |
+
return $return;
|
5675 |
+
}
|
5676 |
+
|
5677 |
+
public function getConfigFrontJs($c = array())
|
5678 |
+
{
|
5679 |
+
$cd = array(
|
5680 |
+
'window' => 'window.',
|
5681 |
+
'holder_object' => 'jQuery.axZm_psh',
|
5682 |
+
'exclude_opt' => array(),
|
5683 |
+
'ovrprefix' => false,
|
5684 |
+
'exclude_cat' => array()
|
5685 |
+
);
|
5686 |
+
|
5687 |
+
foreach ($cd as $k => $v) {
|
5688 |
+
if (isset($c[$k])) {
|
5689 |
+
${$k} = $c[$k];
|
5690 |
+
} else {
|
5691 |
+
${$k} = $v;
|
5692 |
+
}
|
5693 |
+
}
|
5694 |
+
|
5695 |
+
if (!is_string($ovrprefix)) {
|
5696 |
+
$ovrprefix = false;
|
5697 |
+
}
|
5698 |
+
|
5699 |
+
$js = array();
|
5700 |
+
$js['mouseOverZoomParam'] = array();
|
5701 |
+
|
5702 |
+
foreach ($this->config as $k => $v) {
|
5703 |
+
$cat = $v['category'];
|
5704 |
+
|
5705 |
+
if ($cat == 'plugin_settings'
|
5706 |
+
|| $cat == 'license'
|
5707 |
+
|| in_array($k, $exclude_opt)
|
5708 |
+
|| in_array($cat, $exclude_cat)) {
|
5709 |
+
continue;
|
5710 |
+
}
|
5711 |
+
|
5712 |
+
if ($cat == 'mouseover') {
|
5713 |
+
if ($ovrprefix !== false) {
|
5714 |
+
$js['mouseOverZoomParam'][$k] = $ovrprefix.'_'.strtoupper($k);
|
5715 |
+
} else {
|
5716 |
+
$js['mouseOverZoomParam'][$k] = $window.$v['prefix'].'_'.strtoupper($k);
|
5717 |
+
}
|
5718 |
+
} else {
|
5719 |
+
if ($ovrprefix !== false) {
|
5720 |
+
$js[$k] = $ovrprefix.'_'.strtoupper($k);
|
5721 |
+
} else {
|
5722 |
+
$js[$k] = $window.$v['prefix'].'_'.strtoupper($k);
|
5723 |
+
}
|
5724 |
+
}
|
5725 |
+
}
|
5726 |
+
|
5727 |
+
$js['lang'] = $holder_object.'.shopLang.substr(0, 2)';
|
5728 |
+
$js['axZmPath'] = '('.$holder_object.'.axZmPath || \'../axZm/\')';
|
5729 |
+
|
5730 |
+
$js['images'] = $holder_object.'.IMAGES_JSON';
|
5731 |
+
$js['images360'] = $holder_object.'.IMAGES_360_JSON';
|
5732 |
+
$js['videos'] = $holder_object.'.VIDEOS_JSON';
|
5733 |
+
|
5734 |
+
return $this->jsObjFromArr($js, false);
|
5735 |
+
}
|
5736 |
+
|
5737 |
+
public function docuLine($l, $k, $v)
|
5738 |
+
{
|
5739 |
+
$ret = '';
|
5740 |
+
$example = array('EN' => 'Example', 'DE' => 'Beispiel');
|
5741 |
+
$longdefault = strlen($v['default']) > 30 ? true : false;
|
5742 |
+
|
5743 |
+
$ret .= '<tr data-az_opt_name="'.$k.'" data-az_opt_cat="'.$v['category'].'"><td>'.$k.'</td><td>';
|
5744 |
+
|
5745 |
+
if ($longdefault) {
|
5746 |
+
$ret .= '{...}';
|
5747 |
+
} else {
|
5748 |
+
if ($v['default'] === true || $v['default'] === false || $v['default'] === null) {
|
5749 |
+
$ret .= strtolower(var_export($v['default'], true));
|
5750 |
+
} else {
|
5751 |
+
$ret .= $v['default'] ? $v['default'] : '""';
|
5752 |
+
}
|
5753 |
+
}
|
5754 |
+
|
5755 |
+
$ret .= '</td><td>';
|
5756 |
+
$ret .= '<div class="optionsType">'.$v['type'].'</div>';
|
5757 |
+
$ret .= (isset($v['comment'][$l]) && !empty($v['comment'][$l]) ? $v['comment'][$l] : $v['comment']['EN']);
|
5758 |
+
|
5759 |
+
if ($longdefault) {
|
5760 |
+
$ret .= '<div class="optionsDefaultHeading">Default:</div>';
|
5761 |
+
$ret .= '<pre class="language-js"><code class="language-js">'.$v['default'].'</code></pre>';
|
5762 |
+
} elseif (isset($v['example'])) {
|
5763 |
+
$ret .= '<div class="optionsDefaultHeading">'.(isset($example[$l]) ?
|
5764 |
+
$example[$l] : $example['EN']).':</div>';
|
5765 |
+
$ret .= '<pre class="language-js"><code class="language-js">'.$v['example'].'</code></pre>';
|
5766 |
+
}
|
5767 |
+
|
5768 |
+
$ret .= '</td></tr>';
|
5769 |
+
|
5770 |
+
return $ret;
|
5771 |
+
}
|
5772 |
+
|
5773 |
+
public function docuCat($l, $key)
|
5774 |
+
{
|
5775 |
+
return '<tbody data-az_options_head="'.$key.'"><tr><th colspan="3" class="optionsTabCat">'
|
5776 |
+
.(isset($this->categories[$key]['title'][$l])
|
5777 |
+
? $this->categories[$key]['title'][$l]
|
5778 |
+
: $this->categories[$key]['title']['EN'])
|
5779 |
+
. '</th></tr></tbody>';
|
5780 |
+
}
|
5781 |
+
|
5782 |
+
public function getDocu($c = array())
|
5783 |
+
{
|
5784 |
+
$mouse_over_zoom_param = array(
|
5785 |
+
'EN' => 'All specific options for the mouseover zoom
|
5786 |
+
are keys of mouseOverZoomParam object!',
|
5787 |
+
'DE' => 'Alle spezifische optionen für mousever zoom
|
5788 |
+
sind Schlüßel des mouseOverZoomParam Objektes!'
|
5789 |
+
);
|
5790 |
+
|
5791 |
+
$cd = array(
|
5792 |
+
'l' => 'EN',
|
5793 |
+
'cls' => 'optionsTable',
|
5794 |
+
'skip_cat' => array(),
|
5795 |
+
'skip_options' => array(),
|
5796 |
+
'contents' => true,
|
5797 |
+
'plugin_settings' => true
|
5798 |
+
);
|
5799 |
+
|
5800 |
+
foreach ($cd as $k => $v) {
|
5801 |
+
if (isset($c[$k])) {
|
5802 |
+
${$k} = $c[$k];
|
5803 |
+
} else {
|
5804 |
+
${$k} = $v;
|
5805 |
+
}
|
5806 |
+
}
|
5807 |
+
|
5808 |
+
$this->defineItemes();
|
5809 |
+
$cat = '';
|
5810 |
+
$cat_prev = '';
|
5811 |
+
|
5812 |
+
$ret = '<div id="'.$cls.'Select" style="margin-bottom: 3px; text-align: right;"></div>';
|
5813 |
+
$t = '<table class="'.$cls.'">';
|
5814 |
+
$h = '<tr><th>Option</th><th>Default</th><th>Description</th></tr>';
|
5815 |
+
|
5816 |
+
$ret .= $t;
|
5817 |
+
$arr = array_merge($this->items, $this->config);
|
5818 |
+
|
5819 |
+
foreach ($arr as $k => $v) {
|
5820 |
+
$cat = $v['category'];
|
5821 |
+
|
5822 |
+
if (in_array($cat, $skip_cat) || in_array($k, $skip_options)) {
|
5823 |
+
continue;
|
5824 |
+
}
|
5825 |
+
|
5826 |
+
if ($cat != $cat_prev) {
|
5827 |
+
if (substr($ret, -8) != '</tbody>' && strstr($ret, '<tbody>')) {
|
5828 |
+
$ret .= '</tbody>';
|
5829 |
+
}
|
5830 |
+
|
5831 |
+
$ret .= $this->docuCat($l, $cat);
|
5832 |
+
$ret .= '<tbody data-az_options_cat="'.$cat.'">';
|
5833 |
+
|
5834 |
+
if ($cat == 'mouseover') {
|
5835 |
+
$ret .= '<tr><td>mouseOverZoomParam</td><td>{... ... ...}<td>'
|
5836 |
+
.(isset($mouse_over_zoom_param[$l]) ?
|
5837 |
+
$mouse_over_zoom_param[$l] : $mouse_over_zoom_param['EN']).'</td>';
|
5838 |
+
}
|
5839 |
+
|
5840 |
+
$ret .= $h;
|
5841 |
+
$cat_prev = $cat;
|
5842 |
+
}
|
5843 |
+
|
5844 |
+
$ret .= $this->docuLine($l, $k, $v);
|
5845 |
+
}
|
5846 |
+
|
5847 |
+
if (substr($ret, -8) != '</tbody>') {
|
5848 |
+
$ret .= '</tbody>';
|
5849 |
+
}
|
5850 |
+
|
5851 |
+
$ret .= '</table>';
|
5852 |
+
return $ret;
|
5853 |
+
}
|
5854 |
+
|
5855 |
+
public function docuJS($c = array())
|
5856 |
+
{
|
5857 |
+
$cd = array(
|
5858 |
+
'cls' => 'optionsTable',
|
5859 |
+
'l' => 'EN',
|
5860 |
+
'tag' => false
|
5861 |
+
);
|
5862 |
+
|
5863 |
+
foreach ($cd as $k => $v) {
|
5864 |
+
if (isset($c[$k])) {
|
5865 |
+
${$k} = $c[$k];
|
5866 |
+
} else {
|
5867 |
+
${$k} = $v;
|
5868 |
+
}
|
5869 |
+
}
|
5870 |
+
|
5871 |
+
$js = '';
|
5872 |
+
|
5873 |
+
if ($tag) {
|
5874 |
+
$js .= '<script type="text/javascript">'."\n";
|
5875 |
+
}
|
5876 |
+
|
5877 |
+
$js .= <<<EOT
|
5878 |
+
jQuery(function () {
|
5879 |
+
var optionsTable = '$cls';
|
5880 |
+
var chooseToFind = {'EN': 'Options (Choose to find)', 'DE': 'Optionen (auswählen um zu finden)'};
|
5881 |
+
var l = '$l';
|
5882 |
+
|
5883 |
+
var scrollToAnchor = function(aid, adj, ttt, clb) {
|
5884 |
+
var aTag;
|
5885 |
+
adj = adj || -30;
|
5886 |
+
ttt = ttt || 'slow';
|
5887 |
+
clb = clb || function(){};
|
5888 |
+
|
5889 |
+
if (aid instanceof jQuery) {
|
5890 |
+
aTag = aid;
|
5891 |
+
} else if (aid && (aid.indexOf('.') != -1 || aid.indexOf('#') != -1)) {
|
5892 |
+
aTag = $(aid);
|
5893 |
+
} else {
|
5894 |
+
aTag = $('a[name="'+ aid +'"]');
|
5895 |
+
}
|
5896 |
+
|
5897 |
+
if (aTag.length == 0){
|
5898 |
+
return;
|
5899 |
+
}
|
5900 |
+
|
5901 |
+
var offs = aTag.offset();
|
5902 |
+
var naviH = jQuery('#az_topNaviAjaxZoom').height() || 0;
|
5903 |
+
var scrollT = offs.top - naviH + (adj || 0);
|
5904 |
+
if (offs && offs.top) {
|
5905 |
+
jQuery('html, body').animate( {
|
5906 |
+
scrollTop: scrollT
|
5907 |
+
}, {
|
5908 |
+
duration: ttt,
|
5909 |
+
queue: false,
|
5910 |
+
complete: clb
|
5911 |
+
} );
|
5912 |
+
}
|
5913 |
+
};
|
5914 |
+
|
5915 |
+
$('.' + optionsTable + ' code').each(function() {
|
5916 |
+
var _this = $(this);
|
5917 |
+
var c = $(this).html();
|
5918 |
+
try {
|
5919 |
+
var aaa = JSON.parse(c);
|
5920 |
+
var bbb = JSON.stringify(aaa, null, "\t");
|
5921 |
+
_this.html(bbb);
|
5922 |
+
}
|
5923 |
+
catch (e) {
|
5924 |
+
|
5925 |
+
}
|
5926 |
+
} );
|
5927 |
+
|
5928 |
+
jQuery('.' + optionsTable + ' code').each(function() {
|
5929 |
+
var _this = jQuery(this);
|
5930 |
+
var c = jQuery(this).html();
|
5931 |
+
|
5932 |
+
try {
|
5933 |
+
var aaa = JSON.parse(c);
|
5934 |
+
var bbb = JSON.stringify(aaa, null, "\t");
|
5935 |
+
_this.html(bbb);
|
5936 |
+
}
|
5937 |
+
catch (e) {
|
5938 |
+
|
5939 |
+
}
|
5940 |
+
} );
|
5941 |
+
|
5942 |
+
jQuery('.' + optionsTable + ':not(.methods) td:nth-child(2)').each(function() {
|
5943 |
+
var txt = jQuery.trim(jQuery(this).html());
|
5944 |
+
if (txt == 'false' || txt == 'true'){
|
5945 |
+
jQuery(this).html('<span style="color: green">'+txt+'</span>');
|
5946 |
+
} else if (txt == 'null' || txt == 'NULL') {
|
5947 |
+
jQuery(this).html('<span style="color: blue">null</span>');
|
5948 |
+
} else if (txt.charAt(0) == '{' || txt.charAt(0) == '[') {
|
5949 |
+
jQuery(this).html('<span style="color: #5F6364">'+txt+'</span>');
|
5950 |
+
} else if (parseFloat(txt) == txt) {
|
5951 |
+
jQuery(this).html('<span style="color: red">'+txt+'</span>');
|
5952 |
+
} else if (txt.charAt(0) != '"'){
|
5953 |
+
jQuery(this).html('<span>"'+txt+'"</span>');
|
5954 |
+
}
|
5955 |
+
} );
|
5956 |
+
|
5957 |
+
jQuery('.' + optionsTable + ' tbody[data-az_options_head]').each(function() {
|
5958 |
+
var a = '<i class="glyphicon glyphicon-triangle-right"></i>';
|
5959 |
+
jQuery('th', jQuery(this)).prepend(a);
|
5960 |
+
} );
|
5961 |
+
|
5962 |
+
jQuery('.' + optionsTable + ' tbody[data-az_options_head]').on('click', function(e) {
|
5963 |
+
var _this = jQuery(this);
|
5964 |
+
var val = jQuery(this).attr('data-az_options_head');
|
5965 |
+
if (jQuery('.' + optionsTable + ' tbody[data-az_options_cat="'+val+'"]').css('display') == 'none') {
|
5966 |
+
jQuery('i', _this).removeClass('glyphicon-triangle-right');
|
5967 |
+
jQuery('i', _this).addClass('glyphicon-triangle-bottom');
|
5968 |
+
} else {
|
5969 |
+
jQuery('i', _this).addClass('glyphicon-triangle-right');
|
5970 |
+
jQuery('i', _this).removeClass('glyphicon-triangle-bottom');
|
5971 |
+
}
|
5972 |
+
jQuery('.' + optionsTable + ' tbody[data-az_options_cat="'+val+'"]').toggle();
|
5973 |
+
_this.toggleClass('active');
|
5974 |
+
} ).addClass('active').trigger('click');
|
5975 |
+
|
5976 |
+
var opt = [];
|
5977 |
+
jQuery('.' + optionsTable + ' tr[data-az_opt_name]').each(function() {
|
5978 |
+
opt.push(jQuery(this).attr('data-az_opt_name'));
|
5979 |
+
} );
|
5980 |
+
opt.sort();
|
5981 |
+
|
5982 |
+
var sel = '<select><option value="">'+(chooseToFind[l] || chooseToFind['EN'])+'</option>';
|
5983 |
+
jQuery(opt).each(function(k, v) {
|
5984 |
+
sel += '<option value="'+v+'">'+v+'</option>';
|
5985 |
+
} );
|
5986 |
+
sel += '</select>';
|
5987 |
+
|
5988 |
+
sel = jQuery(sel).on('change', function() {
|
5989 |
+
var _this = jQuery(this).blur();
|
5990 |
+
var val = _this.blur().val();
|
5991 |
+
if (!val) {
|
5992 |
+
jQuery('.' + optionsTable + ' tbody[data-az_options_head]').each(function() {
|
5993 |
+
var _this = jQuery(this);
|
5994 |
+
if (_this.next().css('display') != 'none') {
|
5995 |
+
_this.trigger('click');
|
5996 |
+
}
|
5997 |
+
} );
|
5998 |
+
return;
|
5999 |
+
}
|
6000 |
+
var tr = jQuery('.' + optionsTable + ' tr[data-az_opt_name="'+val+'"]');
|
6001 |
+
if (tr.closest('tbody').css('display') == 'none') {
|
6002 |
+
var cat = tr.attr('data-az_opt_cat');
|
6003 |
+
jQuery('.' + optionsTable + ' tbody[data-az_options_head="'+cat+'"]').trigger('click');
|
6004 |
+
}
|
6005 |
+
tr.addClass('az_highlight_tr');
|
6006 |
+
scrollToAnchor(tr, -120, null, function() {
|
6007 |
+
setTimeout(function(){
|
6008 |
+
tr.removeClass('az_highlight_tr');
|
6009 |
+
}, 2000);
|
6010 |
+
} );
|
6011 |
+
} ).appendTo('#'+optionsTable+'Select');
|
6012 |
+
} );
|
6013 |
+
EOT;
|
6014 |
+
if ($tag) {
|
6015 |
+
$js .= '</script>'."\n";
|
6016 |
+
}
|
6017 |
+
return $js;
|
6018 |
+
}
|
6019 |
+
|
6020 |
+
public function docuCss($c = array())
|
6021 |
+
{
|
6022 |
+
$cd = array(
|
6023 |
+
'cls' => 'optionsTable',
|
6024 |
+
'l' => 'EN',
|
6025 |
+
'tag' => false
|
6026 |
+
);
|
6027 |
+
|
6028 |
+
foreach ($cd as $k => $v) {
|
6029 |
+
if (isset($c[$k])) {
|
6030 |
+
${$k} = $c[$k];
|
6031 |
+
} else {
|
6032 |
+
${$k} = $v;
|
6033 |
+
}
|
6034 |
+
}
|
6035 |
+
|
6036 |
+
$description = array(
|
6037 |
+
'EN' => 'Description',
|
6038 |
+
'DE' => 'Beschreibung'
|
6039 |
+
);
|
6040 |
+
|
6041 |
+
$css = '';
|
6042 |
+
|
6043 |
+
if ($tag) {
|
6044 |
+
$css .= '<style type="text/css">'."\n";
|
6045 |
+
}
|
6046 |
+
|
6047 |
+
$css .= '
|
6048 |
+
.optionsTable, .optionsTable * {box-sizing: border-box;}
|
6049 |
+
.optionsTable {width: 100%; border-spacing: 0; font-size: 10pt;
|
6050 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;}
|
6051 |
+
.optionsTable tbody[data-az_options_head].active th{background-color: #337AB7;
|
6052 |
+
border-color: #337AB7 !important; color: #FFF;}
|
6053 |
+
.optionsTable tbody[data-az_options_head] th i {margin-right: 10px; top: 0px; font-size: 10pt; color: #9E9E9E;}
|
6054 |
+
.optionsTable tbody[data-az_options_head].active th i{color: #FFF;}
|
6055 |
+
.optionsTable td {transition: background-color .15s ease;}
|
6056 |
+
.optionsTable th {white-space: nowrap;}
|
6057 |
+
.optionsTable td, .optionsTable th {padding-left: 5px; padding-right: 5px; vertical-align: top; line-height: 1.2em;
|
6058 |
+
text-align: left; padding-top: 3px; padding-bottom: 8px; border-bottom: 1px solid #DDD;}
|
6059 |
+
.optionsTable th {background-color: #EEE; padding-top: 10px;
|
6060 |
+
padding-bottom: 10px; font-size: 10pt; font-weight: bold;}
|
6061 |
+
.optionsTable th.optionsTabCat {cursor: pointer; background-color: #EEE; padding-top: 10px; padding-bottom: 10px;
|
6062 |
+
font-weight: normal; font-size:14pt; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;}
|
6063 |
+
|
6064 |
+
.optionsTable ul, .optionsTable ol {padding-left: 14px; margin-top: 0;}
|
6065 |
+
.optionsTable li {margin-bottom: 5px; padding-left: 14px;}
|
6066 |
+
.optionsTable tbody tr:nth-child(odd) { background-color: #F9F9F9;}
|
6067 |
+
.optionsTable tbody tr:nth-child(even) { background-color: #FFF;}
|
6068 |
+
.optionsTable .removed {text-decoration: line-through;}
|
6069 |
+
.optionsTable .optionsType {text-align: right; font-size: 8pt; font-weight: bold; position: relative; color: #777;
|
6070 |
+
top: -3px; right: -2px; float: right; margin-left: 20px; margin-bottom: 11pt;min-width: 100px;}
|
6071 |
+
|
6072 |
+
.optionsTable tr td:last-child{border-right: #DDD 1px solid;}
|
6073 |
+
.optionsTable tr th:last-child{border-right: #DDD 1px solid;}
|
6074 |
+
.optionsTable tr td:first-child{border-left: #DDD 1px solid;}
|
6075 |
+
.optionsTable tr th:first-child{border-left: #DDD 1px solid;}
|
6076 |
+
.optionsTable tbody:first-child tr:first-child th{border-top: #DDD 1px solid;}
|
6077 |
+
|
6078 |
+
.optionsTable .az_highlight_tr, .optionsTable .az_highlight_tr td {background-color: yellow;
|
6079 |
+
transition: background-color .15s ease;}
|
6080 |
+
.optionsTable .optionsDefaultHeading {font-weight: bold; margin-top: 20px;}
|
6081 |
+
.optionsTable pre {border-radius: 0; border-top-width: 0; border-right-width: 0; border-bottom-width: 0;
|
6082 |
+
box-shadow: none; margin-top: 0; white-space: pre-wrap;}
|
6083 |
+
.optionsTable code{border-top: #DDD 1px solid; border-right: #DDD 1px solid; border-bottom: #DDD 1px solid;
|
6084 |
+
white-space: pre-wrap; padding-left: 2px; padding-right: 2px; tab-size: 2;}
|
6085 |
+
|
6086 |
+
@media only screen and (max-width: 1024px){
|
6087 |
+
.optionsTable tbody tr:nth-child(odd) {background-color: #FFF;}
|
6088 |
+
.optionsTable,.optionsTable>tbody,.optionsTable>tbody>tr>th,
|
6089 |
+
.optionsTable>tbody>tr>td,.optionsTable>tbody>tr {display: block;}
|
6090 |
+
.optionsTable>tbody>tr>th:not(.optionsTabCat) {display: none;}
|
6091 |
+
.optionsTable>tbody>tr>td {position: relative; padding-left: 100px;}
|
6092 |
+
.optionsTable>tbody>tr>td:nth-of-type(1), .optionsTable>tbody>tr>td:nth-of-type(2),
|
6093 |
+
.optionsTable>tbody>tr>td:nth-of-type(3) {border-bottom: 1px solid #DDD;}
|
6094 |
+
.optionsTable tr[data-az_opt_name]>td:nth-of-type(1){padding-bottom: 5px; padding-top: 5px;}
|
6095 |
+
.optionsTable tr[data-az_opt_name]>td:nth-of-type(2){border-bottom: none;
|
6096 |
+
border-left: #DDD 1px solid; border-right: #DDD 1px solid;}
|
6097 |
+
.optionsTable>tbody>tr.subOpt>td{background-color: #D4D4D4; color: #000;}
|
6098 |
+
.optionsTable>tbody>tr>td[colspan="3"] {background-color: #FFF !important;}
|
6099 |
+
.optionsTable>tbody>tr>td:before {position: absolute; top: 3px; left: 3px;width: 90px; white-space: nowrap;}
|
6100 |
+
.optionsTable tr:nth-child(2n+1) {background-color: #FFF;}
|
6101 |
+
.optionsTable>tbody>tr>td:nth-of-type(1) {background-color: #EEE; font-size:14pt;
|
6102 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
6103 |
+
border-left: #DDD 1px solid; border-right: #DDD 1px solid;}
|
6104 |
+
.optionsTable>tbody>tr>td:nth-of-type(3) {overflow-x: hidden; border-left: #DDD 1px solid;}
|
6105 |
+
.optionsTable>tbody>tr>td:nth-of-type(1):before { content: "";}
|
6106 |
+
.optionsTable>tbody>tr>td:nth-of-type(2):before { content: "Default:";}
|
6107 |
+
.optionsTable>tbody>tr>td:nth-of-type(3):before {
|
6108 |
+
content: "'.(isset($description[$l]) ? $description[$l] : $description['EN']).':";}
|
6109 |
+
}
|
6110 |
+
';
|
6111 |
+
|
6112 |
+
if ($tag) {
|
6113 |
+
$css .= '</style>'."\n";
|
6114 |
+
}
|
6115 |
+
|
6116 |
+
if ($cls != 'optionsTable') {
|
6117 |
+
$css = str_replace('.optionsTable', '.'.$cls, $css);
|
6118 |
+
}
|
6119 |
+
|
6120 |
+
return $css;
|
6121 |
+
}
|
6122 |
+
|
6123 |
+
public function arrayToXml($data, $xml_data)
|
6124 |
+
{
|
6125 |
+
foreach ($data as $key => $value) {
|
6126 |
+
if (is_numeric($key)) {
|
6127 |
+
$key = 'item'.$key;
|
6128 |
+
}
|
6129 |
+
if (is_array($value)) {
|
6130 |
+
$subnode = $xml_data->addChild($key);
|
6131 |
+
if (isset($value['attributes']) && is_array($value['attributes'])) {
|
6132 |
+
foreach ($value['attributes'] as $k => $v) {
|
6133 |
+
$subnode->addAttribute($k, $v);
|
6134 |
+
}
|
6135 |
+
unset($value['attributes']);
|
6136 |
+
}
|
6137 |
+
$this->arrayToXml($value, $subnode);
|
6138 |
+
} else {
|
6139 |
+
$xml_data->addChild($key, htmlspecialchars($value));
|
6140 |
+
}
|
6141 |
+
}
|
6142 |
+
return $xml_data;
|
6143 |
+
}
|
6144 |
+
|
6145 |
+
public function magento_xml_config()
|
6146 |
+
{
|
6147 |
+
$data = array();
|
6148 |
+
foreach ($this->categories as $k => $v) {
|
6149 |
+
if (!empty($this->exclude_cat_vendor) && in_array($k, $this->exclude_cat_vendor)) {
|
6150 |
+
continue;
|
6151 |
+
}
|
6152 |
+
|
6153 |
+
$data[$k] = array();
|
6154 |
+
}
|
6155 |
+
|
6156 |
+
$cnf = $this->getConfig();
|
6157 |
+
|
6158 |
+
foreach ($cnf as $k => $v) {
|
6159 |
+
$cat = $v['category'];
|
6160 |
+
|
6161 |
+
if (!isset($data[$cat]) || in_array($k, $this->exclude_opt_vendor)) {
|
6162 |
+
continue;
|
6163 |
+
}
|
6164 |
+
$data[$cat][$k] = $this->jsVal($v['default'], true, false, true);
|
6165 |
+
}
|
6166 |
+
|
6167 |
+
$xml_data = new SimpleXMLElement('<?xml version="1.0"?><axzoom_options></axzoom_options>');
|
6168 |
+
$xml_data = $this->arrayToXml($data, $xml_data);
|
6169 |
+
return $xml_data->asXML();
|
6170 |
+
}
|
6171 |
+
|
6172 |
+
public function magento_xml_system()
|
6173 |
+
{
|
6174 |
+
$l = 'EN';
|
6175 |
+
$data = array();
|
6176 |
+
|
6177 |
+
$data['general'] = array(
|
6178 |
+
'attributes' => array(
|
6179 |
+
'translate' => 'label'
|
6180 |
+
),
|
6181 |
+
'label' => 'About ',
|
6182 |
+
'frontend_type' => 'text',
|
6183 |
+
'sort_order' => 10,
|
6184 |
+
'show_in_default' => 1,
|
6185 |
+
'show_in_website' => 0,
|
6186 |
+
'show_in_store' => 0,
|
6187 |
+
'comment' => '
|
6188 |
+
<![CDATA[
|
6189 |
+
<style>
|
6190 |
+
.importantAZoption{
|
6191 |
+
color: #3d6611 !important;
|
6192 |
+
font-weight: bolder;
|
6193 |
+
background-position: 0 0 !important;
|
6194 |
+
padding-left: 24px;
|
6195 |
+
background-color: transparent !important;
|
6196 |
+
border-width: 0 !important;
|
6197 |
+
word-break: break-all;
|
6198 |
+
}
|
6199 |
+
.comment a{
|
6200 |
+
color: #ea7601 !important;
|
6201 |
+
}
|
6202 |
+
.importantAZcolor{
|
6203 |
+
color: #3d6611 !important;
|
6204 |
+
font-weight: bolder;
|
6205 |
+
}
|
6206 |
+
#licType{
|
6207 |
+
width: 100px !important;
|
6208 |
+
}
|
6209 |
+
</style>
|
6210 |
+
|
6211 |
+
<script>
|
6212 |
+
var az_getCoordsEl = function(elem) {
|
6213 |
+
var box = elem.getBoundingClientRect();
|
6214 |
+
var body = document.body;
|
6215 |
+
var docEl = document.documentElement;
|
6216 |
+
var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
|
6217 |
+
var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
|
6218 |
+
var clientTop = docEl.clientTop || body.clientTop || 0;
|
6219 |
+
var clientLeft = docEl.clientLeft || body.clientLeft || 0;
|
6220 |
+
var top = box.top + scrollTop - clientTop;
|
6221 |
+
var left = box.left + scrollLeft - clientLeft;
|
6222 |
+
return { top: Math.round(top), left: Math.round(left) };
|
6223 |
+
};
|
6224 |
+
// Fieldset.az_open("axzoom_options_mouseOverZoomParam", "axzoom_options_mouseOverZoomParam_zoomWidth");
|
6225 |
+
if (Fieldset){
|
6226 |
+
Fieldset.az_open = function(containerId, scrollToElId){
|
6227 |
+
var test_col = $(containerId + "-state").value;
|
6228 |
+
if (test_col == 0){
|
6229 |
+
this.toggleCollapse(containerId);
|
6230 |
+
}
|
6231 |
+
if (scrollToElId){
|
6232 |
+
var ell = document.getElementById(scrollToElId);
|
6233 |
+
if (ell){
|
6234 |
+
var targetY = az_getCoordsEl(ell)["top"] - 50;
|
6235 |
+
if (targetY < 0){return;}
|
6236 |
+
window.scrollTo(0, targetY);
|
6237 |
+
}
|
6238 |
+
}
|
6239 |
+
}
|
6240 |
+
}else{
|
6241 |
+
Fieldset = {
|
6242 |
+
az_open: function(containerId){
|
6243 |
+
return;
|
6244 |
+
}
|
6245 |
+
};
|
6246 |
+
}
|
6247 |
+
</script>
|
6248 |
+
<p>AJAX-ZOOM is a multipurpose library for displaying (high resolution) images and 360°/3D spins. <br>
|
6249 |
+
This Magento extension integrates only one particular implementation (example) from AJAX-ZOOM library into Magento. <br>
|
6250 |
+
The independent example can be found here:
|
6251 |
+
<a target="_blank" href="http://www.ajax-zoom.com/examples/example32.php">
|
6252 |
+
http://www.ajax-zoom.com/examples/example32.php
|
6253 |
+
</a><br>
|
6254 |
+
There you will also find some subtle details about the options which you can configure below. <br>
|
6255 |
+
The options below mainly refer to this one implementation / example. <br><br>
|
6256 |
+
<b>However</b> AJAX-ZOOM has many other options which can be set manually in
|
6257 |
+
<code>/js/axzoom/axZm/zoomConfigCustom.inc.php</code>
|
6258 |
+
after <br> <code>elseif ($_GET[\'example\'] == \'mouseOverExtension360Ver5\')</code>.
|
6259 |
+
You can also override any PHP options contained in
|
6260 |
+
<code>/js/axzoom/axZm/zoomConfig.inc.php</code> and
|
6261 |
+
<code>/js/axzoom/axZm/zoomConfigCustom.inc.php</code> by editing
|
6262 |
+
<code>/js/axzoom/zoomConfigCustomAZ.inc.php</code><br>
|
6263 |
+
</p>
|
6264 |
+
If you do not want to edit PHP files - most of the options can be also set in these
|
6265 |
+
formfields as JS plain object:
|
6266 |
+
<ol style="margin-left: 25px; list-style: decimal">
|
6267 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open(\'axzoom_options_general_settings\', \'axzoom_options_general_settings_azOptions\')">azOptions</a> - for 2D zoom</li>
|
6268 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open(\'axzoom_options_general_settings\', \'axzoom_options_general_settings_azOptions360\')">azOptions360</a> - for 360/3D zoom</li>
|
6269 |
+
</ol><br>
|
6270 |
+
Depending on the template used you might need to adjust especially these two options:
|
6271 |
+
<ol style="margin-left: 25px; list-style: decimal">
|
6272 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open(\'axzoom_options_mouseover\', \'axzoom_options_mouseover_zoomWidth\')">zoomWidth</a> - width of the mouseover flyout window</li>
|
6273 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open(\'axzoom_options_mouseover\', \'axzoom_options_mouseover_zoomHeight\')">zoomHeight</a> - height of the mouseover flyout window</li>
|
6274 |
+
</ol><br>
|
6275 |
+
<p>If you will be not able to adjust these options on your own please
|
6276 |
+
<a target="_blank" href="http://www.ajax-zoom.com/index.php?cid=contact">ask for support</a>
|
6277 |
+
</p>
|
6278 |
+
<p>Other useful / most common options are marked <span class="importantAZcolor">green</span> with this symbol:
|
6279 |
+
<span class="notice-msg importantAZoption"></span>
|
6280 |
+
</p>
|
6281 |
+
]]>
|
6282 |
+
'
|
6283 |
+
);
|
6284 |
+
$data['actions'] = array(
|
6285 |
+
'attributes' => array(
|
6286 |
+
'translate' => 'label'
|
6287 |
+
),
|
6288 |
+
'label' => 'Actions',
|
6289 |
+
'frontend_type' => 'text',
|
6290 |
+
'sort_order' => 20,
|
6291 |
+
'show_in_default' => 1,
|
6292 |
+
'show_in_website' => 1,
|
6293 |
+
'show_in_store' => 1,
|
6294 |
+
'fields' => array(
|
6295 |
+
'resetbutton' => array(
|
6296 |
+
'label' => 'Reset all options to default values',
|
6297 |
+
'comment' => '<![CDATA[
|
6298 |
+
Reset all options except licenses to their default values
|
6299 |
+
]]>',
|
6300 |
+
'frontend_model' => 'zoom/adminhtml_system_config_form_resetbutton',
|
6301 |
+
'sort_order' => 1,
|
6302 |
+
'show_in_default' => 1,
|
6303 |
+
'show_in_website' => 1,
|
6304 |
+
'show_in_store' => 1
|
6305 |
+
),
|
6306 |
+
'numberimages' => array(
|
6307 |
+
'label' => 'Get number images',
|
6308 |
+
'comment' => '<![CDATA[
|
6309 |
+
Request total number of images
|
6310 |
+
]]>',
|
6311 |
+
'frontend_model' => 'zoom/adminhtml_system_config_form_numberimages',
|
6312 |
+
'sort_order' => 2,
|
6313 |
+
'show_in_default' => 1,
|
6314 |
+
'show_in_website' => 1,
|
6315 |
+
'show_in_store' => 1
|
6316 |
+
)
|
6317 |
+
)
|
6318 |
+
);
|
6319 |
+
$data['license'] = array(
|
6320 |
+
'attributes' => array(
|
6321 |
+
'translate' => 'label'
|
6322 |
+
),
|
6323 |
+
'label' => 'AJAX-ZOOM license(s)',
|
6324 |
+
'frontend_type' => 'text',
|
6325 |
+
'sort_order' => 30,
|
6326 |
+
'show_in_default' => 1,
|
6327 |
+
'show_in_website' => 1,
|
6328 |
+
'show_in_store' => 1,
|
6329 |
+
'fields' => array(
|
6330 |
+
'lic' => array(
|
6331 |
+
'label' => 'License',
|
6332 |
+
'comment' => '<![CDATA[
|
6333 |
+
<a href="http://www.ajax-zoom.com/index.php?cid=contact" target="_blank">
|
6334 |
+
Ask for support</a>
|
6335 |
+
<a href="http://www.ajax-zoom.com/index.php?cid=download#heading_3" target="_blank">
|
6336 |
+
Buy a license</a>
|
6337 |
+
]]>',
|
6338 |
+
'frontend_model' => 'zoom/adminhtml_system_config_fieldset_license',
|
6339 |
+
'backend_model' => 'adminhtml/system_config_backend_serialized_array',
|
6340 |
+
'sort_order' => 1,
|
6341 |
+
'show_in_default' => 1,
|
6342 |
+
'show_in_website' => 1,
|
6343 |
+
'show_in_store' => 1
|
6344 |
+
)
|
6345 |
+
)
|
6346 |
+
);
|
6347 |
+
|
6348 |
+
$n = 0;
|
6349 |
+
$cat_sort_start = 40;
|
6350 |
+
foreach ($this->categories as $k => $v) {
|
6351 |
+
if (!empty($this->exclude_cat_vendor) && in_array($k, $this->exclude_cat_vendor)) {
|
6352 |
+
continue;
|
6353 |
+
}
|
6354 |
+
$data[$k] = array();
|
6355 |
+
$data[$k]['attributes'] = array(
|
6356 |
+
'translate' => 'label'
|
6357 |
+
);
|
6358 |
+
$data[$k]['label'] = $v['title'][$l];
|
6359 |
+
$data[$k]['frontend_type'] = 'text';
|
6360 |
+
$data[$k]['sort_order'] = $cat_sort_start + 10 * $n;
|
6361 |
+
$data[$k]['show_in_default'] = 1;
|
6362 |
+
$data[$k]['show_in_website'] = 1;
|
6363 |
+
$data[$k]['show_in_store'] = 1;
|
6364 |
+
$data[$k]['fields'] = array();
|
6365 |
+
$n++;
|
6366 |
+
}
|
6367 |
+
|
6368 |
+
$n = 0;
|
6369 |
+
$cat_sort_start = 10;
|
6370 |
+
$prev_cat = '';
|
6371 |
+
$cnf = $this->getConfig();
|
6372 |
+
foreach ($cnf as $k => $v) {
|
6373 |
+
$cat = $v['category'];
|
6374 |
+
|
6375 |
+
if (!isset($data[$cat]) || in_array($k, $this->exclude_opt_vendor)) {
|
6376 |
+
continue;
|
6377 |
+
}
|
6378 |
+
|
6379 |
+
if ($prev_cat != $cat) {
|
6380 |
+
$n = 0;
|
6381 |
+
}
|
6382 |
+
|
6383 |
+
$arr = array();
|
6384 |
+
if (isset($v['important']) && $v['important'] === true) {
|
6385 |
+
$arr['label'] = '<![CDATA[<div class="notice-msg importantAZoption">'.$k.'</div>]]>';
|
6386 |
+
} else {
|
6387 |
+
$arr['label'] = $k;
|
6388 |
+
}
|
6389 |
+
|
6390 |
+
$v['comment'][$l] = trim($v['comment'][$l]);
|
6391 |
+
|
6392 |
+
if (isset($v['isJsObject']) && $v['isJsObject'] === true) {
|
6393 |
+
$arr['comment'] = '<![CDATA[
|
6394 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
6395 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
6396 |
+
'.$v['comment'][$l].'
|
6397 |
+
]]>';
|
6398 |
+
} elseif (isset($v['isJsArray']) && $v['isJsArray'] === true) {
|
6399 |
+
$arr['comment'] = '<![CDATA[
|
6400 |
+
<div class="validation-advice">Attention: you are editing JavaScript array!
|
6401 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
6402 |
+
'.$v['comment'][$l].'
|
6403 |
+
]]>';
|
6404 |
+
} else {
|
6405 |
+
$arr['comment'] = '<![CDATA['.$v['comment'][$l].']]>';
|
6406 |
+
}
|
6407 |
+
|
6408 |
+
if ($v['display'] == 'switch') {
|
6409 |
+
$arr['frontend_type'] = 'select';
|
6410 |
+
$arr['source_model'] = 'axzoom/azsettings::yesno';
|
6411 |
+
} elseif ($v['display'] == 'select') {
|
6412 |
+
$arr['frontend_type'] = 'select';
|
6413 |
+
$arr['source_model'] = 'axzoom/azsettings::'.$k;
|
6414 |
+
} elseif ($v['display'] == 'textarea') {
|
6415 |
+
$arr['frontend_type'] = 'textarea';
|
6416 |
+
} elseif ($v['display'] == 'text') {
|
6417 |
+
$arr['frontend_type'] = 'text';
|
6418 |
+
}
|
6419 |
+
|
6420 |
+
$arr['sort_order'] = $cat_sort_start + 10 * $n;
|
6421 |
+
$arr['show_in_default'] = 1;
|
6422 |
+
$arr['show_in_website'] = 1;
|
6423 |
+
$arr['show_in_store'] = 1;
|
6424 |
+
$data[$cat]['fields'][$k] = $arr;
|
6425 |
+
$prev_cat = $cat;
|
6426 |
+
$n++;
|
6427 |
+
}
|
6428 |
+
|
6429 |
+
$xml_data = new SimpleXMLElement('<?xml version="1.0"?><groups></groups>');
|
6430 |
+
$xml_data = $this->arrayToXml($data, $xml_data);
|
6431 |
+
return $xml_data->asXML();
|
6432 |
+
}
|
6433 |
+
}
|
6434 |
+
}
|
app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Fieldset/License.php
CHANGED
@@ -1,16 +1,16 @@
|
|
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-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -22,6 +22,7 @@ class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminh
|
|
22 |
'label' => Mage::helper('axzoom')->__('Domain'),
|
23 |
'style' => 'width:200px'
|
24 |
));
|
|
|
25 |
$this->addColumn('type', array(
|
26 |
'label' => Mage::helper('axzoom')->__('License Type'),
|
27 |
'renderer' => 'bla'
|
@@ -41,16 +42,16 @@ class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminh
|
|
41 |
'label' => Mage::helper('axzoom')->__('Error300'),
|
42 |
'style' => 'width:100px'
|
43 |
));
|
44 |
-
|
45 |
$this->_addAfter = false;
|
46 |
$this->_addButtonLabel = Mage::helper('axzoom')->__('Add');
|
47 |
}
|
48 |
|
49 |
protected function _renderCellTemplate($columnName)
|
50 |
-
{
|
51 |
if ($columnName == 'type') {
|
52 |
$el = $this->getElement();
|
53 |
-
|
54 |
$inputName = $this->getElement()->getName() . '[#{_id}][' . $columnName . ']';
|
55 |
$rendered = '<select id="licType" name="' . $inputName . '">';
|
56 |
$rendered .= '<option value="evaluation" #{option_extra_attr_evaluation}>evaluation</option>';
|
@@ -62,7 +63,7 @@ class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminh
|
|
62 |
$rendered .= '<option value="enterprise" #{option_extra_attr_enterprise}>enterprise</option>';
|
63 |
$rendered .= '<option value="unlimited" #{option_extra_attr_unlimited}>unlimited</option>';
|
64 |
$rendered .= '</select>';
|
65 |
-
|
66 |
return $rendered;
|
67 |
}
|
68 |
return parent::_renderCellTemplate($columnName);
|
@@ -74,6 +75,5 @@ class Ax_Zoom_Block_Adminhtml_System_Config_Fieldset_License extends Mage_Adminh
|
|
74 |
'option_extra_attr_' . $row->getData('type'),
|
75 |
'selected="selected"'
|
76 |
);
|
77 |
-
}
|
78 |
}
|
79 |
-
?>
|
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-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
22 |
'label' => Mage::helper('axzoom')->__('Domain'),
|
23 |
'style' => 'width:200px'
|
24 |
));
|
25 |
+
|
26 |
$this->addColumn('type', array(
|
27 |
'label' => Mage::helper('axzoom')->__('License Type'),
|
28 |
'renderer' => 'bla'
|
42 |
'label' => Mage::helper('axzoom')->__('Error300'),
|
43 |
'style' => 'width:100px'
|
44 |
));
|
45 |
+
|
46 |
$this->_addAfter = false;
|
47 |
$this->_addButtonLabel = Mage::helper('axzoom')->__('Add');
|
48 |
}
|
49 |
|
50 |
protected function _renderCellTemplate($columnName)
|
51 |
+
{
|
52 |
if ($columnName == 'type') {
|
53 |
$el = $this->getElement();
|
54 |
+
|
55 |
$inputName = $this->getElement()->getName() . '[#{_id}][' . $columnName . ']';
|
56 |
$rendered = '<select id="licType" name="' . $inputName . '">';
|
57 |
$rendered .= '<option value="evaluation" #{option_extra_attr_evaluation}>evaluation</option>';
|
63 |
$rendered .= '<option value="enterprise" #{option_extra_attr_enterprise}>enterprise</option>';
|
64 |
$rendered .= '<option value="unlimited" #{option_extra_attr_unlimited}>unlimited</option>';
|
65 |
$rendered .= '</select>';
|
66 |
+
|
67 |
return $rendered;
|
68 |
}
|
69 |
return parent::_renderCellTemplate($columnName);
|
75 |
'option_extra_attr_' . $row->getData('type'),
|
76 |
'selected="selected"'
|
77 |
);
|
78 |
+
}
|
79 |
}
|
|
app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Form/Numberimages.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Form/Numberimages.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 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_Form_Numberimages extends Mage_Adminhtml_Block_System_Config_Form_Field
|
18 |
+
{
|
19 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
20 |
+
{
|
21 |
+
//$html = parent::_getElementHtml($element);
|
22 |
+
$html = '';
|
23 |
+
$html .= '<script src="'.Mage::getModel('axzoom/ax360')->rootFolder().'js/axzoom/check_jquery_admin.js"></script>';
|
24 |
+
$html .= '<table><tr><td style="padding-right: 20px;">Unique images: </td><td><span id="axzoom_getnumberimages_2d"> ? </span> (from DB)</td></tr>';
|
25 |
+
$html .= '<tr><td>Images 360° / 3D: </td><td><span id="axzoom_getnumberimages_360"> ? </span></td></tr>';
|
26 |
+
$html .= '<tr><td>Sum: </td><td><span id="axzoom_getnumberimages_sum"> 0 </span></td></tr></table>';
|
27 |
+
$html .= '<button type="button" onsubmit="return false;" id="axzoom_getnumberimages" style="width: 100%;"><span></span>Get number images</button>';
|
28 |
+
$html .= '<script>
|
29 |
+
jQuery("#axzoom_getnumberimages")
|
30 |
+
.bind("click", function() {
|
31 |
+
jQuery("#axzoom_getnumberimages_2d, #axzoom_getnumberimages_360").html("⌚");
|
32 |
+
jQuery.ajax( {
|
33 |
+
url: "'.Mage::helper("adminhtml")->getUrl("adminhtml/axzoom/GetNumberImages").'",
|
34 |
+
success: function(data) {
|
35 |
+
if (typeof data == "string") {
|
36 |
+
data = JSON.parse(data);
|
37 |
+
}
|
38 |
+
jQuery("#axzoom_getnumberimages_2d").html(data.images2d);
|
39 |
+
jQuery("#axzoom_getnumberimages_360").html(data.images360);
|
40 |
+
jQuery("#axzoom_getnumberimages_sum").html(parseInt(data.images360) + parseInt(data.images2d));
|
41 |
+
},
|
42 |
+
error: function(data) {
|
43 |
+
alert("[TECHNICAL ERROR]");
|
44 |
+
}
|
45 |
+
});
|
46 |
+
});
|
47 |
+
</script>';
|
48 |
+
return $html;
|
49 |
+
}
|
50 |
+
}
|
app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Form/Resetbutton.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Block/Adminhtml/System/Config/Form/Button.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 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_Form_Resetbutton extends Mage_Adminhtml_Block_System_Config_Form_Field
|
18 |
+
{
|
19 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
20 |
+
{
|
21 |
+
//$html = parent::_getElementHtml($element);
|
22 |
+
$html = '';
|
23 |
+
$html .= '<script src="'.Mage::getModel('axzoom/ax360')->rootFolder().'js/axzoom/check_jquery_admin.js"></script>';
|
24 |
+
$html .= '<button type="button" onsubmit="return false;" id="axzoom_reset_options" class="delete" style="width: 100%;"><span></span>Reset options</button>';
|
25 |
+
$html .= '<script>
|
26 |
+
jQuery("#axzoom_reset_options")
|
27 |
+
.bind("click", function() {
|
28 |
+
var result = confirm("Are you sure you want to reset all AJAX-ZOOM plugin options to their defaults?");
|
29 |
+
if (result) {
|
30 |
+
jQuery.ajax( {
|
31 |
+
url : "'.Mage::helper("adminhtml")->getUrl("adminhtml/axzoom/ResetAzExtension").'",
|
32 |
+
success : function(data) {
|
33 |
+
window.location.reload(true);
|
34 |
+
},
|
35 |
+
error : function(data) {
|
36 |
+
alert("[TECHNICAL ERROR]");
|
37 |
+
}
|
38 |
+
});
|
39 |
+
}
|
40 |
+
});
|
41 |
+
</script>';
|
42 |
+
return $html;
|
43 |
+
}
|
44 |
+
}
|
app/code/local/Ax/Zoom/Block/Adminhtml/Tabs/Tabid.php
CHANGED
@@ -1,16 +1,16 @@
|
|
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-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -20,30 +20,30 @@ class Ax_Zoom_Block_Adminhtml_Tabs_Tabid extends Mage_Adminhtml_Block_Widget
|
|
20 |
{
|
21 |
parent::__construct();
|
22 |
|
23 |
-
|
24 |
-
|
25 |
if (!empty($productId)) {
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
}
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
}
|
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-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
20 |
{
|
21 |
parent::__construct();
|
22 |
|
23 |
+
$productId = Mage::app()->getRequest()->getParam('id');
|
24 |
+
|
25 |
if (!empty($productId)) {
|
26 |
+
$this->assign(array(
|
27 |
+
'files' => $this->getArcList()
|
28 |
+
));
|
29 |
+
$this->setTemplate('axzoom/tab.phtml');
|
30 |
+
}
|
31 |
}
|
32 |
|
33 |
+
public function getArcList()
|
34 |
+
{
|
35 |
+
$baseDir = Mage::getBaseDir();
|
36 |
+
$files = array();
|
37 |
+
|
38 |
+
if ($handle = opendir($baseDir . '/js/axzoom/zip/')) {
|
39 |
+
while (false !== ($entry = readdir($handle))) {
|
40 |
+
if ($entry != '.' && $entry != '..' && (strtolower(substr($entry, -3)) == 'zip' || is_dir($baseDir . '/js/axzoom/zip/' . $entry)) ) {
|
41 |
+
array_push($files, $entry);
|
42 |
+
}
|
43 |
+
}
|
44 |
+
closedir($handle);
|
45 |
+
}
|
46 |
+
|
47 |
+
return $files;
|
48 |
+
}
|
49 |
+
}
|
app/code/local/Ax/Zoom/Helper/Data.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Data.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Data.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
app/code/local/Ax/Zoom/Helper/Head.php
CHANGED
@@ -1,49 +1,57 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Head.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
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 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Helper/Head.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 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()
|
20 |
+
{
|
21 |
+
return 'axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css';
|
22 |
+
}
|
23 |
+
|
24 |
+
public function getFancyboxJS()
|
25 |
+
{
|
26 |
+
return 'axzoom/axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.pack.js';
|
27 |
+
}
|
28 |
+
|
29 |
+
public function getFancyboxJSAX()
|
30 |
+
{
|
31 |
+
return 'axzoom/axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js';
|
32 |
+
}
|
33 |
+
|
34 |
+
public function getColorboxCSS()
|
35 |
+
{
|
36 |
+
return '';
|
37 |
+
}
|
38 |
+
|
39 |
+
public function getColorboxJS()
|
40 |
+
{
|
41 |
+
return '';
|
42 |
+
}
|
43 |
+
|
44 |
+
public function getSpinnerJS()
|
45 |
+
{
|
46 |
+
if (Mage::getStoreConfig('axzoom_options/mouseover/spinner') == 'true') {
|
47 |
+
return 'axzoom/axZm/plugins/spin/spin.min.js';
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
public function getPngModeCssFix()
|
52 |
+
{
|
53 |
+
if (Mage::getStoreConfig('axzoom_options/plugin_settings/pngModeCssFix') == 'true') {
|
54 |
+
return 'axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomPng.5.css';
|
55 |
+
}
|
56 |
+
}
|
57 |
+
}
|
app/code/local/Ax/Zoom/Model/Ax360.php
CHANGED
@@ -1,23 +1,23 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
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 |
-
|
20 |
-
|
21 |
|
22 |
protected function _construct()
|
23 |
{
|
@@ -27,271 +27,307 @@ class Ax_Zoom_Model_Ax360 extends Mage_Core_Model_Abstract
|
|
27 |
|
28 |
public function getSetsGroups($productId)
|
29 |
{
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
}
|
39 |
|
40 |
public function getSetsGroup($id360)
|
41 |
{
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
}
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
}
|
233 |
|
234 |
public function rootFolder()
|
235 |
{
|
236 |
return preg_replace('|js/$|', '', parse_url(Mage::getBaseUrl('js'), PHP_URL_PATH));
|
237 |
}
|
238 |
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
}
|
295 |
|
296 |
Ax_Zoom_Model_Ax360::$axZmH;
|
297 |
-
Ax_Zoom_Model_Ax360::$zoom;
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 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;
|
20 |
+
static $zoom;
|
21 |
|
22 |
protected function _construct()
|
23 |
{
|
27 |
|
28 |
public function getSetsGroups($productId)
|
29 |
{
|
30 |
+
$tblItems = Mage::getSingleton('core/resource')->getTableName('ajaxzoom360set');
|
31 |
+
$collection = Mage::getModel('axzoom/ax360')->getCollection();
|
32 |
+
$collection->getSelect()->join(array('i' => $tblItems),
|
33 |
+
'main_table.id_360 = i.id_360',
|
34 |
+
array('qty' => 'COUNT(i.id_360)', 'id_360set' => 'id_360set'));
|
35 |
+
|
36 |
+
$collection->getSelect()->group('main_table.id_360');
|
37 |
+
return $collection->addFieldToFilter('id_product', $productId)->getData();
|
38 |
}
|
39 |
|
40 |
public function getSetsGroup($id360)
|
41 |
{
|
42 |
+
$tblItems = Mage::getSingleton('core/resource')->getTableName('ajaxzoom360set');
|
43 |
+
$collection = Mage::getModel('axzoom/ax360')->getCollection();
|
44 |
+
$collection->getSelect()->join(array('i' => $tblItems),
|
45 |
+
'main_table.id_360 = i.id_360',
|
46 |
+
array('qty' => 'COUNT(i.id_360)', 'id_360set' => 'id_360set'));
|
47 |
+
|
48 |
+
$collection->getSelect()->group('main_table.id_360');
|
49 |
+
return $collection->addFieldToFilter('main_table.id_360', $id360)->getData();
|
50 |
}
|
51 |
|
52 |
+
public function images360Json($productId, $extraGroups = array())
|
53 |
+
{
|
54 |
+
$extraGroups = array_unique($extraGroups);
|
55 |
+
|
56 |
+
$json = '{';
|
57 |
+
$cnt = 1;
|
58 |
+
|
59 |
+
if (!is_array($productId)) {
|
60 |
+
$products = array($productId);
|
61 |
+
} else {
|
62 |
+
$products = $productId;
|
63 |
+
}
|
64 |
+
|
65 |
+
foreach ($products as $productId) {
|
66 |
+
$setsGroups = $this->getSetsGroups($productId);
|
67 |
+
foreach ($setsGroups as $group) {
|
68 |
+
|
69 |
+
if ($group['status'] == 0) {
|
70 |
+
continue;
|
71 |
+
}
|
72 |
+
|
73 |
+
$settings = $this->prepareSettings($group['settings']);
|
74 |
+
if (!empty($settings)) $settings = ", $settings";
|
75 |
+
|
76 |
+
if ($group['qty'] > 0) {
|
77 |
+
|
78 |
+
$crop = empty($group['crop']) ? '[]' : trim(preg_replace('/\s+/', ' ', $group['crop']));
|
79 |
+
$hotspot = empty($group['hotspot']) ? '[]' : trim(preg_replace('/\s+/', ' ', $group['hotspot']));
|
80 |
+
/*if ($group['qty'] == 1) {
|
81 |
+
$json .= "'" . $group['id_360'] . "'" . ": {'path': '" . $this->rootFolder() . "js/axzoom/pic/360/" . $productId . "/" . $group['id_360'] . "/" . $group['id_360set'] . "'" . $settings . ", 'combinations': [" . $group['combinations'] . "]";
|
82 |
+
} else {
|
83 |
+
$json .= "'" . $group['id_360'] . "'" . ": {'path': '" . $this->rootFolder() . "js/axzoom/pic/360/" . $productId . "/" . $group['id_360'] . "'" . $settings . ", 'combinations': [" . $group['combinations'] . "]";
|
84 |
+
}*/
|
85 |
+
|
86 |
+
if ($group['qty'] == 1) {
|
87 |
+
$json .= '"' . $group['id_360'] . '"' . ': {"path": "' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $group['id_360'] . '/' . $group['id_360set'] . '"' . $settings . ', "combinations": [' . $group['combinations'] . ']';
|
88 |
+
} else {
|
89 |
+
$json .= '"' . $group['id_360'] . '"' . ': {"path": "' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $group['id_360'] . '"' . $settings . ', "combinations": [' . $group['combinations'] . ']';
|
90 |
+
}
|
91 |
+
|
92 |
+
if ($crop && $crop != '[]') {
|
93 |
+
// this goes over parseJson
|
94 |
+
$crop = str_replace('\\', '\\\\', $crop);
|
95 |
+
$json .= ', "crop": '.$crop;
|
96 |
+
}
|
97 |
+
|
98 |
+
if ($hotspot && $hotspot != '{}') {
|
99 |
+
// this goes over parseJson
|
100 |
+
$hotspot = str_replace('\\', '\\\\', $hotspot);
|
101 |
+
$json .= ', "hotspotFilePath": '.$hotspot;
|
102 |
+
}
|
103 |
+
|
104 |
+
$json .= '}';
|
105 |
+
|
106 |
+
$cnt++;
|
107 |
+
if ($cnt != count($setsGroups)+1) $json .= ',';
|
108 |
+
}
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
$cnt = 1;
|
113 |
+
if ($extraGroups) {
|
114 |
+
foreach ($extraGroups as $id360) {
|
115 |
+
|
116 |
+
$setsGroup = $this->getSetsGroup($id360);
|
117 |
+
$group = $setsGroup[0];
|
118 |
+
|
119 |
+
if ($group['status'] == 0) {
|
120 |
+
continue;
|
121 |
+
}
|
122 |
+
|
123 |
+
$settings = $this->prepareSettings($group['settings']);
|
124 |
+
if (!empty($settings)) $settings = ", $settings";
|
125 |
+
|
126 |
+
if ($group['qty'] > 0) {
|
127 |
+
|
128 |
+
$crop = empty($group['crop']) ? '[]' : trim(preg_replace('/\s+/', ' ', $group['crop']));
|
129 |
+
$hotspot = empty($group['hotspot']) ? '[]' : trim(preg_replace('/\s+/', ' ', $group['hotspot']));
|
130 |
+
|
131 |
+
/*if ($group['qty'] == 1) {
|
132 |
+
$json .= "'" . $group['id_360'] . "'" . ": {'path': '" . $this->rootFolder() . "js/axzoom/pic/360/" . $group['id_product'] . "/" . $group['id_360'] . "/" . $group['id_360set'] . "'" . $settings . ", 'combinations': [" . $group['combinations'] . "]";
|
133 |
+
} else {
|
134 |
+
$json .= "'" . $group['id_360'] . "'" . ": {'path': '" . $this->rootFolder() . "js/axzoom/pic/360/" . $group['id_product'] . "/" . $group['id_360'] . "'" . $settings . ", 'combinations': [" . $group['combinations'] . "]";
|
135 |
+
}*/
|
136 |
+
|
137 |
+
if ($group['qty'] == 1) {
|
138 |
+
$json .= '"' . $group['id_360'] . '"' . ': {"path": "' . $this->rootFolder() . 'js/axzoom/pic/360/' . $group['id_product'] . '/' . $group['id_360'] . '/' . $group['id_360set'] . '"' . $settings . ', "combinations": [' . $group['combinations'] . ']';
|
139 |
+
} else {
|
140 |
+
$json .= '"' . $group['id_360'] . '"' . ': {"path": "' . $this->rootFolder() . 'js/axzoom/pic/360/' . $group['id_product'] . '/' . $group['id_360'] . '"' . $settings . ', "combinations": [' . $group['combinations'] . ']';
|
141 |
+
}
|
142 |
+
|
143 |
+
if ($crop && $crop != '[]') {
|
144 |
+
// this goes over parseJson
|
145 |
+
$crop = str_replace('\\', '\\\\', $crop);
|
146 |
+
$json .= ', "crop": '.$crop;
|
147 |
+
}
|
148 |
+
|
149 |
+
if ($hotspot && $hotspot != '{}') {
|
150 |
+
// this goes over parseJson
|
151 |
+
$hotspot = str_replace('\\', '\\\\', $hotspot);
|
152 |
+
$json .= ', "hotspotFilePath": '.$hotspot;
|
153 |
+
}
|
154 |
+
|
155 |
+
$json .= '}';
|
156 |
+
|
157 |
+
$cnt++;
|
158 |
+
if ($cnt != count($extraGroups)+1) $json .= ',';
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
$json .= '}';
|
164 |
+
$json = str_replace('\\n', '', $json);
|
165 |
+
return $json;
|
166 |
+
}
|
167 |
+
|
168 |
+
public function prepareSettings($str)
|
169 |
+
{
|
170 |
+
$res = array();
|
171 |
+
$settings = (array)Mage::helper('core')->jsonDecode($str);
|
172 |
+
foreach ($settings as $key => $value) {
|
173 |
+
if ($value == 'false' || $value == 'true' || $value == 'null' || is_numeric($value) || substr($value, 0, 1) == '{' || substr($value, 0, 1) == '[') {
|
174 |
+
$res[] = '"'.$key.'": '.$value;
|
175 |
+
} else {
|
176 |
+
$res[] = '"'.$key.'": "'.$value.'"';
|
177 |
+
}
|
178 |
+
}
|
179 |
+
return implode(', ', $res);
|
180 |
+
}
|
181 |
+
|
182 |
+
public function get360Images($productId, $id360set = '')
|
183 |
+
{
|
184 |
+
$files = array();
|
185 |
+
$id360 = Mage::getModel('axzoom/ax360set')->load($id360set)->getId_360();
|
186 |
+
|
187 |
+
$dir = Mage::getBaseDir() . '/js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set;
|
188 |
+
if (file_exists($dir) && $handle = opendir($dir)) {
|
189 |
+
while (false !== ($entry = readdir($handle))) {
|
190 |
+
if ($entry != "." && $entry != "..") {
|
191 |
+
$files[] = $entry;
|
192 |
+
}
|
193 |
+
}
|
194 |
+
closedir($handle);
|
195 |
+
}
|
196 |
+
sort($files);
|
197 |
+
|
198 |
+
$res = array();
|
199 |
+
foreach ($files as $entry) {
|
200 |
+
$tmp = explode('.', $entry);
|
201 |
+
$ext = end($tmp);
|
202 |
+
$name = preg_replace('|\.' . $ext . '$|', '', $entry);
|
203 |
+
$res[] = array(
|
204 |
+
'thumb' => Mage::getBaseUrl('js') . 'axzoom/axZm/zoomLoad.php?azImg=' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set . '/' . $entry . '&width=100&height=100&qual=90',
|
205 |
+
'filename' => $entry,
|
206 |
+
'id' => $name,
|
207 |
+
'ext' => $ext
|
208 |
+
);
|
209 |
+
}
|
210 |
+
|
211 |
+
return $res;
|
212 |
+
}
|
213 |
+
|
214 |
+
public function deleteImageAZcache($file)
|
215 |
+
{
|
216 |
+
// Include all classes
|
217 |
+
include_once (Mage::getBaseDir() . '/js/axzoom/axZm/zoomInc.inc.php');
|
218 |
+
|
219 |
+
//error_reporting(E_ALL);
|
220 |
+
|
221 |
+
if (!Ax_Zoom_Model_Ax360::$axZmH) {
|
222 |
+
Ax_Zoom_Model_Ax360::$axZmH = $axZmH;
|
223 |
+
Ax_Zoom_Model_Ax360::$zoom = $zoom;
|
224 |
+
}
|
225 |
+
|
226 |
+
// What to delete
|
227 |
+
$arrDel = array('In' => true, 'Th' => true, 'tC' => true, 'mO' => true, 'Ti' => true);
|
228 |
+
|
229 |
+
// Remove all cache
|
230 |
+
Ax_Zoom_Model_Ax360::$axZmH->removeAxZm(Ax_Zoom_Model_Ax360::$zoom, $file, $arrDel, false);
|
231 |
+
}
|
|
|
232 |
|
233 |
public function rootFolder()
|
234 |
{
|
235 |
return preg_replace('|js/$|', '', parse_url(Mage::getBaseUrl('js'), PHP_URL_PATH));
|
236 |
}
|
237 |
|
238 |
+
public function isProductActive($productId)
|
239 |
+
{
|
240 |
+
return !Mage::getModel('axzoom/axproducts')->getCollection()->addFieldToFilter('id_product', $productId)->count();
|
241 |
+
}
|
242 |
+
|
243 |
+
public function getCSV($input, $delimiter = ",", $enclosure = '"', $escape = "\\")
|
244 |
+
{
|
245 |
+
if (function_exists('str_getcsv')) {
|
246 |
+
return str_getcsv($input, $delimiter, $enclosure, $escape);
|
247 |
+
} else {
|
248 |
+
$temp = fopen('php://memory', 'rw');
|
249 |
+
fwrite($temp, $input);
|
250 |
+
fseek($temp, 0);
|
251 |
+
$r = fgetcsv($temp, 0, $delimiter, $enclosure);
|
252 |
+
fclose($temp);
|
253 |
+
return $r;
|
254 |
+
}
|
255 |
+
}
|
256 |
+
|
257 |
+
public function isOnlyProductActive($productId)
|
258 |
+
{
|
259 |
+
$products = Mage::getStoreConfig('axzoom_options/plugin_settings/displayOnlyForThisProductID');
|
260 |
+
$enableInFrontDetail = Mage::getStoreConfig('axzoom_options/plugin_settings/enableInFrontDetail');
|
261 |
+
|
262 |
+
if ($enableInFrontDetail == 'false') {
|
263 |
+
return false;
|
264 |
+
}
|
265 |
+
|
266 |
+
if (empty($products)) {
|
267 |
+
return true;
|
268 |
+
}
|
269 |
+
|
270 |
+
$arr = $this->getCSV($products);
|
271 |
+
if (in_array($productId, $arr)) {
|
272 |
+
return true;
|
273 |
+
}
|
274 |
+
return false;
|
275 |
+
}
|
276 |
+
|
277 |
+
public function imagesJsonAll($arr)
|
278 |
+
{
|
279 |
+
$imagesJson = array();
|
280 |
+
foreach ($arr as $k => $v) {
|
281 |
+
array_push($imagesJson, '{img: "' .$v . '", title: ""}');
|
282 |
+
}
|
283 |
+
return '[' .implode(', ', $imagesJson). ']';
|
284 |
+
}
|
285 |
+
|
286 |
+
public function findDefaultLabelValue($arr, $key)
|
287 |
+
{
|
288 |
+
if (!is_array($arr)) {
|
289 |
+
return false;
|
290 |
+
}
|
291 |
+
foreach ($arr as $k => $v) {
|
292 |
+
if (isset($v['value']) && $v['value'] == $key && isset($v['label'])) {
|
293 |
+
return $v['label'];
|
294 |
+
}
|
295 |
+
}
|
296 |
+
return false;
|
297 |
+
}
|
298 |
+
|
299 |
+
public function normalizeConfig($conf, $prefix = '')
|
300 |
+
{
|
301 |
+
$ret = array();
|
302 |
+
foreach ($conf as $cat => $items) {
|
303 |
+
foreach ($items as $k => $v) {
|
304 |
+
$ret[strtoupper($prefix).'_'.strtoupper($k)] = $v;
|
305 |
+
}
|
306 |
+
}
|
307 |
+
return $ret;
|
308 |
+
}
|
309 |
+
|
310 |
+
public function prepareInitParamFront($conf = array())
|
311 |
+
{
|
312 |
+
require_once dirname(dirname(__FILE__)).'/AzMouseoverSettings.php';
|
313 |
+
require dirname(dirname(__FILE__)).'/AzMouseoverConfig.php';
|
314 |
+
$mouseover_settings = new AzMouseoverSettings($az_mouseover_config_magento);
|
315 |
+
if (empty($conf)) {
|
316 |
+
$conf = Mage::getStoreConfig('axzoom_options');
|
317 |
+
}
|
318 |
+
|
319 |
+
return $mouseover_settings->getInitJs(array(
|
320 |
+
'cfg' => $this->normalizeConfig($conf, 'AJAXZOOM'),
|
321 |
+
'window' => 'window.',
|
322 |
+
'holder_object' => 'jQuery.axZm_psh',
|
323 |
+
'exclude_opt' => array(),
|
324 |
+
'exclude_cat' => array('video_settings'),
|
325 |
+
'ovrprefix' => 'AJAXZOOM',
|
326 |
+
'differ' => true,
|
327 |
+
'min' => true
|
328 |
+
));
|
329 |
+
}
|
330 |
}
|
331 |
|
332 |
Ax_Zoom_Model_Ax360::$axZmH;
|
333 |
+
Ax_Zoom_Model_Ax360::$zoom;
|
app/code/local/Ax/Zoom/Model/Ax360set.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360set.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -25,29 +25,29 @@ class Ax_Zoom_Model_Ax360set extends Mage_Core_Model_Abstract
|
|
25 |
public function getSets($productId)
|
26 |
{
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
}
|
48 |
|
49 |
public function rootFolder()
|
50 |
{
|
51 |
-
|
52 |
}
|
53 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Ax360set.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
25 |
public function getSets($productId)
|
26 |
{
|
27 |
|
28 |
+
$model = Mage::getModel('axzoom/ax360set');
|
29 |
+
$setsCollection = $model->getCollection();
|
30 |
+
|
31 |
+
$tbl_set_group = Mage::getSingleton('core/resource')->getTableName('ajaxzoom360');
|
32 |
+
$setsCollection->getSelect()->join(array('t2' => $tbl_set_group), 'main_table.id_360 = t2.id_360 AND t2.id_product = ' . $productId, array('t2.name', 't2.status'));
|
33 |
+
$sets = $setsCollection->getData();
|
34 |
+
|
35 |
+
$baseDir = Mage::getBaseDir();
|
36 |
+
$baseUrlJs = Mage::getBaseUrl('js');
|
37 |
+
|
38 |
+
foreach ($sets as &$set) {
|
39 |
+
if (file_exists($baseDir . '/js/axzoom/pic/360/' . $productId . '/' . $set['id_360'] . '/' . $set['id_360set'])) {
|
40 |
+
$set['path'] = $baseUrlJs . 'axzoom/axZm/zoomLoad.php?qq=1&azImg360=' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $set['id_360'] . '/' . $set['id_360set'] . '&width=100&height=100&thumbMode=contain';
|
41 |
+
} else {
|
42 |
+
$set['path'] = $baseUrlJs . 'axzoom/no_image-100x100.jpg';
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
return $sets;
|
47 |
}
|
48 |
|
49 |
public function rootFolder()
|
50 |
{
|
51 |
+
return preg_replace('|js/$|', '', parse_url(Mage::getBaseUrl('js'), PHP_URL_PATH));
|
52 |
}
|
53 |
+
}
|
app/code/local/Ax/Zoom/Model/Axproducts.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Axproducts.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -21,4 +21,4 @@ class Ax_Zoom_Model_Axproducts extends Mage_Core_Model_Abstract
|
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/axproducts');
|
23 |
}
|
24 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Axproducts.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/axproducts');
|
23 |
}
|
24 |
+
}
|
app/code/local/Ax/Zoom/Model/Azsettings.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Azsettings.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
+
*/
|
16 |
+
|
17 |
+
class Ax_Zoom_Model_Azsettings
|
18 |
+
{
|
19 |
+
public static $mouseover_settings;
|
20 |
+
public static $mouseover_cfg;
|
21 |
+
|
22 |
+
public function __call($func, $params)
|
23 |
+
{
|
24 |
+
$this->initAzOpt();
|
25 |
+
if ($func == 'yesno') {
|
26 |
+
return array(
|
27 |
+
'false' => Mage::helper('axzoom')->__('No'),
|
28 |
+
'true' => Mage::helper('axzoom')->__('Yes')
|
29 |
+
);
|
30 |
+
} elseif (isset(self::$mouseover_cfg[$func]) && is_array(self::$mouseover_cfg[$func]['options'])) {
|
31 |
+
return $this->retOptArr(self::$mouseover_cfg[$func]['options']);
|
32 |
+
} else {
|
33 |
+
return array();
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
public function initAzOpt()
|
38 |
+
{
|
39 |
+
if (!class_exists('AzMouseoverSettings', false) || !self::$mouseover_settings) {
|
40 |
+
require_once dirname(dirname(__FILE__)).'/AzMouseoverSettings.php';
|
41 |
+
require dirname(dirname(__FILE__)).'/AzMouseoverConfig.php';
|
42 |
+
self::$mouseover_settings = new AzMouseoverSettings($az_mouseover_config_magento);
|
43 |
+
self::$mouseover_cfg = self::$mouseover_settings->getConfig();
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
public function retOptArr($arr)
|
48 |
+
{
|
49 |
+
$ret = array();
|
50 |
+
|
51 |
+
foreach ($arr as $v) {
|
52 |
+
$ret[$v[0]] = Mage::helper('axzoom')->__($v[1]);
|
53 |
+
}
|
54 |
+
|
55 |
+
return $ret;
|
56 |
+
}
|
57 |
+
}
|
app/code/local/Ax/Zoom/Model/Galleryposition.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Galleryposition.php
|
4 |
-
* Copyright: Copyright (c) 2010-2016 Vadim Jacobi
|
5 |
-
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.2.0
|
7 |
-
* Date: 2016-05-07
|
8 |
-
* Review: 2016-05-07
|
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-2016 AJAX-ZOOM, Vadim Jacobi
|
14 |
-
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
-
*/
|
16 |
-
|
17 |
-
class Ax_Zoom_Model_Galleryposition
|
18 |
-
{
|
19 |
-
public function toOptionArray()
|
20 |
-
{
|
21 |
-
return array(
|
22 |
-
array('value'=>'top', 'label'=>Mage::helper('axzoom')->__('top')),
|
23 |
-
array('value'=>'right', 'label'=>Mage::helper('axzoom')->__('right')),
|
24 |
-
array('value'=>'bottom', 'label'=>Mage::helper('axzoom')->__('bottom')),
|
25 |
-
array('value'=>'left', 'label'=>Mage::helper('axzoom')->__('left'))
|
26 |
-
);
|
27 |
-
}
|
28 |
-
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Ax/Zoom/Model/Observer.php
CHANGED
@@ -1,38 +1,37 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Observer.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
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 |
{
|
20 |
-
|
21 |
if ($observer->getBlock() instanceof Mage_Catalog_Block_Product_View_Media) {
|
22 |
|
23 |
// if AJAX ZOOM is enabled for exact product then replace the product/view/media block
|
24 |
$productId = Mage::app()->getRequest()->getParam('id');
|
25 |
-
|
26 |
$ax = Mage::getModel('axzoom/ax360');
|
27 |
$active = $ax->isProductActive($productId);
|
28 |
|
29 |
-
if($active && $ax->isOnlyProductActive($productId)) {
|
30 |
$observer->getBlock()->setTemplate('ax_zoom/catalog/product/view/media.phtml');
|
31 |
}
|
32 |
}
|
33 |
}
|
34 |
|
35 |
-
|
36 |
public function productBefore($observer)
|
37 |
{
|
38 |
}
|
@@ -43,7 +42,7 @@ class Ax_Zoom_Model_Observer {
|
|
43 |
|
44 |
public function productSaveAfter($observer)
|
45 |
{
|
46 |
-
}
|
47 |
|
48 |
public function deleteProduct($observer)
|
49 |
{
|
@@ -68,8 +67,8 @@ class Ax_Zoom_Model_Observer {
|
|
68 |
public function save360($observer)
|
69 |
{
|
70 |
$productId = $observer->product->entity_id;
|
71 |
-
|
72 |
-
|
73 |
// remove images from Ax cache if image checked as remove
|
74 |
$images = Mage::helper('core')->jsonDecode($postData['product']['media_gallery']['images']);
|
75 |
foreach ($images as $image) {
|
@@ -77,30 +76,30 @@ class Ax_Zoom_Model_Observer {
|
|
77 |
Mage::getModel('axzoom/ax360')->deleteImageAZcache(basename($image['file']));
|
78 |
}
|
79 |
}
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
'settings' => urldecode($string),
|
93 |
'combinations' => urldecode($postData['comb'][$id_360])
|
94 |
-
|
95 |
-
|
96 |
}
|
97 |
-
|
98 |
public function activateAx($productId)
|
99 |
{
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
}
|
106 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Observer.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
17 |
+
class Ax_Zoom_Model_Observer
|
18 |
+
{
|
19 |
public function coreBlockBefore($observer)
|
20 |
{
|
|
|
21 |
if ($observer->getBlock() instanceof Mage_Catalog_Block_Product_View_Media) {
|
22 |
|
23 |
// if AJAX ZOOM is enabled for exact product then replace the product/view/media block
|
24 |
$productId = Mage::app()->getRequest()->getParam('id');
|
25 |
+
|
26 |
$ax = Mage::getModel('axzoom/ax360');
|
27 |
$active = $ax->isProductActive($productId);
|
28 |
|
29 |
+
if ($active && $ax->isOnlyProductActive($productId)) {
|
30 |
$observer->getBlock()->setTemplate('ax_zoom/catalog/product/view/media.phtml');
|
31 |
}
|
32 |
}
|
33 |
}
|
34 |
|
|
|
35 |
public function productBefore($observer)
|
36 |
{
|
37 |
}
|
42 |
|
43 |
public function productSaveAfter($observer)
|
44 |
{
|
45 |
+
}
|
46 |
|
47 |
public function deleteProduct($observer)
|
48 |
{
|
67 |
public function save360($observer)
|
68 |
{
|
69 |
$productId = $observer->product->entity_id;
|
70 |
+
$postData = Mage::app()->getRequest()->getPost();
|
71 |
+
|
72 |
// remove images from Ax cache if image checked as remove
|
73 |
$images = Mage::helper('core')->jsonDecode($postData['product']['media_gallery']['images']);
|
74 |
foreach ($images as $image) {
|
76 |
Mage::getModel('axzoom/ax360')->deleteImageAZcache(basename($image['file']));
|
77 |
}
|
78 |
}
|
79 |
+
|
80 |
+
// save status
|
81 |
+
if (isset($postData['az_active']) && $postData['az_active'] == 1) {
|
82 |
+
$this->activateAx($productId);
|
83 |
+
} else {
|
84 |
+
Mage::getModel('axzoom/axproducts')->setData(array('id_product' => $productId))->save();
|
85 |
+
}
|
86 |
+
|
87 |
+
// save settings
|
88 |
+
if (isset($postData['settings'])) foreach ($postData['settings'] as $id_360 => $string) {
|
89 |
+
|
90 |
+
Mage::getModel('axzoom/ax360')->load($id_360)->addData(array(
|
91 |
'settings' => urldecode($string),
|
92 |
'combinations' => urldecode($postData['comb'][$id_360])
|
93 |
+
))->setId($id_360)->save();
|
94 |
+
}
|
95 |
}
|
96 |
+
|
97 |
public function activateAx($productId)
|
98 |
{
|
99 |
+
$res = Mage::getSingleton('core/resource');
|
100 |
+
$con = $res->getConnection('core_write');
|
101 |
+
$table = $res->getTableName('axzoom/table_axproducts');
|
102 |
+
$query = "DELETE FROM {$table} WHERE id_product = " . (int)$productId;
|
103 |
+
$con->query($query);
|
104 |
}
|
105 |
+
}
|
app/code/local/Ax/Zoom/Model/Position.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Position.php
|
4 |
-
* Copyright: Copyright (c) 2010-2016 Vadim Jacobi
|
5 |
-
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.2.0
|
7 |
-
* Date: 2016-05-07
|
8 |
-
* Review: 2016-05-07
|
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-2016 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()
|
20 |
-
{
|
21 |
-
return array(
|
22 |
-
array('value'=>'inside', 'label'=>Mage::helper('axzoom')->__('inside')),
|
23 |
-
array('value'=>'top', 'label'=>Mage::helper('axzoom')->__('top')),
|
24 |
-
array('value'=>'right', 'label'=>Mage::helper('axzoom')->__('right')),
|
25 |
-
array('value'=>'bottom', 'label'=>Mage::helper('axzoom')->__('bottom')),
|
26 |
-
array('value'=>'left', 'label'=>Mage::helper('axzoom')->__('left'))
|
27 |
-
);
|
28 |
-
}
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Ax/Zoom/Model/Position4.php
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Position4.php
|
4 |
-
* Copyright: Copyright (c) 2010-2016 Vadim Jacobi
|
5 |
-
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.2.0
|
7 |
-
* Date: 2016-05-07
|
8 |
-
* Review: 2016-05-07
|
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-2016 AJAX-ZOOM, Vadim Jacobi
|
14 |
-
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
-
*/
|
16 |
-
|
17 |
-
class Ax_Zoom_Model_Position4
|
18 |
-
{
|
19 |
-
public function toOptionArray()
|
20 |
-
{
|
21 |
-
return array(
|
22 |
-
array('value'=>'top', 'label'=>Mage::helper('axzoom')->__('top')),
|
23 |
-
array('value'=>'right', 'label'=>Mage::helper('axzoom')->__('right')),
|
24 |
-
array('value'=>'bottom', 'label'=>Mage::helper('axzoom')->__('bottom')),
|
25 |
-
array('value'=>'left', 'label'=>Mage::helper('axzoom')->__('left'))
|
26 |
-
);
|
27 |
-
}
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Ax/Zoom/Model/Resource/Ax360.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -20,4 +20,4 @@ class Ax_Zoom_Model_Resource_Ax360 extends Mage_Core_Model_Mysql4_Abstract
|
|
20 |
{
|
21 |
$this->_init('axzoom/table_ax360', 'id_360');
|
22 |
}
|
23 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
20 |
{
|
21 |
$this->_init('axzoom/table_ax360', 'id_360');
|
22 |
}
|
23 |
+
}
|
app/code/local/Ax/Zoom/Model/Resource/Ax360/Collection.php
CHANGED
@@ -1,16 +1,16 @@
|
|
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-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -21,4 +21,4 @@ class Ax_Zoom_Model_Resource_Ax360_Collection extends Mage_Core_Model_Mysql4_Col
|
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/ax360');
|
23 |
}
|
24 |
-
}
|
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-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/ax360');
|
23 |
}
|
24 |
+
}
|
app/code/local/Ax/Zoom/Model/Resource/Ax360set.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360set.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -20,4 +20,4 @@ class Ax_Zoom_Model_Resource_Ax360set extends Mage_Core_Model_Mysql4_Abstract
|
|
20 |
{
|
21 |
$this->_init('axzoom/table_ax360set', 'id_360set');
|
22 |
}
|
23 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Ax360set.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
20 |
{
|
21 |
$this->_init('axzoom/table_ax360set', 'id_360set');
|
22 |
}
|
23 |
+
}
|
app/code/local/Ax/Zoom/Model/Resource/Ax360set/Collection.php
CHANGED
@@ -1,16 +1,16 @@
|
|
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-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -21,4 +21,4 @@ class Ax_Zoom_Model_Resource_Ax360set_Collection extends Mage_Core_Model_Mysql4_
|
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/ax360set');
|
23 |
}
|
24 |
-
}
|
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-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/ax360set');
|
23 |
}
|
24 |
+
}
|
app/code/local/Ax/Zoom/Model/Resource/Axproducts.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Axproducts.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -20,4 +20,4 @@ class Ax_Zoom_Model_Resource_Axproducts extends Mage_Core_Model_Mysql4_Abstract
|
|
20 |
{
|
21 |
$this->_init('axzoom/table_axproducts', null);
|
22 |
}
|
23 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Resource/Axproducts.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
20 |
{
|
21 |
$this->_init('axzoom/table_axproducts', null);
|
22 |
}
|
23 |
+
}
|
app/code/local/Ax/Zoom/Model/Resource/Axproducts/Collection.php
CHANGED
@@ -1,16 +1,16 @@
|
|
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-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -21,4 +21,4 @@ class Ax_Zoom_Model_Resource_Axproducts_Collection extends Mage_Core_Model_Mysql
|
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/axproducts');
|
23 |
}
|
24 |
-
}
|
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-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
21 |
parent::_construct();
|
22 |
$this->_init('axzoom/axproducts');
|
23 |
}
|
24 |
+
}
|
app/code/local/Ax/Zoom/Model/Words.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Words.php
|
4 |
-
* Copyright: Copyright (c) 2010-2016 Vadim Jacobi
|
5 |
-
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.2.0
|
7 |
-
* Date: 2016-05-07
|
8 |
-
* Review: 2016-05-07
|
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-2016 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()
|
20 |
-
{
|
21 |
-
return array(
|
22 |
-
array('value'=>1, 'label'=>Mage::helper('axzoom')->__('Hello')),
|
23 |
-
array('value'=>2, 'label'=>Mage::helper('axzoom')->__('Goodbye')),
|
24 |
-
array('value'=>3, 'label'=>Mage::helper('axzoom')->__('Yes')),
|
25 |
-
array('value'=>4, 'label'=>Mage::helper('axzoom')->__('No')),
|
26 |
-
);
|
27 |
-
}
|
28 |
-
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Ax/Zoom/Model/Yesno.php
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/Model/Yesno.php
|
4 |
-
* Copyright: Copyright (c) 2010-2016 Vadim Jacobi
|
5 |
-
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.2.0
|
7 |
-
* Date: 2016-05-07
|
8 |
-
* Review: 2016-05-07
|
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-2016 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 |
-
|
27 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Ax/Zoom/controllers/AxzoomController.php
CHANGED
@@ -1,21 +1,60 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/controllers/IndexController.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
17 |
-
class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
18 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
public function AddProductImage360Action()
|
20 |
{
|
21 |
$productId = Mage::app()->getRequest()->getParam('id_product');
|
@@ -25,18 +64,18 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
25 |
|
26 |
if (isset($_FILES['file360']['name'][0]) && $_FILES['file360']['name'][0] != '') {
|
27 |
try {
|
28 |
-
$fileName
|
29 |
-
$fileExt
|
30 |
-
$fileNamewoe
|
31 |
-
$fileName
|
32 |
-
|
33 |
-
$uploader
|
34 |
-
'name'
|
35 |
-
'type'
|
36 |
-
'tmp_name'
|
37 |
-
'error'
|
38 |
-
'size'
|
39 |
-
|
40 |
$uploader->setAllowedExtensions(array('png', 'jpg')); //allowed extensions
|
41 |
$uploader->setAllowRenameFiles(false);
|
42 |
$uploader->setFilesDispersion(false);
|
@@ -50,14 +89,14 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
50 |
|
51 |
die(Mage::helper('core')->jsonEncode(array(
|
52 |
'file360' => array(array(
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
exit;
|
62 |
}
|
63 |
|
@@ -81,7 +120,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
81 |
'status' => 'ok',
|
82 |
'content' => (object)array('id' => $imageId),
|
83 |
'confirmations' => array('The image was successfully deleted.')
|
84 |
-
|
85 |
}
|
86 |
|
87 |
public function ClearAzImageCacheAction()
|
@@ -91,7 +130,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
91 |
die(Mage::helper('core')->jsonEncode(array(
|
92 |
'status' => 'ok',
|
93 |
'confirmations' => array('AJAX-ZOOM cache has been deleted for image with ID ' . (int)(Mage::app()->getRequest()->getParam('deletedImgID')))
|
94 |
-
|
95 |
}
|
96 |
|
97 |
public function GetImagesAction()
|
@@ -106,7 +145,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
106 |
'id_product' => $productId,
|
107 |
'id_360set' => $id360set,
|
108 |
'images' => $images
|
109 |
-
|
110 |
}
|
111 |
|
112 |
public function DeleteSetAction()
|
@@ -124,11 +163,11 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
124 |
}
|
125 |
|
126 |
Mage::getModel('axzoom/ax360set')->setId($id360set)->delete();
|
127 |
-
|
128 |
if (!Mage::getModel('axzoom/ax360set')->getCollection()->addFieldToFilter('id_360', $id360)->getData()) {
|
129 |
Mage::getModel('axzoom/ax360')->setId($id360)->delete();
|
130 |
}
|
131 |
-
|
132 |
$path = Mage::getBaseDir() . '/js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set;
|
133 |
$this->deleteDirectory($path);
|
134 |
|
@@ -138,7 +177,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
138 |
'path' => $path,
|
139 |
'removed' => (!Mage::getModel('axzoom/ax360')->load($id360)->getData() ? 1 : 0),
|
140 |
'confirmations' => array('The 360 image set was successfully removed.')
|
141 |
-
|
142 |
}
|
143 |
|
144 |
public function Set360StatusAction()
|
@@ -153,91 +192,91 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
153 |
die(Mage::helper('core')->jsonEncode(array(
|
154 |
'status' => 'ok',
|
155 |
'confirmations' => array('The status has been updated.' . $status . '-' . $id360)
|
156 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
}
|
158 |
-
|
159 |
-
public function GetCropJsonAction()
|
160 |
-
{
|
161 |
-
$get = Mage::app()->getRequest();
|
162 |
-
$id_360 = $get->getParam('id_360');
|
163 |
-
|
164 |
-
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
165 |
-
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
166 |
-
$check_crop_field = $db->query('SHOW FIELDS FROM `'.$db_prefix.'ajaxzoom360`');
|
167 |
-
if ($check_crop_field){
|
168 |
-
$check_crop_field_fetch = $check_crop_field->fetchAll(PDO::FETCH_COLUMN);
|
169 |
-
// Update table
|
170 |
-
if (!in_array('crop', $check_crop_field_fetch)){
|
171 |
-
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `crop` TEXT NOT NULL');
|
172 |
-
}
|
173 |
-
if (!in_array('hotspot', $check_crop_field_fetch)){
|
174 |
-
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `hotspot` TEXT NOT NULL');
|
175 |
-
}
|
176 |
-
}
|
177 |
-
|
178 |
-
$row = $db->fetchAll('SELECT * FROM `'.$db_prefix.'ajaxzoom360` WHERE id_360 = '.(int)$id_360.' LIMIT 1');
|
179 |
-
if ($row[0]['crop']){
|
180 |
-
die(stripslashes($row[0]['crop']));
|
181 |
-
}else{
|
182 |
-
die('[]');
|
183 |
-
}
|
184 |
-
}
|
185 |
-
|
186 |
-
public function SetCropJsonAction()
|
187 |
-
{
|
188 |
-
$json = $this->getRequest()->getPost('json');
|
189 |
-
$id_360 = Mage::app()->getRequest()->getParam('id_360');
|
190 |
-
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
191 |
-
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
192 |
-
$query = 'UPDATE `'.$db_prefix.'ajaxzoom360` SET crop = \''.addslashes($json).'\' WHERE id_360 = '.(int)$id_360;
|
193 |
-
$result = $db->query($query);
|
194 |
-
|
195 |
-
die(Mage::helper('core')->jsonEncode(array(
|
196 |
-
'status' => $result->rowCount()
|
197 |
-
)));
|
198 |
-
}
|
199 |
-
|
200 |
-
public function GetHotspotJsonAction()
|
201 |
-
{
|
202 |
-
$get = Mage::app()->getRequest();
|
203 |
-
$id_360 = $get->getParam('id_360');
|
204 |
-
|
205 |
-
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
206 |
-
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
207 |
-
|
208 |
-
$check_crop_field = $db->query('SHOW FIELDS FROM `'.$db_prefix.'ajaxzoom360`');
|
209 |
-
if ($check_crop_field){
|
210 |
-
$check_crop_field_fetch = $check_crop_field->fetchAll(PDO::FETCH_COLUMN);
|
211 |
-
// Update table
|
212 |
-
if (!in_array('crop', $check_crop_field_fetch)){
|
213 |
-
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `crop` TEXT NOT NULL');
|
214 |
-
}
|
215 |
-
if (!in_array('hotspot', $check_crop_field_fetch)){
|
216 |
-
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `hotspot` TEXT NOT NULL');
|
217 |
-
}
|
218 |
-
}
|
219 |
-
|
220 |
-
$row = $db->fetchAll('SELECT * FROM `'.$db_prefix.'ajaxzoom360` WHERE id_360 = '.(int)$id_360.' LIMIT 1');
|
221 |
-
if ($row[0]['hotspot']){
|
222 |
-
die(stripslashes($row[0]['hotspot']));
|
223 |
-
}else{
|
224 |
-
die('{}');
|
225 |
-
}
|
226 |
-
}
|
227 |
-
|
228 |
-
public function SetHotspotJsonAction()
|
229 |
-
{
|
230 |
-
$json = $this->getRequest()->getPost('json');
|
231 |
-
$id_360 = Mage::app()->getRequest()->getParam('id_360');
|
232 |
-
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
233 |
-
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
234 |
-
$query = 'UPDATE `'.$db_prefix.'ajaxzoom360` SET hotspot = \''.addslashes($json).'\' WHERE id_360 = '.(int)$id_360;
|
235 |
-
$result = $db->query($query);
|
236 |
-
|
237 |
-
die(Mage::helper('core')->jsonEncode(array(
|
238 |
-
'status' => $result->rowCount()
|
239 |
-
)));
|
240 |
-
}
|
241 |
|
242 |
public function AddSetAction()
|
243 |
{
|
@@ -257,25 +296,29 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
257 |
$id360 = $existing;
|
258 |
$name = Mage::getModel('axzoom/ax360')->load($id360)->getName();
|
259 |
} else {
|
260 |
-
$
|
|
|
|
|
|
|
|
|
261 |
$data = array(
|
262 |
'id_product' => $productId,
|
263 |
'name' => $name,
|
264 |
'settings' => $settings,
|
265 |
'status' => $status
|
266 |
-
|
267 |
$id360 = $newId = Mage::getModel('axzoom/ax360')->setData($data)->save()->getId();
|
268 |
$newName = $name;
|
269 |
}
|
270 |
-
|
271 |
$id360set = Mage::getModel('axzoom/ax360set')->setData(array('id_360' => $id360, 'sort_order' => 0))->save()->getId();
|
272 |
|
273 |
$sets = array();
|
274 |
-
|
275 |
if ($zip == 'true') {
|
276 |
$sets = $this->addImagesArc($arcfile, $productId, $id360, $id360set, $delete);
|
277 |
}
|
278 |
-
|
279 |
die(Mage::helper('core')->jsonEncode(array(
|
280 |
'status' => $status,
|
281 |
'name' => $name,
|
@@ -288,7 +331,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
288 |
'new_id' => $newId,
|
289 |
'new_name' => $newName,
|
290 |
'new_settings' => urlencode($newSettings)
|
291 |
-
|
292 |
}
|
293 |
|
294 |
public function addImagesArc($arcfile, $productId, $id360, $id360set, $delete = '')
|
@@ -300,18 +343,25 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
300 |
|
301 |
$path = $baseDir . '/js/axzoom/zip/' . $arcfile;
|
302 |
$dst = is_dir($path) ? $path : $this->extractArc($path);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
@chmod($dst, 0777);
|
304 |
$data = $this->getFolderData($dst);
|
305 |
-
|
306 |
$name = Mage::getModel('axzoom/ax360')->load($id360)->getName();
|
307 |
|
308 |
$sets = array(array(
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
|
316 |
$move = is_dir($path) ? false : true;
|
317 |
|
@@ -321,7 +371,8 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
321 |
$this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0], $move);
|
322 |
} else { // 3d
|
323 |
$this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0], $move);
|
324 |
-
|
|
|
325 |
$id360set = Mage::getModel('axzoom/ax360set')->setData(array('id_360' => $id360, 'sort_order' => 0))->save()->getId();
|
326 |
$this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][$i], $move);
|
327 |
|
@@ -330,34 +381,36 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
330 |
'name' => $name,
|
331 |
'path' => $baseUrlJs . 'axzoom/axZm/zoomLoad.php?qq=1&azImg360=' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set . '&width=100&height=100&thumbMode=contain',
|
332 |
'id_360set' => $id360set
|
333 |
-
|
334 |
}
|
335 |
}
|
336 |
|
337 |
// delete temp directory which was created when zip extracted
|
338 |
-
if(!is_dir($path)) {
|
339 |
$this->deleteDirectory($dst);
|
340 |
}
|
341 |
|
342 |
// delete the sourece file (zip/dir) if checkbox is checked
|
343 |
-
if($delete == 'true') {
|
344 |
-
if(is_dir($path)) {
|
345 |
-
|
|
|
|
|
346 |
} else {
|
347 |
@unlink($path);
|
348 |
}
|
349 |
-
}
|
|
|
350 |
return $sets;
|
351 |
}
|
352 |
|
353 |
public function extractArc($file)
|
354 |
{
|
355 |
-
|
356 |
$baseDir = Mage::getBaseDir();
|
357 |
|
358 |
$zip = new ZipArchive;
|
359 |
$res = $zip->open($file);
|
360 |
-
if ($res ===
|
361 |
$folder = uniqid(getmypid());
|
362 |
$path = $baseDir . '/js/axzoom/tmp/' . $folder;
|
363 |
mkdir($path, 0777);
|
@@ -385,14 +438,14 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
385 |
}
|
386 |
closedir($handle);
|
387 |
}
|
388 |
-
|
389 |
sort($folders);
|
390 |
sort($files);
|
391 |
|
392 |
return array(
|
393 |
'folders' => $folders,
|
394 |
'files' => $files
|
395 |
-
|
396 |
}
|
397 |
|
398 |
public function copyImages($productId, $id360, $id360set, $path, $move)
|
@@ -400,8 +453,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
400 |
$files = $this->getFilesFromFolder($path);
|
401 |
$folder = $this->createProduct360Folder($productId, $id360set);
|
402 |
|
403 |
-
foreach ($files as $file)
|
404 |
-
{
|
405 |
$name = $productId . '_' . $id360set . '_' . $this->imgNameFilter($file);
|
406 |
$tmp = explode('.', $name);
|
407 |
$ext = end($tmp);
|
@@ -428,7 +480,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
428 |
}
|
429 |
closedir($handle);
|
430 |
}
|
431 |
-
|
432 |
return $files;
|
433 |
}
|
434 |
|
@@ -437,7 +489,7 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
437 |
$productId = (int)($productId);
|
438 |
$id360set = (int)($id360set);
|
439 |
$id360 = Mage::getModel('axzoom/ax360set')->load($id360set)->getId_360();
|
440 |
-
|
441 |
$imgPath = Mage::getBaseDir() . '/js/axzoom/pic/360/';
|
442 |
@chmod(rtrim($imgPath, '/'), 0777);
|
443 |
|
@@ -466,44 +518,43 @@ class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
|
466 |
|
467 |
public function deleteDirectory($dirname, $delete_self = true)
|
468 |
{
|
469 |
-
if(empty($dirname) || strpos($dirname, 'axzoom') ===
|
470 |
return false;
|
471 |
}
|
472 |
|
473 |
$dirname = rtrim($dirname, '/') . '/';
|
474 |
-
if (file_exists($dirname))
|
475 |
-
if ($files = scandir($dirname))
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
{
|
480 |
-
if (is_dir($dirname.$file))
|
481 |
$this->deleteDirectory($dirname.$file, true);
|
482 |
-
elseif (file_exists($dirname.$file))
|
483 |
-
{
|
484 |
@chmod($dirname.$file, 0777); // NT ?
|
485 |
unlink($dirname.$file);
|
486 |
}
|
487 |
}
|
488 |
-
if ($delete_self && file_exists($dirname))
|
489 |
-
if (!rmdir($dirname))
|
490 |
-
{
|
491 |
@chmod($dirname, 0777); // NT ?
|
492 |
return false;
|
493 |
}
|
|
|
494 |
return true;
|
|
|
495 |
}
|
496 |
-
|
|
|
497 |
}
|
498 |
-
|
499 |
public function imgNameFilter($filename)
|
500 |
{
|
501 |
$filename = preg_replace('/[^A-Za-z0-9_\.-]/', '-', $filename);
|
502 |
return $filename;
|
503 |
}
|
504 |
-
|
505 |
public function rootFolder()
|
506 |
{
|
507 |
return preg_replace('|js/$|', '', parse_url(Mage::getBaseUrl('js'), PHP_URL_PATH));
|
508 |
}
|
509 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/controllers/IndexController.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
17 |
+
class Ax_Zoom_AxzoomController extends Mage_Adminhtml_Controller_Action
|
18 |
{
|
19 |
+
public function rSearch($folder, $pattern)
|
20 |
+
{
|
21 |
+
$dir = new RecursiveDirectoryIterator($folder);
|
22 |
+
$ite = new RecursiveIteratorIterator($dir);
|
23 |
+
$files = new RegexIterator($ite, $pattern, RegexIterator::GET_MATCH);
|
24 |
+
$fileList = array();
|
25 |
+
|
26 |
+
foreach ($files as $file) {
|
27 |
+
$fileList = array_merge($fileList, $file);
|
28 |
+
}
|
29 |
+
|
30 |
+
return $fileList;
|
31 |
+
}
|
32 |
+
|
33 |
+
public function GetNumberImagesAction()
|
34 |
+
{
|
35 |
+
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
36 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
37 |
+
$q = $db->fetchAll('SELECT count(DISTINCT value) as numImg FROM `'.$db_prefix.'catalog_product_entity_media_gallery`');
|
38 |
+
$dst = Mage::getBaseDir() . '/js/axzoom/pic/360/';
|
39 |
+
$img360 = count($this->rSearch($dst, '/\.(jpeg|jpg|png|gif|bmp|tif|tiff)/i'))/2;
|
40 |
+
|
41 |
+
die(Mage::helper('core')->jsonEncode(array(
|
42 |
+
'images2d' => $q[0]['numImg'],
|
43 |
+
'images360' => $img360
|
44 |
+
)));
|
45 |
+
}
|
46 |
+
|
47 |
+
public function ResetAzExtensionAction()
|
48 |
+
{
|
49 |
+
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
50 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
51 |
+
$db->query('DELETE FROM `'.$db_prefix.'core_config_data` WHERE `path` LIKE \'axzoom_options/%\' AND path != \'axzoom_options/license/lic\'');
|
52 |
+
|
53 |
+
die(Mage::helper('core')->jsonEncode(array(
|
54 |
+
'status' => 'ok'
|
55 |
+
)));
|
56 |
+
}
|
57 |
+
|
58 |
public function AddProductImage360Action()
|
59 |
{
|
60 |
$productId = Mage::app()->getRequest()->getParam('id_product');
|
64 |
|
65 |
if (isset($_FILES['file360']['name'][0]) && $_FILES['file360']['name'][0] != '') {
|
66 |
try {
|
67 |
+
$fileName = $_FILES['file360']['name'][0];
|
68 |
+
$fileExt = strtolower(substr(strrchr($fileName, '.'), 1));
|
69 |
+
$fileNamewoe = $productId . '_' . $id360set . '_' . $this->imgNameFilter(rtrim($fileName, '.' . $fileExt));
|
70 |
+
$fileName = $fileNamewoe . '.' . $fileExt;
|
71 |
+
|
72 |
+
$uploader = new Varien_File_Uploader(array(
|
73 |
+
'name' => $_FILES['file360']['name'][0],
|
74 |
+
'type' => $_FILES['file360']['type'][0],
|
75 |
+
'tmp_name' => $_FILES['file360']['tmp_name'][0],
|
76 |
+
'error' => $_FILES['file360']['error'][0],
|
77 |
+
'size' => $_FILES['file360']['size'][0]
|
78 |
+
));
|
79 |
$uploader->setAllowedExtensions(array('png', 'jpg')); //allowed extensions
|
80 |
$uploader->setAllowRenameFiles(false);
|
81 |
$uploader->setFilesDispersion(false);
|
89 |
|
90 |
die(Mage::helper('core')->jsonEncode(array(
|
91 |
'file360' => array(array(
|
92 |
+
'status' => 'ok',
|
93 |
+
'name' => $fileName,
|
94 |
+
'id' => $fileNamewoe,
|
95 |
+
'id_product' => $productId,
|
96 |
+
'id_360' => $id360,
|
97 |
+
'id_360set' => $id360set,
|
98 |
+
'path' => Mage::getBaseUrl('js') . 'axzoom/axZm/zoomLoad.php?qq=1&azImg=' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set . '/' . $fileName . '&width=100&height=100&qual=90'
|
99 |
+
)))));
|
100 |
exit;
|
101 |
}
|
102 |
|
120 |
'status' => 'ok',
|
121 |
'content' => (object)array('id' => $imageId),
|
122 |
'confirmations' => array('The image was successfully deleted.')
|
123 |
+
)));
|
124 |
}
|
125 |
|
126 |
public function ClearAzImageCacheAction()
|
130 |
die(Mage::helper('core')->jsonEncode(array(
|
131 |
'status' => 'ok',
|
132 |
'confirmations' => array('AJAX-ZOOM cache has been deleted for image with ID ' . (int)(Mage::app()->getRequest()->getParam('deletedImgID')))
|
133 |
+
)));
|
134 |
}
|
135 |
|
136 |
public function GetImagesAction()
|
145 |
'id_product' => $productId,
|
146 |
'id_360set' => $id360set,
|
147 |
'images' => $images
|
148 |
+
)));
|
149 |
}
|
150 |
|
151 |
public function DeleteSetAction()
|
163 |
}
|
164 |
|
165 |
Mage::getModel('axzoom/ax360set')->setId($id360set)->delete();
|
166 |
+
|
167 |
if (!Mage::getModel('axzoom/ax360set')->getCollection()->addFieldToFilter('id_360', $id360)->getData()) {
|
168 |
Mage::getModel('axzoom/ax360')->setId($id360)->delete();
|
169 |
}
|
170 |
+
|
171 |
$path = Mage::getBaseDir() . '/js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set;
|
172 |
$this->deleteDirectory($path);
|
173 |
|
177 |
'path' => $path,
|
178 |
'removed' => (!Mage::getModel('axzoom/ax360')->load($id360)->getData() ? 1 : 0),
|
179 |
'confirmations' => array('The 360 image set was successfully removed.')
|
180 |
+
)));
|
181 |
}
|
182 |
|
183 |
public function Set360StatusAction()
|
192 |
die(Mage::helper('core')->jsonEncode(array(
|
193 |
'status' => 'ok',
|
194 |
'confirmations' => array('The status has been updated.' . $status . '-' . $id360)
|
195 |
+
)));
|
196 |
+
}
|
197 |
+
|
198 |
+
public function GetCropJsonAction()
|
199 |
+
{
|
200 |
+
$get = Mage::app()->getRequest();
|
201 |
+
$id_360 = $get->getParam('id_360');
|
202 |
+
|
203 |
+
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
204 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
205 |
+
$check_crop_field = $db->query('SHOW FIELDS FROM `'.$db_prefix.'ajaxzoom360`');
|
206 |
+
if ($check_crop_field){
|
207 |
+
$check_crop_field_fetch = $check_crop_field->fetchAll(PDO::FETCH_COLUMN);
|
208 |
+
// Update table
|
209 |
+
if (!in_array('crop', $check_crop_field_fetch)){
|
210 |
+
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `crop` TEXT NOT NULL');
|
211 |
+
}
|
212 |
+
if (!in_array('hotspot', $check_crop_field_fetch)){
|
213 |
+
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `hotspot` TEXT NOT NULL');
|
214 |
+
}
|
215 |
+
}
|
216 |
+
|
217 |
+
$row = $db->fetchAll('SELECT * FROM `'.$db_prefix.'ajaxzoom360` WHERE id_360 = '.(int)$id_360.' LIMIT 1');
|
218 |
+
if ($row[0]['crop']){
|
219 |
+
die(stripslashes($row[0]['crop']));
|
220 |
+
}else{
|
221 |
+
die('[]');
|
222 |
+
}
|
223 |
+
}
|
224 |
+
|
225 |
+
public function SetCropJsonAction()
|
226 |
+
{
|
227 |
+
$json = $this->getRequest()->getPost('json');
|
228 |
+
$id_360 = Mage::app()->getRequest()->getParam('id_360');
|
229 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
230 |
+
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
231 |
+
$query = 'UPDATE `'.$db_prefix.'ajaxzoom360` SET crop = \''.addslashes($json).'\' WHERE id_360 = '.(int)$id_360;
|
232 |
+
$result = $db->query($query);
|
233 |
+
|
234 |
+
die(Mage::helper('core')->jsonEncode(array(
|
235 |
+
'status' => $result->rowCount()
|
236 |
+
)));
|
237 |
+
}
|
238 |
+
|
239 |
+
public function GetHotspotJsonAction()
|
240 |
+
{
|
241 |
+
$get = Mage::app()->getRequest();
|
242 |
+
$id_360 = $get->getParam('id_360');
|
243 |
+
|
244 |
+
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
245 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
246 |
+
|
247 |
+
$check_crop_field = $db->query('SHOW FIELDS FROM `'.$db_prefix.'ajaxzoom360`');
|
248 |
+
if ($check_crop_field){
|
249 |
+
$check_crop_field_fetch = $check_crop_field->fetchAll(PDO::FETCH_COLUMN);
|
250 |
+
// Update table
|
251 |
+
if (!in_array('crop', $check_crop_field_fetch)){
|
252 |
+
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `crop` TEXT NOT NULL');
|
253 |
+
}
|
254 |
+
if (!in_array('hotspot', $check_crop_field_fetch)){
|
255 |
+
$db->query('ALTER TABLE `'.$db_prefix.'ajaxzoom360` ADD `hotspot` TEXT NOT NULL');
|
256 |
+
}
|
257 |
+
}
|
258 |
+
|
259 |
+
$row = $db->fetchAll('SELECT * FROM `'.$db_prefix.'ajaxzoom360` WHERE id_360 = '.(int)$id_360.' LIMIT 1');
|
260 |
+
if ($row[0]['hotspot']){
|
261 |
+
die(stripslashes($row[0]['hotspot']));
|
262 |
+
}else{
|
263 |
+
die('{}');
|
264 |
+
}
|
265 |
+
}
|
266 |
+
|
267 |
+
public function SetHotspotJsonAction()
|
268 |
+
{
|
269 |
+
$json = $this->getRequest()->getPost('json');
|
270 |
+
$id_360 = Mage::app()->getRequest()->getParam('id_360');
|
271 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
272 |
+
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
273 |
+
$query = 'UPDATE `'.$db_prefix.'ajaxzoom360` SET hotspot = \''.addslashes($json).'\' WHERE id_360 = '.(int)$id_360;
|
274 |
+
$result = $db->query($query);
|
275 |
+
|
276 |
+
die(Mage::helper('core')->jsonEncode(array(
|
277 |
+
'status' => $result->rowCount()
|
278 |
+
)));
|
279 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
|
281 |
public function AddSetAction()
|
282 |
{
|
296 |
$id360 = $existing;
|
297 |
$name = Mage::getModel('axzoom/ax360')->load($id360)->getName();
|
298 |
} else {
|
299 |
+
$default360settings = Mage::getStoreConfig('axzoom_options/plugin_settings/default360settings');
|
300 |
+
$default360settings = str_replace(array("\r", "\n", "\t"), '', $default360settings);
|
301 |
+
$default360settings = preg_replace('/\s+/', '', $default360settings);
|
302 |
+
//$newSettings = $settings = '{"position":"first","spinReverse":"true","spinBounce":"false","spinDemoRounds":"3","spinDemoTime":"4500"}';
|
303 |
+
$newSettings = $settings = $default360settings;
|
304 |
$data = array(
|
305 |
'id_product' => $productId,
|
306 |
'name' => $name,
|
307 |
'settings' => $settings,
|
308 |
'status' => $status
|
309 |
+
);
|
310 |
$id360 = $newId = Mage::getModel('axzoom/ax360')->setData($data)->save()->getId();
|
311 |
$newName = $name;
|
312 |
}
|
313 |
+
|
314 |
$id360set = Mage::getModel('axzoom/ax360set')->setData(array('id_360' => $id360, 'sort_order' => 0))->save()->getId();
|
315 |
|
316 |
$sets = array();
|
317 |
+
|
318 |
if ($zip == 'true') {
|
319 |
$sets = $this->addImagesArc($arcfile, $productId, $id360, $id360set, $delete);
|
320 |
}
|
321 |
+
|
322 |
die(Mage::helper('core')->jsonEncode(array(
|
323 |
'status' => $status,
|
324 |
'name' => $name,
|
331 |
'new_id' => $newId,
|
332 |
'new_name' => $newName,
|
333 |
'new_settings' => urlencode($newSettings)
|
334 |
+
)));
|
335 |
}
|
336 |
|
337 |
public function addImagesArc($arcfile, $productId, $id360, $id360set, $delete = '')
|
343 |
|
344 |
$path = $baseDir . '/js/axzoom/zip/' . $arcfile;
|
345 |
$dst = is_dir($path) ? $path : $this->extractArc($path);
|
346 |
+
|
347 |
+
if (!$dst) {
|
348 |
+
return array(
|
349 |
+
'status' => '0'
|
350 |
+
);
|
351 |
+
}
|
352 |
+
|
353 |
@chmod($dst, 0777);
|
354 |
$data = $this->getFolderData($dst);
|
355 |
+
|
356 |
$name = Mage::getModel('axzoom/ax360')->load($id360)->getName();
|
357 |
|
358 |
$sets = array(array(
|
359 |
+
'name' => $name,
|
360 |
+
'path' => $baseUrlJs . 'axzoom/axZm/zoomLoad.php?qq=1&azImg360=' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set . '&width=100&height=100&thumbMode=contain',
|
361 |
+
'id_360set' => $id360set,
|
362 |
+
'id_360' => $id360,
|
363 |
+
'status' => '1'
|
364 |
+
));
|
365 |
|
366 |
$move = is_dir($path) ? false : true;
|
367 |
|
371 |
$this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0], $move);
|
372 |
} else { // 3d
|
373 |
$this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][0], $move);
|
374 |
+
|
375 |
+
for ($i = 1; $i < count($data['folders']); $i++) {
|
376 |
$id360set = Mage::getModel('axzoom/ax360set')->setData(array('id_360' => $id360, 'sort_order' => 0))->save()->getId();
|
377 |
$this->copyImages($productId, $id360, $id360set, $dst . '/' . $data['folders'][$i], $move);
|
378 |
|
381 |
'name' => $name,
|
382 |
'path' => $baseUrlJs . 'axzoom/axZm/zoomLoad.php?qq=1&azImg360=' . $this->rootFolder() . 'js/axzoom/pic/360/' . $productId . '/' . $id360 . '/' . $id360set . '&width=100&height=100&thumbMode=contain',
|
383 |
'id_360set' => $id360set
|
384 |
+
);
|
385 |
}
|
386 |
}
|
387 |
|
388 |
// delete temp directory which was created when zip extracted
|
389 |
+
if (!is_dir($path)) {
|
390 |
$this->deleteDirectory($dst);
|
391 |
}
|
392 |
|
393 |
// delete the sourece file (zip/dir) if checkbox is checked
|
394 |
+
if ($delete == 'true') {
|
395 |
+
if (is_dir($path)) {
|
396 |
+
if (strstr($path, '/js/axzoom/')) {
|
397 |
+
$this->deleteDirectory($dst);
|
398 |
+
}
|
399 |
} else {
|
400 |
@unlink($path);
|
401 |
}
|
402 |
+
}
|
403 |
+
|
404 |
return $sets;
|
405 |
}
|
406 |
|
407 |
public function extractArc($file)
|
408 |
{
|
|
|
409 |
$baseDir = Mage::getBaseDir();
|
410 |
|
411 |
$zip = new ZipArchive;
|
412 |
$res = $zip->open($file);
|
413 |
+
if ($res === true) {
|
414 |
$folder = uniqid(getmypid());
|
415 |
$path = $baseDir . '/js/axzoom/tmp/' . $folder;
|
416 |
mkdir($path, 0777);
|
438 |
}
|
439 |
closedir($handle);
|
440 |
}
|
441 |
+
|
442 |
sort($folders);
|
443 |
sort($files);
|
444 |
|
445 |
return array(
|
446 |
'folders' => $folders,
|
447 |
'files' => $files
|
448 |
+
);
|
449 |
}
|
450 |
|
451 |
public function copyImages($productId, $id360, $id360set, $path, $move)
|
453 |
$files = $this->getFilesFromFolder($path);
|
454 |
$folder = $this->createProduct360Folder($productId, $id360set);
|
455 |
|
456 |
+
foreach ($files as $file) {
|
|
|
457 |
$name = $productId . '_' . $id360set . '_' . $this->imgNameFilter($file);
|
458 |
$tmp = explode('.', $name);
|
459 |
$ext = end($tmp);
|
480 |
}
|
481 |
closedir($handle);
|
482 |
}
|
483 |
+
|
484 |
return $files;
|
485 |
}
|
486 |
|
489 |
$productId = (int)($productId);
|
490 |
$id360set = (int)($id360set);
|
491 |
$id360 = Mage::getModel('axzoom/ax360set')->load($id360set)->getId_360();
|
492 |
+
|
493 |
$imgPath = Mage::getBaseDir() . '/js/axzoom/pic/360/';
|
494 |
@chmod(rtrim($imgPath, '/'), 0777);
|
495 |
|
518 |
|
519 |
public function deleteDirectory($dirname, $delete_self = true)
|
520 |
{
|
521 |
+
if(empty($dirname) || strpos($dirname, 'axzoom') === false) {
|
522 |
return false;
|
523 |
}
|
524 |
|
525 |
$dirname = rtrim($dirname, '/') . '/';
|
526 |
+
if (file_exists($dirname)) {
|
527 |
+
if ($files = scandir($dirname)) {
|
528 |
+
foreach ($files as $file) {
|
529 |
+
if ($file != '.' && $file != '..' && $file != '.svn') {
|
530 |
+
if (is_dir($dirname.$file)) {
|
|
|
|
|
531 |
$this->deleteDirectory($dirname.$file, true);
|
532 |
+
} elseif (file_exists($dirname.$file)) {
|
|
|
533 |
@chmod($dirname.$file, 0777); // NT ?
|
534 |
unlink($dirname.$file);
|
535 |
}
|
536 |
}
|
537 |
+
if ($delete_self && file_exists($dirname)) {
|
538 |
+
if (!rmdir($dirname)) {
|
|
|
539 |
@chmod($dirname, 0777); // NT ?
|
540 |
return false;
|
541 |
}
|
542 |
+
}
|
543 |
return true;
|
544 |
+
}
|
545 |
}
|
546 |
+
return false;
|
547 |
+
}
|
548 |
}
|
549 |
+
|
550 |
public function imgNameFilter($filename)
|
551 |
{
|
552 |
$filename = preg_replace('/[^A-Za-z0-9_\.-]/', '-', $filename);
|
553 |
return $filename;
|
554 |
}
|
555 |
+
|
556 |
public function rootFolder()
|
557 |
{
|
558 |
return preg_replace('|js/$|', '', parse_url(Mage::getBaseUrl('js'), PHP_URL_PATH));
|
559 |
}
|
560 |
+
}
|
app/code/local/Ax/Zoom/etc/config.xml
CHANGED
@@ -2,40 +2,40 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/config.xml
|
5 |
-
* Copyright: Copyright (c) 2010-
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
-
* Version: 1.
|
8 |
-
* Date:
|
9 |
-
* Review:
|
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-
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
18 |
|
19 |
<config>
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
<class>Ax_Zoom_Model_Resource</class>
|
40 |
<entities>
|
41 |
<table_ax360set>
|
@@ -48,47 +48,47 @@
|
|
48 |
<table>ajaxzoomproducts</table>
|
49 |
</table_axproducts>
|
50 |
</entities>
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
<resources>
|
64 |
<axzoom_setup>
|
65 |
<setup>
|
66 |
<module>Ax_Zoom</module>
|
67 |
</setup>
|
68 |
</axzoom_setup>
|
69 |
-
</resources>
|
70 |
-
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
|
91 |
-
|
92 |
<catalog_controller_product_init>
|
93 |
<observers>
|
94 |
<ax_zoom_model_observer>
|
@@ -108,9 +108,9 @@
|
|
108 |
</ax_zoom_model_observer>
|
109 |
</observers>
|
110 |
</core_block_abstract_to_html_before>
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
<admin>
|
115 |
<routers>
|
116 |
<adminhtml>
|
@@ -121,26 +121,26 @@
|
|
121 |
</args>
|
122 |
</adminhtml>
|
123 |
</routers>
|
124 |
-
</admin>
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
|
145 |
<events>
|
146 |
<catalog_product_prepare_save>
|
@@ -161,7 +161,7 @@
|
|
161 |
<method>deleteProduct</method>
|
162 |
</ax_zoom_model_observer>
|
163 |
</observers>
|
164 |
-
</catalog_product_delete_before>
|
165 |
|
166 |
<catalog_product_save_before>
|
167 |
<observers>
|
@@ -172,7 +172,7 @@
|
|
172 |
</ax_zoom_model_observer>
|
173 |
</observers>
|
174 |
</catalog_product_save_before>
|
175 |
-
|
176 |
<catalog_product_save_after>
|
177 |
<observers>
|
178 |
<ax_zoom_model_observer>
|
@@ -182,358 +182,331 @@
|
|
182 |
</ax_zoom_model_observer>
|
183 |
</observers>
|
184 |
</catalog_product_save_after>
|
185 |
-
|
186 |
</events>
|
187 |
-
|
188 |
-
<acl>
|
189 |
-
<resources>
|
190 |
-
<admin>
|
191 |
-
<children>
|
192 |
-
<system>
|
193 |
-
<children>
|
194 |
-
<config>
|
195 |
-
<children>
|
196 |
-
<axzoom_options>
|
197 |
-
<title>AJAX ZOOM Settings</title>
|
198 |
-
</axzoom_options>
|
199 |
-
</children>
|
200 |
-
</config>
|
201 |
-
</children>
|
202 |
-
</system>
|
203 |
-
</children>
|
204 |
-
</admin>
|
205 |
-
</resources>
|
206 |
-
</acl>
|
207 |
-
|
208 |
-
</adminhtml>
|
209 |
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
|
280 |
-
|
281 |
-
first: null,
|
282 |
-
last: null
|
283 |
-
},
|
284 |
-
thumbImgStyle:{
|
285 |
-
maxHeight: "58px",
|
286 |
-
maxWidth: "58px",
|
287 |
-
borderRadius: 3
|
288 |
-
},
|
289 |
-
thumbLiStyle: {
|
290 |
-
width: 58,
|
291 |
-
height: 58,
|
292 |
-
lineHeight: "56px",
|
293 |
-
marginBottom: 2,
|
294 |
-
marginLeft: 3,
|
295 |
-
marginRight: 3,
|
296 |
-
borderRadius: 3
|
297 |
-
}
|
298 |
-
}
|
299 |
-
</galleryAxZmThumbSliderParam_vertical>
|
300 |
-
<thumbW>58</thumbW>
|
301 |
-
<thumbH>58</thumbH>
|
302 |
-
<thumbRetina>true</thumbRetina>
|
303 |
-
<qualityThumb>100</qualityThumb>
|
304 |
-
<quality>90</quality>
|
305 |
-
<qualityZoom>80</qualityZoom>
|
306 |
-
<firstImageToLoad>1</firstImageToLoad>
|
307 |
-
<disableAllMsg>false</disableAllMsg>
|
308 |
-
<images360firstToLoad>false</images360firstToLoad>
|
309 |
-
<images360Thumb>true</images360Thumb>
|
310 |
-
<images360Overlay>true</images360Overlay>
|
311 |
-
<images360Preview>true</images360Preview>
|
312 |
-
<images360PreviewResponsive>true</images360PreviewResponsive>
|
313 |
-
<images360examplePreview>mouseOverExtension360</images360examplePreview>
|
314 |
-
<zoomMsg360>
|
315 |
-
{
|
316 |
-
"en" : "Drag to spin 360°, scroll to zoom in and out, right click and drag to pan",
|
317 |
-
"de" : "Ziehen um 360° zu drehen, zoomen mit dem mausrad, rechte maustaste ziehen verschiebt die Ansicht",
|
318 |
-
"fr" : "Faites glisser pour tourner à 360 °, faites défiler pour zoomer dans et hors, cliquer et faire glisser à droite pour vous déplacer",
|
319 |
-
"es" : "Arrastrar para girar en 360º, Rueda del ratón para utilizar el Zoom, botón derecho para mover la imagen"
|
320 |
-
}
|
321 |
-
</zoomMsg360>
|
322 |
-
<zoomMsg360_touch>
|
323 |
-
{
|
324 |
-
"en" : "Drag to spin 360°, pinch to zoom in and out",
|
325 |
-
"de" : "Ziehen um 360° zu drehen, zoomen mit zwei fingern",
|
326 |
-
"fr" : "Faites glisser pour tourner à 360 °, pincer pour zoomer et dézoomer",
|
327 |
-
"es" : "Arrastrar para girar en 360º, pellizcar para ampliar y reducir"
|
328 |
-
}
|
329 |
-
</zoomMsg360_touch>
|
330 |
-
<preloadMouseOverImages>oneByOne</preloadMouseOverImages>
|
331 |
-
<noImageAvailableClass>axZm_mouseOverNoImage</noImageAvailableClass>
|
332 |
-
<width>auto</width>
|
333 |
-
<height>auto</height>
|
334 |
-
<responsive>true</responsive>
|
335 |
-
<oneSrcImg>false</oneSrcImg>
|
336 |
-
<heightRatio>1.0</heightRatio>
|
337 |
-
<heightMaxWidthRatio>["960|0.8", "700|0.7"]</heightMaxWidthRatio>
|
338 |
-
<widthRatio>false</widthRatio>
|
339 |
-
<widthMaxHeightRatio>false</widthMaxHeightRatio>
|
340 |
-
<maxSizePrc>1.0</maxSizePrc>
|
341 |
-
<mouseOverZoomWidth>1200</mouseOverZoomWidth>
|
342 |
-
<mouseOverZoomHeight>1200</mouseOverZoomHeight>
|
343 |
-
<ajaxZoomOpenMode>fancyboxFullscreen</ajaxZoomOpenMode>
|
344 |
-
<fancyBoxParam>
|
345 |
-
{
|
346 |
-
boxMargin: 0,
|
347 |
-
boxPadding: 10,
|
348 |
-
boxCenterOnScroll: true,
|
349 |
-
boxOverlayShow: true,
|
350 |
-
boxOverlayOpacity: 0.75,
|
351 |
-
boxOverlayColor: "#777",
|
352 |
-
boxTransitionIn: "fade",
|
353 |
-
boxTransitionOut: "fade",
|
354 |
-
boxSpeedIn: 300,
|
355 |
-
boxSpeedOut: 300,
|
356 |
-
boxEasingIn: "swing",
|
357 |
-
boxEasingOut: "swing",
|
358 |
-
boxShowCloseButton: true,
|
359 |
-
boxEnableEscapeButton: true,
|
360 |
-
boxOnComplete: function(){},
|
361 |
-
boxTitleShow: false,
|
362 |
-
boxTitlePosition: "float",
|
363 |
-
boxTitleFormat: null
|
364 |
-
}
|
365 |
-
</fancyBoxParam>
|
366 |
-
<colorBoxParam>
|
367 |
-
{
|
368 |
-
transition: "elastic",
|
369 |
-
speed: 300,
|
370 |
-
scrolling: true,
|
371 |
-
title: true,
|
372 |
-
opacity: 0.9,
|
373 |
-
className: false,
|
374 |
-
current: "image {current} of {total}",
|
375 |
-
previous: "previous",
|
376 |
-
next: "next",
|
377 |
-
close: "close",
|
378 |
-
onOpen: false,
|
379 |
-
onLoad: false,
|
380 |
-
onComplete: false,
|
381 |
-
onClosed: false,
|
382 |
-
overlayClose: true,
|
383 |
-
escKey: true
|
384 |
-
}
|
385 |
-
</colorBoxParam>
|
386 |
-
<example>mouseOverExtension</example>
|
387 |
-
<exampleFancyboxFullscreen>mouseOverExtension</exampleFancyboxFullscreen>
|
388 |
-
<exampleFancybox>modal</exampleFancybox>
|
389 |
-
<exampleColorbox>modal</exampleColorbox>
|
390 |
-
<enforceFullScreenRes>768</enforceFullScreenRes>
|
391 |
-
<prevNextArrows>false</prevNextArrows>
|
392 |
-
<disableScrollAnm>true</disableScrollAnm>
|
393 |
-
<fullScreenApi>true</fullScreenApi>
|
394 |
-
<axZmCallBacks>{}</axZmCallBacks>
|
395 |
-
<azOptions>{}</azOptions>
|
396 |
-
<azOptions360>{}</azOptions360>
|
397 |
-
<postMode>true</postMode>
|
398 |
-
</main>
|
399 |
-
<pinterest>
|
400 |
-
<enabled>false</enabled>
|
401 |
-
<build>parsePinBtns</build>
|
402 |
-
<wrapClass>axZm_mouseOverPinterest</wrapClass>
|
403 |
-
<href>//en.pinterest.com/pin/create/button/</href>
|
404 |
-
<description>null</description>
|
405 |
-
<url>null</url>
|
406 |
-
<media>null</media>
|
407 |
-
<btnSrc>//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png</btnSrc>
|
408 |
-
<data>{}</data>
|
409 |
-
</pinterest>
|
410 |
-
<producttour>
|
411 |
-
<cropAxZmThumbSliderParam></cropAxZmThumbSliderParam>
|
412 |
-
<cropSliderPosition>left</cropSliderPosition>
|
413 |
-
<cropSliderDimension>86</cropSliderDimension>
|
414 |
-
<cropSliderThumbAutoSize>true</cropSliderThumbAutoSize>
|
415 |
-
<cropSliderThumbAutoMargin>7</cropSliderThumbAutoMargin>
|
416 |
-
<cropSliderThumbDescr>true</cropSliderThumbDescr>
|
417 |
-
</producttour>
|
418 |
-
<mouseOverZoomParam>
|
419 |
-
<position>right</position>
|
420 |
-
<posAutoInside>150</posAutoInside>
|
421 |
-
<posInsideArea>0.2</posInsideArea>
|
422 |
-
<touchScroll>0.8</touchScroll>
|
423 |
-
<noMouseOverZoom>false</noMouseOverZoom>
|
424 |
-
<autoFlip>120</autoFlip>
|
425 |
-
<biggestSpace>false</biggestSpace>
|
426 |
-
<zoomFullSpace>false</zoomFullSpace>
|
427 |
-
<zoomWidth>.product-shop|+2</zoomWidth>
|
428 |
-
<zoomHeight>.product-img-box</zoomHeight>
|
429 |
-
<autoMargin>15</autoMargin>
|
430 |
-
<adjustX>13</adjustX>
|
431 |
-
<adjustY>-1</adjustY>
|
432 |
-
<lensOpacity>1</lensOpacity>
|
433 |
-
<lensStyle>{}</lensStyle>
|
434 |
-
<lensClass>false</lensClass>
|
435 |
-
<zoomAreaBorderWidth>1</zoomAreaBorderWidth>
|
436 |
-
<galleryFade>300</galleryFade>
|
437 |
-
<shutterSpeed>150</shutterSpeed>
|
438 |
-
<showFade>300</showFade>
|
439 |
-
<hideFade>300</hideFade>
|
440 |
-
<flyOutSpeed>false</flyOutSpeed>
|
441 |
-
<flyOutTransition>linear</flyOutTransition>
|
442 |
-
<flyOutOpacity>0.6</flyOutOpacity>
|
443 |
-
<flyBackSpeed>false</flyBackSpeed>
|
444 |
-
<flyBackTransition>linear</flyBackTransition>
|
445 |
-
<flyBackOpacity>0.2</flyBackOpacity>
|
446 |
-
<autoScroll>false</autoScroll>
|
447 |
-
<smoothMove>6</smoothMove>
|
448 |
-
<tint>false</tint>
|
449 |
-
<tintOpacity>0.3</tintOpacity>
|
450 |
-
<tintFilter>false</tintFilter>
|
451 |
-
<tintLensBack>true</tintLensBack>
|
452 |
-
<showTitle>true</showTitle>
|
453 |
-
<titleOpacity>0.5</titleOpacity>
|
454 |
-
<titlePosition>top</titlePosition>
|
455 |
-
<cursorPositionX>0.5</cursorPositionX>
|
456 |
-
<cursorPositionY>0.55</cursorPositionY>
|
457 |
-
<touchClickAbort>500</touchClickAbort>
|
458 |
-
<loading>true</loading>
|
459 |
-
<loadingMessage>
|
460 |
-
{
|
461 |
-
"en" : "Loading...",
|
462 |
-
"de": "Loading...",
|
463 |
-
"fr" : "Loading...",
|
464 |
-
"es" : "Loading..."
|
465 |
-
}
|
466 |
-
</loadingMessage>
|
467 |
-
<loadingWidth>90</loadingWidth>
|
468 |
-
<loadingHeight>20</loadingHeight>
|
469 |
-
<loadingOpacity>1.0</loadingOpacity>
|
470 |
-
<zoomHintEnable>1</zoomHintEnable>
|
471 |
-
<zoomHintText>
|
472 |
-
{
|
473 |
-
"en" : "Zoom",
|
474 |
-
"de" : "Zoom",
|
475 |
-
"fr" : "Zoom",
|
476 |
-
"es" : "Zoom"
|
477 |
-
}
|
478 |
-
</zoomHintText>
|
479 |
-
<zoomMsgHover>
|
480 |
-
{
|
481 |
-
"en" : "Roll over the image to zoom in",
|
482 |
-
"de" : "Für größere Ansicht mit der Maus über das Bild ziehen",
|
483 |
-
"fr" : "Survolez l'image pour zoomer",
|
484 |
-
"es" : "Pase el cursor sbore la imagen para hacer zoom con la rueda del ratón"
|
485 |
-
}
|
486 |
-
</zoomMsgHover>
|
487 |
-
<zoomMsgClick>
|
488 |
-
{
|
489 |
-
"en" : "Click to open expanded view",
|
490 |
-
"de" : "Klicken Sie auf das Bild, um erweiterte Ansicht zu öffnen",
|
491 |
-
"fr" : "Cliquez sur l'image pour ouvrir la vue élargie",
|
492 |
-
"es" : "Haga clic para ampliar la imagen"
|
493 |
-
}
|
494 |
-
</zoomMsgClick>
|
495 |
-
<slideInTime>200</slideInTime>
|
496 |
-
<slideInEasingCSS3>easeOutExpo</slideInEasingCSS3>
|
497 |
-
<slideInEasing>easeOutExpo</slideInEasing>
|
498 |
-
<slideInScale>0.8</slideInScale>
|
499 |
-
<slideOutScale>0.8</slideOutScale>
|
500 |
-
<slideOutOpacity>0.5</slideOutOpacity>
|
501 |
-
<slideOutDest>1</slideOutDest>
|
502 |
-
<onInit>null</onInit>
|
503 |
-
<onLoad>null</onLoad>
|
504 |
-
<onImageChange>null</onImageChange>
|
505 |
-
<onMouseOver>null</onMouseOver>
|
506 |
-
<onMouseOut>null</onMouseOut>
|
507 |
-
<spinner>true</spinner>
|
508 |
-
<spinnerParam>
|
509 |
-
{
|
510 |
-
lines: 11,
|
511 |
-
length: 3,
|
512 |
-
width: 3,
|
513 |
-
radius: 4,
|
514 |
-
corners: 1,
|
515 |
-
rotate: 0,
|
516 |
-
color: "#FFFFFF",
|
517 |
-
speed: 1,
|
518 |
-
trail: 90,
|
519 |
-
shadow: false,
|
520 |
-
hwaccel: false,
|
521 |
-
className: "spinner",
|
522 |
-
zIndex: 2e9,
|
523 |
-
top: 0,
|
524 |
-
left: 1
|
525 |
-
}
|
526 |
-
</spinnerParam>
|
527 |
-
</mouseOverZoomParam>
|
528 |
-
<products>
|
529 |
-
<displayOnlyForThisProductID></displayOnlyForThisProductID>
|
530 |
-
</products>
|
531 |
-
<magento>
|
532 |
-
<magentoAllImagesStart>false</magentoAllImagesStart>
|
533 |
-
<magentoNoImage>false</magentoNoImage>
|
534 |
-
<magentoAdminThumb>false</magentoAdminThumb>
|
535 |
-
</magento>
|
536 |
-
</axzoom_options>
|
537 |
-
</default>
|
538 |
-
|
539 |
</config>
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/etc/config.xml
|
5 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
+
* Version: 1.3.0
|
8 |
+
* Date: 2017-06-25
|
9 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
18 |
|
19 |
<config>
|
20 |
|
21 |
+
<modules>
|
22 |
+
<Ax_Zoom>
|
23 |
+
<version>1.3.0</version>
|
24 |
+
</Ax_Zoom>
|
25 |
+
</modules>
|
26 |
|
27 |
+
<global>
|
28 |
+
<helpers>
|
29 |
+
<axzoom>
|
30 |
+
<class>Ax_Zoom_Helper</class>
|
31 |
+
</axzoom>
|
32 |
+
</helpers>
|
33 |
+
<models>
|
34 |
+
<axzoom>
|
35 |
+
<class>Ax_Zoom_Model</class>
|
36 |
+
<resourceModel>axzoom_resource</resourceModel>
|
37 |
+
</axzoom>
|
38 |
+
<axzoom_resource>
|
39 |
<class>Ax_Zoom_Model_Resource</class>
|
40 |
<entities>
|
41 |
<table_ax360set>
|
48 |
<table>ajaxzoomproducts</table>
|
49 |
</table_axproducts>
|
50 |
</entities>
|
51 |
+
</axzoom_resource>
|
52 |
+
</models>
|
53 |
+
<blocks>
|
54 |
+
<zoom>
|
55 |
+
<class>Ax_Zoom_Block</class>
|
56 |
+
</zoom>
|
57 |
+
<adminhtml>
|
58 |
+
<rewrite>
|
59 |
+
<catalog_product_edit_tabs>Ax_Zoom_Block_Adminhtml_Tabs</catalog_product_edit_tabs>
|
60 |
+
</rewrite>
|
61 |
+
</adminhtml>
|
62 |
+
</blocks>
|
63 |
<resources>
|
64 |
<axzoom_setup>
|
65 |
<setup>
|
66 |
<module>Ax_Zoom</module>
|
67 |
</setup>
|
68 |
</axzoom_setup>
|
69 |
+
</resources>
|
70 |
+
</global>
|
71 |
|
72 |
+
<frontend>
|
73 |
+
<translate>
|
74 |
+
<modules>
|
75 |
+
<Ax_Zoom>
|
76 |
+
<files>
|
77 |
+
<default>Ax_Zoom.csv</default>
|
78 |
+
</files>
|
79 |
+
</Ax_Zoom>
|
80 |
+
</modules>
|
81 |
+
</translate>
|
82 |
|
83 |
+
<layout>
|
84 |
+
<updates>
|
85 |
+
<ax_zoom>
|
86 |
+
<file>axzoom.xml</file>
|
87 |
+
</ax_zoom>
|
88 |
+
</updates>
|
89 |
+
</layout>
|
90 |
|
91 |
+
<events>
|
92 |
<catalog_controller_product_init>
|
93 |
<observers>
|
94 |
<ax_zoom_model_observer>
|
108 |
</ax_zoom_model_observer>
|
109 |
</observers>
|
110 |
</core_block_abstract_to_html_before>
|
111 |
+
</events>
|
112 |
+
</frontend>
|
113 |
+
|
114 |
<admin>
|
115 |
<routers>
|
116 |
<adminhtml>
|
121 |
</args>
|
122 |
</adminhtml>
|
123 |
</routers>
|
124 |
+
</admin>
|
125 |
|
126 |
+
<adminhtml>
|
127 |
+
<translate>
|
128 |
+
<modules>
|
129 |
+
<Ax_Zoom>
|
130 |
+
<files>
|
131 |
+
<default>Ax_Zoom.csv</default>
|
132 |
+
</files>
|
133 |
+
</Ax_Zoom>
|
134 |
+
</modules>
|
135 |
+
</translate>
|
136 |
|
137 |
+
<layout>
|
138 |
+
<updates>
|
139 |
+
<ax_zoom>
|
140 |
+
<file>axzoom.xml</file>
|
141 |
+
</ax_zoom>
|
142 |
+
</updates>
|
143 |
+
</layout>
|
144 |
|
145 |
<events>
|
146 |
<catalog_product_prepare_save>
|
161 |
<method>deleteProduct</method>
|
162 |
</ax_zoom_model_observer>
|
163 |
</observers>
|
164 |
+
</catalog_product_delete_before>
|
165 |
|
166 |
<catalog_product_save_before>
|
167 |
<observers>
|
172 |
</ax_zoom_model_observer>
|
173 |
</observers>
|
174 |
</catalog_product_save_before>
|
175 |
+
|
176 |
<catalog_product_save_after>
|
177 |
<observers>
|
178 |
<ax_zoom_model_observer>
|
182 |
</ax_zoom_model_observer>
|
183 |
</observers>
|
184 |
</catalog_product_save_after>
|
185 |
+
|
186 |
</events>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
|
188 |
+
<acl>
|
189 |
+
<resources>
|
190 |
+
<admin>
|
191 |
+
<children>
|
192 |
+
<system>
|
193 |
+
<children>
|
194 |
+
<config>
|
195 |
+
<children>
|
196 |
+
<axzoom_options>
|
197 |
+
<title>AJAX ZOOM Settings</title>
|
198 |
+
</axzoom_options>
|
199 |
+
</children>
|
200 |
+
</config>
|
201 |
+
</children>
|
202 |
+
</system>
|
203 |
+
</children>
|
204 |
+
</admin>
|
205 |
+
</resources>
|
206 |
+
</acl>
|
207 |
+
|
208 |
+
</adminhtml>
|
209 |
+
|
210 |
+
<default>
|
211 |
+
|
212 |
+
<axzoom_options>
|
213 |
+
<plugin_settings>
|
214 |
+
<enableInFrontDetail>true</enableInFrontDetail>
|
215 |
+
<displayOnlyForThisProductID/>
|
216 |
+
<default360settings>{
|
217 |
+
"position": "first",
|
218 |
+
"spinReverse": "true",
|
219 |
+
"spinBounce": "false",
|
220 |
+
"spinDemoRounds": "3",
|
221 |
+
"spinDemoTime": "4500"
|
222 |
+
}</default360settings>
|
223 |
+
<pngModeCssFix>false</pngModeCssFix>
|
224 |
+
<magentoAllImages>false</magentoAllImages>
|
225 |
+
<magentoNoImage>false</magentoNoImage>
|
226 |
+
<magentoAdminThumb>false</magentoAdminThumb>
|
227 |
+
</plugin_settings>
|
228 |
+
<general_settings>
|
229 |
+
<divID>az_mouseOverZoomContainer</divID>
|
230 |
+
<galleryDivID>az_mouseOverZoomGallery</galleryDivID>
|
231 |
+
<disableAllMsg>false</disableAllMsg>
|
232 |
+
<dotNavigation>400</dotNavigation>
|
233 |
+
<floorWidth>true</floorWidth>
|
234 |
+
<pngMode>null</pngMode>
|
235 |
+
<hideGalleryOneImage>true</hideGalleryOneImage>
|
236 |
+
<hideGalleryAddClass>axZm_mouseOverNoMargin</hideGalleryAddClass>
|
237 |
+
<galleryHover>false</galleryHover>
|
238 |
+
<gallerySwitchSlide>false</gallerySwitchSlide>
|
239 |
+
<galleryAxZmThumbSlider>true</galleryAxZmThumbSlider>
|
240 |
+
<galleryAxZmThumbSliderParamHorz>{}</galleryAxZmThumbSliderParamHorz>
|
241 |
+
<galleryAxZmThumbSliderParamVert>{}</galleryAxZmThumbSliderParamVert>
|
242 |
+
<thumbSliderPosition>left-bottom</thumbSliderPosition>
|
243 |
+
<thumbSliderPositionSwitch>auto</thumbSliderPositionSwitch>
|
244 |
+
<thumbSliderMinSize>400</thumbSliderMinSize>
|
245 |
+
<thumbSliderDimensionHorz>80</thumbSliderDimensionHorz>
|
246 |
+
<thumbSliderDimensionVert>80</thumbSliderDimensionVert>
|
247 |
+
<thumbSliderAutoSizeHorz>true</thumbSliderAutoSizeHorz>
|
248 |
+
<thumbSliderAutoSizeVert>true</thumbSliderAutoSizeVert>
|
249 |
+
<thumbSliderAutoMarginHorz>7</thumbSliderAutoMarginHorz>
|
250 |
+
<thumbSliderAutoMarginVert>7</thumbSliderAutoMarginVert>
|
251 |
+
<thumbSliderAutoExtendHorz>0</thumbSliderAutoExtendHorz>
|
252 |
+
<thumbSliderAutoExtendVert>0</thumbSliderAutoExtendVert>
|
253 |
+
<thumbSliderHorzMargin>10</thumbSliderHorzMargin>
|
254 |
+
<thumbsFadeIn>200</thumbsFadeIn>
|
255 |
+
<thumbW>64</thumbW>
|
256 |
+
<thumbH>64</thumbH>
|
257 |
+
<thumbRetina>true</thumbRetina>
|
258 |
+
<thumbMode>false</thumbMode>
|
259 |
+
<qualityThumb>100</qualityThumb>
|
260 |
+
<thumbIcon>true</thumbIcon>
|
261 |
+
<thumbIconFile>{
|
262 |
+
"360": "360_1.png",
|
263 |
+
"3D": "3d_1.png",
|
264 |
+
"youtube": "youtube_icon_30.png",
|
265 |
+
"vimeo": "vimeo_icon_30.png",
|
266 |
+
"dailymotion": "video_icon-30.png",
|
267 |
+
"html5": "video_icon-30.png"
|
268 |
+
}</thumbIconFile>
|
269 |
+
<thumbWfs>64</thumbWfs>
|
270 |
+
<thumbHfs>64</thumbHfs>
|
271 |
+
<thumbRetinaFs>true</thumbRetinaFs>
|
272 |
+
<thumbModeFs>false</thumbModeFs>
|
273 |
+
<qualityThumbFs>100</qualityThumbFs>
|
274 |
+
<quality>90</quality>
|
275 |
+
<qualityZoom>80</qualityZoom>
|
276 |
+
<firstImageToLoad>1</firstImageToLoad>
|
277 |
+
<images360firstToLoad>false</images360firstToLoad>
|
278 |
+
<images360Thumb>true</images360Thumb>
|
279 |
+
<images360ThumbDefaultPostion>first</images360ThumbDefaultPostion>
|
280 |
+
<images360ThumbBeforeVideo>true</images360ThumbBeforeVideo>
|
281 |
+
<images360Overlay>false</images360Overlay>
|
282 |
+
<images360Small>media-360-600.png</images360Small>
|
283 |
+
<images360Big>media-360-1200.png</images360Big>
|
284 |
+
<images360example>mouseOverExtension360Ver5</images360example>
|
285 |
+
<zoomMsg360>{
|
286 |
+
"en" : "Drag to spin 360°, scroll to zoom in and out, right click and drag to pan",
|
287 |
+
"de" : "Ziehen um 360° zu drehen, zoomen mit dem mausrad, rechte maustaste ziehen verschiebt die Ansicht",
|
288 |
+
"fr" : "Faites glisser pour tourner à 360 °, faites défiler pour zoomer dans et hors, cliquer et faire glisser à droite pour vous déplacer",
|
289 |
+
"es" : "Arrastrar para girar en 360º, Rueda del ratón para utilizar el Zoom, botón derecho para mover la imagen"
|
290 |
+
}</zoomMsg360>
|
291 |
+
<zoomMsg360_touch>{
|
292 |
+
"en" : "Drag to spin 360°, pinch to zoom in and out",
|
293 |
+
"de" : "Ziehen um 360° zu drehen, zoomen mit zwei fingern",
|
294 |
+
"fr" : "Faites glisser pour tourner à 360 °, pincer pour zoomer et dézoomer",
|
295 |
+
"es" : "Arrastrar para girar en 360º, pellizcar para ampliar y reducir"
|
296 |
+
}</zoomMsg360_touch>
|
297 |
+
<preloadMouseOverImages>true</preloadMouseOverImages>
|
298 |
+
<noImageAvailableClass>axZm_mouseOverNoImage</noImageAvailableClass>
|
299 |
+
<width>800</width>
|
300 |
+
<height>800</height>
|
301 |
+
<oneSrcImg>true</oneSrcImg>
|
302 |
+
<heightRatio>1</heightRatio>
|
303 |
+
<heightRatioOneImg>1</heightRatioOneImg>
|
304 |
+
<heightMaxWidthRatio>[]</heightMaxWidthRatio>
|
305 |
+
<widthRatio>false</widthRatio>
|
306 |
+
<widthMaxHeightRatio>[]</widthMaxHeightRatio>
|
307 |
+
<maxSizePrc>1.0|-120</maxSizePrc>
|
308 |
+
<mouseOverZoomWidth>1200</mouseOverZoomWidth>
|
309 |
+
<mouseOverZoomHeight>1200</mouseOverZoomHeight>
|
310 |
+
<mouseOverContain>false</mouseOverContain>
|
311 |
+
<ajaxZoomOpenMode>fancyboxFullscreen</ajaxZoomOpenMode>
|
312 |
+
<ajaxZoomOpenModeTouch>fullscreen</ajaxZoomOpenModeTouch>
|
313 |
+
<fancyBoxFullscreenParam>{
|
314 |
+
"boxMargin": 30,
|
315 |
+
"boxPadding": 10,
|
316 |
+
"boxCenterOnScroll": true,
|
317 |
+
"boxOverlayShow": true,
|
318 |
+
"boxOverlayOpacity": 0.85,
|
319 |
+
"boxOverlayColor": "#777",
|
320 |
+
"boxTransitionIn": "fade",
|
321 |
+
"boxTransitionOut": "fade",
|
322 |
+
"boxSpeedIn": 300,
|
323 |
+
"boxSpeedOut": 300,
|
324 |
+
"boxEasingIn": "swing",
|
325 |
+
"boxEasingOut": "swing",
|
326 |
+
"boxShowCloseButton": true,
|
327 |
+
"boxEnableEscapeButton": true,
|
328 |
+
"boxOnComplete": function(){}
|
329 |
+
}</fancyBoxFullscreenParam>
|
330 |
+
<example>mouseOverExtension360Ver5</example>
|
331 |
+
<exampleFancyboxFullscreen>mouseOverExtension360Ver5</exampleFancyboxFullscreen>
|
332 |
+
<enforceFullScreenRes>768</enforceFullScreenRes>
|
333 |
+
<prevNextArrows>false</prevNextArrows>
|
334 |
+
<prevNextArrowsTouch>true</prevNextArrowsTouch>
|
335 |
+
<prevNextArrowsSlide>true</prevNextArrowsSlide>
|
336 |
+
<disableScrollAnm>true</disableScrollAnm>
|
337 |
+
<fullScreenApi>false</fullScreenApi>
|
338 |
+
<axZmCallBacks>{}</axZmCallBacks>
|
339 |
+
<azOptions>{}</azOptions>
|
340 |
+
<azOptions360>{}</azOptions360>
|
341 |
+
<postMode>false</postMode>
|
342 |
+
</general_settings>
|
343 |
+
<product_tour>
|
344 |
+
<cropAxZmThumbSliderParam>{}</cropAxZmThumbSliderParam>
|
345 |
+
<cropSliderPosition>bottom</cropSliderPosition>
|
346 |
+
<cropSliderPositionSwitch>auto</cropSliderPositionSwitch>
|
347 |
+
<cropSliderPosPriority>true</cropSliderPosPriority>
|
348 |
+
<cropSliderReposition>right-bottom</cropSliderReposition>
|
349 |
+
<cropSliderDimension>86</cropSliderDimension>
|
350 |
+
<cropSliderThumbAutoSize>true</cropSliderThumbAutoSize>
|
351 |
+
<cropSliderThumbAutoMargin>10</cropSliderThumbAutoMargin>
|
352 |
+
<cropSliderThumbDescr>true</cropSliderThumbDescr>
|
353 |
+
<cropSliderMinSize>400</cropSliderMinSize>
|
354 |
+
<cropSliderNotParent/>
|
355 |
+
<cropAxZmEbOpt>{
|
356 |
+
"marginX": 5,
|
357 |
+
"marginY": 5,
|
358 |
+
"openSpeed": 300,
|
359 |
+
"closeSpeed": 300,
|
360 |
+
"fadeInSpeed": 200,
|
361 |
+
"autoOpen": false,
|
362 |
+
"arrow": true,
|
363 |
+
"thumbSlider": true,
|
364 |
+
"parO": "#axZm_zoomLayer",
|
365 |
+
"dynText": true,
|
366 |
+
"dynTextBtn": [
|
367 |
+
{"base": 0.016, "min": 12, "max": 24, "important": true}
|
368 |
+
],
|
369 |
+
"dynTextTitle": [
|
370 |
+
{"base": 0.016, "min": 18, "max": 28, "important": true}
|
371 |
+
],
|
372 |
+
"dynTextDescr": [
|
373 |
+
["*", {"base": 0.012, "min": 12, "max": 24, "important": true}],
|
374 |
+
["h3", {"base": 0.016, "min": 16, "max": 32, "important": true}]
|
375 |
+
]
|
376 |
+
}</cropAxZmEbOpt>
|
377 |
+
</product_tour>
|
378 |
+
<fullscreen_gallery>
|
379 |
+
<fsAxZmThumbSliderParam>{}</fsAxZmThumbSliderParam>
|
380 |
+
<fsSliderPosition>right-bottom</fsSliderPosition>
|
381 |
+
<fsSliderReposition>right-bottom</fsSliderReposition>
|
382 |
+
<fsSliderPositionSwitch>auto</fsSliderPositionSwitch>
|
383 |
+
<fsSliderDimension>80</fsSliderDimension>
|
384 |
+
<fsSliderThumbAutoSize>true</fsSliderThumbAutoSize>
|
385 |
+
<fsSliderThumbAutoMargin>7</fsSliderThumbAutoMargin>
|
386 |
+
<fsSliderThumbAutoExtend>0</fsSliderThumbAutoExtend>
|
387 |
+
<fsSliderThumbDescr>false</fsSliderThumbDescr>
|
388 |
+
<fsSliderMinSize>400</fsSliderMinSize>
|
389 |
+
<fsSliderGalleryFadeInAnm>Center</fsSliderGalleryFadeInAnm>
|
390 |
+
<fsSliderNotParent>axZm_mouseOverSpinWrapper</fsSliderNotParent>
|
391 |
+
<onGallerySwitch>null</onGallerySwitch>
|
392 |
+
</fullscreen_gallery>
|
393 |
+
<mouseover>
|
394 |
+
<position>right</position>
|
395 |
+
<posAutoInside>150</posAutoInside>
|
396 |
+
<touchScroll>0.8</touchScroll>
|
397 |
+
<noMouseOverZoom>false</noMouseOverZoom>
|
398 |
+
<noMouseOverZoomTouch>true</noMouseOverZoomTouch>
|
399 |
+
<noMouseOverZoomInside>false</noMouseOverZoomInside>
|
400 |
+
<noMouseOverZoomInsideTouch>true</noMouseOverZoomInsideTouch>
|
401 |
+
<mouseOverZoomHybrid>true</mouseOverZoomHybrid>
|
402 |
+
<slideTouchTime>200</slideTouchTime>
|
403 |
+
<slideTime>300</slideTime>
|
404 |
+
<posInsideArea>0.2</posInsideArea>
|
405 |
+
<autoFlip>200</autoFlip>
|
406 |
+
<biggestSpace>false</biggestSpace>
|
407 |
+
<zoomFullSpace>false</zoomFullSpace>
|
408 |
+
<zoomWidth>.product-shop|+1</zoomWidth>
|
409 |
+
<zoomHeight>.product-essential</zoomHeight>
|
410 |
+
<autoMargin>15</autoMargin>
|
411 |
+
<adjustX>15</adjustX>
|
412 |
+
<adjustY>-1</adjustY>
|
413 |
+
<lensOpacity>1</lensOpacity>
|
414 |
+
<lensStyle>{}</lensStyle>
|
415 |
+
<lensClass/>
|
416 |
+
<lensMessage>{
|
417 |
+
"en" : "Full screen",
|
418 |
+
"de": "Vollbild",
|
419 |
+
"fr": "Plein écran",
|
420 |
+
"es": "Pantalla completa"
|
421 |
+
}</lensMessage>
|
422 |
+
<zoomAreaBorderWidth>1</zoomAreaBorderWidth>
|
423 |
+
<galleryFade>300</galleryFade>
|
424 |
+
<shutterSpeed>150</shutterSpeed>
|
425 |
+
<showFade>300</showFade>
|
426 |
+
<hideFade>300</hideFade>
|
427 |
+
<flyOutSpeed>false</flyOutSpeed>
|
428 |
+
<flyOutTransition>linear</flyOutTransition>
|
429 |
+
<flyOutOpacity>0.6</flyOutOpacity>
|
430 |
+
<flyBackSpeed>false</flyBackSpeed>
|
431 |
+
<flyBackTransition>linear</flyBackTransition>
|
432 |
+
<flyBackOpacity>0.2</flyBackOpacity>
|
433 |
+
<autoScroll>false</autoScroll>
|
434 |
+
<smoothMove>6</smoothMove>
|
435 |
+
<tint>false</tint>
|
436 |
+
<tintOpacity>0.3</tintOpacity>
|
437 |
+
<tintFilter>false</tintFilter>
|
438 |
+
<tintFilterBack>none</tintFilterBack>
|
439 |
+
<tintLensBack>true</tintLensBack>
|
440 |
+
<showTitle>false</showTitle>
|
441 |
+
<titlePosition>top</titlePosition>
|
442 |
+
<titleParentContainer/>
|
443 |
+
<titlePermanent>false</titlePermanent>
|
444 |
+
<cursorPositionX>0.5</cursorPositionX>
|
445 |
+
<cursorPositionY>0.55</cursorPositionY>
|
446 |
+
<loading>true</loading>
|
447 |
+
<loadingMessage>{
|
448 |
+
"en": "Loading...",
|
449 |
+
"de": "Loading...",
|
450 |
+
"fr": "Loading...",
|
451 |
+
"es": "Loading..."
|
452 |
+
}</loadingMessage>
|
453 |
+
<zoomHintEnable>true</zoomHintEnable>
|
454 |
+
<zoomHintText>{
|
455 |
+
"en" : "Zoom",
|
456 |
+
"de" : "Zoom",
|
457 |
+
"fr" : "Zoom",
|
458 |
+
"es" : "Zoom"
|
459 |
+
}</zoomHintText>
|
460 |
+
<zoomMsgHover>{
|
461 |
+
"en" : "Roll over the image to zoom in",
|
462 |
+
"de" : "Für größere Ansicht mit der Maus über das Bild ziehen",
|
463 |
+
"fr" : "Survolez l'image pour zoomer",
|
464 |
+
"es" : "Pase el cursor sbore la imagen para hacer zoom con la rueda del ratón"
|
465 |
+
}</zoomMsgHover>
|
466 |
+
<zoomMsgHoverTouch>{
|
467 |
+
"en" : "Tap to open expanded view",
|
468 |
+
"de" : "Klicken Sie auf das Bild, um erweiterte Ansicht zu öffnen",
|
469 |
+
"fr" : "Cliquez sur l'image pour ouvrir la vue élargie",
|
470 |
+
"es" : "Haga clic para ampliar la imagen"
|
471 |
+
}</zoomMsgHoverTouch>
|
472 |
+
<zoomMsgClick>{
|
473 |
+
"en" : "Click to open expanded view",
|
474 |
+
"de" : "Klicken Sie auf das Bild, um erweiterte Ansicht zu öffnen",
|
475 |
+
"fr" : "Cliquez sur l'image pour ouvrir la vue élargie",
|
476 |
+
"es" : "Haga clic para ampliar la imagen"
|
477 |
+
}</zoomMsgClick>
|
478 |
+
<slideInTime>200</slideInTime>
|
479 |
+
<slideInEasingCSS3>easeOutExpo</slideInEasingCSS3>
|
480 |
+
<slideInEasing>easeOutExpo</slideInEasing>
|
481 |
+
<slideInScale>0.8</slideInScale>
|
482 |
+
<slideOutScale>0.8</slideOutScale>
|
483 |
+
<slideOutOpacity>0</slideOutOpacity>
|
484 |
+
<slideOutDest>4</slideOutDest>
|
485 |
+
<onInit>false</onInit>
|
486 |
+
<onLoad>false</onLoad>
|
487 |
+
<onImageChange>false</onImageChange>
|
488 |
+
<onMouseOver>false</onMouseOver>
|
489 |
+
<onMouseOut>false</onMouseOut>
|
490 |
+
<spinner>true</spinner>
|
491 |
+
<spinnerParam>{
|
492 |
+
"lines": 11,
|
493 |
+
"length": 3,
|
494 |
+
"width": 3,
|
495 |
+
"radius": 4,
|
496 |
+
"corners": 1,
|
497 |
+
"rotate": 0,
|
498 |
+
"color": "#FFFFFF",
|
499 |
+
"speed": 1,
|
500 |
+
"trail": 90,
|
501 |
+
"shadow": false,
|
502 |
+
"hwaccel": false,
|
503 |
+
"className": "spinner",
|
504 |
+
"zIndex": 2e9,
|
505 |
+
"top": 0,
|
506 |
+
"left": 1
|
507 |
+
}</spinnerParam>
|
508 |
+
</mouseover>
|
509 |
+
</axzoom_options>
|
510 |
|
511 |
+
</default>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
</config>
|
app/code/local/Ax/Zoom/etc/system.xml
CHANGED
@@ -16,1489 +16,2251 @@
|
|
16 |
*/
|
17 |
-->
|
18 |
<config>
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
<groups>
|
29 |
-
|
30 |
-
<general translate="label">
|
31 |
-
<label>About</label>
|
32 |
-
<sort_order>10</sort_order>
|
33 |
-
<show_in_default>1</show_in_default>
|
34 |
-
<show_in_website>1</show_in_website>
|
35 |
-
<show_in_store>1</show_in_store>
|
36 |
-
<comment>
|
37 |
-
<![CDATA[
|
38 |
-
<style>
|
39 |
-
.importantAZoption{
|
40 |
-
color: #3d6611 !important;
|
41 |
-
font-weight: bolder;
|
42 |
-
background-position: 0 0 !important;
|
43 |
-
padding-left: 24px;
|
44 |
-
background-color: transparent !important;
|
45 |
-
border-width: 0 !important;
|
46 |
-
word-break: break-all;
|
47 |
-
}
|
48 |
-
.comment a{
|
49 |
-
color: #ea7601 !important;
|
50 |
-
}
|
51 |
-
.importantAZcolor{
|
52 |
-
color: #3d6611 !important;
|
53 |
-
font-weight: bolder;
|
54 |
-
}
|
55 |
-
#licType{
|
56 |
-
width: 100px !important;
|
57 |
-
}
|
58 |
-
</style>
|
59 |
-
<script>
|
60 |
-
var az_getCoordsEl = function(elem) { var box = elem.getBoundingClientRect(); var body = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop; var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft; var clientTop = docEl.clientTop || body.clientTop || 0; var clientLeft = docEl.clientLeft || body.clientLeft || 0;var top = box.top + scrollTop - clientTop; var left = box.left + scrollLeft - clientLeft; return { top: Math.round(top), left: Math.round(left) }; }
|
61 |
-
|
62 |
-
// Fieldset.az_open('axzoom_options_mouseOverZoomParam', 'axzoom_options_mouseOverZoomParam_zoomWidth');
|
63 |
-
if (Fieldset){
|
64 |
-
Fieldset.az_open = function(containerId, scrollToElId){
|
65 |
-
var test_col = $(containerId + '-state').value;
|
66 |
-
if (test_col == 0){
|
67 |
-
this.toggleCollapse(containerId);
|
68 |
-
}
|
69 |
-
if (scrollToElId){
|
70 |
-
var ell = document.getElementById(scrollToElId);
|
71 |
-
if (ell){
|
72 |
-
var targetY = az_getCoordsEl(ell)['top'] - 50;
|
73 |
-
if (targetY < 0){return;}
|
74 |
-
window.scrollTo(0, targetY);
|
75 |
-
}
|
76 |
-
}
|
77 |
-
}
|
78 |
-
}else{
|
79 |
-
Fieldset = {
|
80 |
-
az_open: function(containerId){
|
81 |
-
return;
|
82 |
-
}
|
83 |
-
};
|
84 |
-
}
|
85 |
-
</script>
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
]]>
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
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 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1504 |
</config>
|
16 |
*/
|
17 |
-->
|
18 |
<config>
|
19 |
+
<sections>
|
20 |
+
<axzoom_options translate="label" module="axzoom">
|
21 |
+
<label>AJAX-ZOOM</label>
|
22 |
+
<tab>catalog</tab>
|
23 |
+
<frontend_type>text</frontend_type>
|
24 |
+
<sort_order>30</sort_order>
|
25 |
+
<show_in_default>1</show_in_default>
|
26 |
+
<show_in_website>1</show_in_website>
|
27 |
+
<show_in_store>1</show_in_store>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
+
<groups>
|
30 |
+
<general translate="label">
|
31 |
+
<label>About </label>
|
32 |
+
<frontend_type>text</frontend_type>
|
33 |
+
<sort_order>10</sort_order>
|
34 |
+
<show_in_default>1</show_in_default>
|
35 |
+
<show_in_website>0</show_in_website>
|
36 |
+
<show_in_store>0</show_in_store>
|
37 |
+
<comment>
|
38 |
+
<![CDATA[
|
39 |
+
<style>
|
40 |
+
.importantAZoption{
|
41 |
+
color: #3d6611 !important;
|
42 |
+
font-weight: bolder;
|
43 |
+
background-position: 0 0 !important;
|
44 |
+
padding-left: 24px;
|
45 |
+
background-color: transparent !important;
|
46 |
+
border-width: 0 !important;
|
47 |
+
word-break: break-all;
|
48 |
+
}
|
49 |
+
.comment a{
|
50 |
+
color: #ea7601 !important;
|
51 |
+
}
|
52 |
+
.importantAZcolor{
|
53 |
+
color: #3d6611 !important;
|
54 |
+
font-weight: bolder;
|
55 |
+
}
|
56 |
+
#licType{
|
57 |
+
width: 100px !important;
|
58 |
+
}
|
59 |
+
</style>
|
60 |
+
|
61 |
+
<script>
|
62 |
+
var az_getCoordsEl = function(elem) {
|
63 |
+
var box = elem.getBoundingClientRect();
|
64 |
+
var body = document.body;
|
65 |
+
var docEl = document.documentElement;
|
66 |
+
var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
|
67 |
+
var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
|
68 |
+
var clientTop = docEl.clientTop || body.clientTop || 0;
|
69 |
+
var clientLeft = docEl.clientLeft || body.clientLeft || 0;
|
70 |
+
var top = box.top + scrollTop - clientTop;
|
71 |
+
var left = box.left + scrollLeft - clientLeft;
|
72 |
+
return { top: Math.round(top), left: Math.round(left) };
|
73 |
+
};
|
74 |
+
// Fieldset.az_open("axzoom_options_mouseOverZoomParam", "axzoom_options_mouseOverZoomParam_zoomWidth");
|
75 |
+
if (Fieldset){
|
76 |
+
Fieldset.az_open = function(containerId, scrollToElId){
|
77 |
+
var test_col = $(containerId + "-state").value;
|
78 |
+
if (test_col == 0){
|
79 |
+
this.toggleCollapse(containerId);
|
80 |
+
}
|
81 |
+
if (scrollToElId){
|
82 |
+
var ell = document.getElementById(scrollToElId);
|
83 |
+
if (ell){
|
84 |
+
var targetY = az_getCoordsEl(ell)["top"] - 50;
|
85 |
+
if (targetY < 0){return;}
|
86 |
+
window.scrollTo(0, targetY);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
}
|
90 |
+
}else{
|
91 |
+
Fieldset = {
|
92 |
+
az_open: function(containerId){
|
93 |
+
return;
|
94 |
+
}
|
95 |
+
};
|
96 |
+
}
|
97 |
+
</script>
|
98 |
+
<p>AJAX-ZOOM is a multipurpose library for displaying (high resolution) images and 360°/3D spins. <br>
|
99 |
+
This Magento extension integrates only one particular implementation (example) from AJAX-ZOOM library into Magento. <br>
|
100 |
+
The independent example can be found here:
|
101 |
+
<a target="_blank" href="http://www.ajax-zoom.com/examples/example32.php">
|
102 |
+
http://www.ajax-zoom.com/examples/example32.php
|
103 |
+
</a><br>
|
104 |
+
There you will also find some subtle details about the options which you can configure below. <br>
|
105 |
+
The options below mainly refer to this one implementation / example. <br><br>
|
106 |
+
<b>However</b> AJAX-ZOOM has many other options which can be set manually in
|
107 |
+
<code>/js/axzoom/axZm/zoomConfigCustom.inc.php</code>
|
108 |
+
after <br> <code>elseif ($_GET['example'] == 'mouseOverExtension360Ver5')</code>.
|
109 |
+
You can also override any PHP options contained in
|
110 |
+
<code>/js/axzoom/axZm/zoomConfig.inc.php</code> and
|
111 |
+
<code>/js/axzoom/axZm/zoomConfigCustom.inc.php</code> by editing
|
112 |
+
<code>/js/axzoom/zoomConfigCustomAZ.inc.php</code><br>
|
113 |
+
</p>
|
114 |
+
If you do not want to edit PHP files - most of the options can be also set in these
|
115 |
+
formfields as JS plain object:
|
116 |
+
<ol style="margin-left: 25px; list-style: decimal">
|
117 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open('axzoom_options_general_settings', 'axzoom_options_general_settings_azOptions')">azOptions</a> - for 2D zoom</li>
|
118 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open('axzoom_options_general_settings', 'axzoom_options_general_settings_azOptions360')">azOptions360</a> - for 360/3D zoom</li>
|
119 |
+
</ol><br>
|
120 |
+
Depending on the template used you might need to adjust especially these two options:
|
121 |
+
<ol style="margin-left: 25px; list-style: decimal">
|
122 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open('axzoom_options_mouseover', 'axzoom_options_mouseover_zoomWidth')">zoomWidth</a> - width of the mouseover flyout window</li>
|
123 |
+
<li><a href="javascript:void(0)" onclick="Fieldset.az_open('axzoom_options_mouseover', 'axzoom_options_mouseover_zoomHeight')">zoomHeight</a> - height of the mouseover flyout window</li>
|
124 |
+
</ol><br>
|
125 |
+
<p>If you will be not able to adjust these options on your own please
|
126 |
+
<a target="_blank" href="http://www.ajax-zoom.com/index.php?cid=contact">ask for support</a>
|
127 |
+
</p>
|
128 |
+
<p>Other useful / most common options are marked <span class="importantAZcolor">green</span> with this symbol:
|
129 |
+
<span class="notice-msg importantAZoption"></span>
|
130 |
+
</p>
|
131 |
]]>
|
132 |
+
</comment>
|
133 |
+
</general>
|
134 |
+
<actions translate="label">
|
135 |
+
<label>Actions</label>
|
136 |
+
<frontend_type>text</frontend_type>
|
137 |
+
<sort_order>20</sort_order>
|
138 |
+
<show_in_default>1</show_in_default>
|
139 |
+
<show_in_website>1</show_in_website>
|
140 |
+
<show_in_store>1</show_in_store>
|
141 |
+
<fields>
|
142 |
+
<resetbutton>
|
143 |
+
<label>Reset all options to default values</label>
|
144 |
+
<comment><![CDATA[
|
145 |
+
Reset all options except licenses to their default values
|
146 |
+
]]></comment>
|
147 |
+
<frontend_model>zoom/adminhtml_system_config_form_resetbutton</frontend_model>
|
148 |
+
<sort_order>1</sort_order>
|
149 |
+
<show_in_default>1</show_in_default>
|
150 |
+
<show_in_website>1</show_in_website>
|
151 |
+
<show_in_store>1</show_in_store>
|
152 |
+
</resetbutton>
|
153 |
+
<numberimages>
|
154 |
+
<label>Get number images</label>
|
155 |
+
<comment><![CDATA[
|
156 |
+
Request total number of images
|
157 |
+
]]></comment>
|
158 |
+
<frontend_model>zoom/adminhtml_system_config_form_numberimages</frontend_model>
|
159 |
+
<sort_order>2</sort_order>
|
160 |
+
<show_in_default>1</show_in_default>
|
161 |
+
<show_in_website>1</show_in_website>
|
162 |
+
<show_in_store>1</show_in_store>
|
163 |
+
</numberimages>
|
164 |
+
</fields>
|
165 |
+
</actions>
|
166 |
+
<license translate="label">
|
167 |
+
<label>AJAX-ZOOM license(s)</label>
|
168 |
+
<frontend_type>text</frontend_type>
|
169 |
+
<sort_order>30</sort_order>
|
170 |
+
<show_in_default>1</show_in_default>
|
171 |
+
<show_in_website>1</show_in_website>
|
172 |
+
<show_in_store>1</show_in_store>
|
173 |
+
<fields>
|
174 |
+
<lic>
|
175 |
+
<label>License</label>
|
176 |
+
<comment><![CDATA[
|
177 |
+
<a href="http://www.ajax-zoom.com/index.php?cid=contact" target="_blank">
|
178 |
+
Ask for support</a>
|
179 |
+
<a href="http://www.ajax-zoom.com/index.php?cid=download#heading_3" target="_blank">
|
180 |
+
Buy a license</a>
|
181 |
+
]]></comment>
|
182 |
+
<frontend_model>zoom/adminhtml_system_config_fieldset_license</frontend_model>
|
183 |
+
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
184 |
+
<sort_order>1</sort_order>
|
185 |
+
<show_in_default>1</show_in_default>
|
186 |
+
<show_in_website>1</show_in_website>
|
187 |
+
<show_in_store>1</show_in_store>
|
188 |
+
</lic>
|
189 |
+
</fields>
|
190 |
+
</license>
|
191 |
+
<plugin_settings translate="label">
|
192 |
+
<label>Plugin settings for Magento</label>
|
193 |
+
<frontend_type>text</frontend_type>
|
194 |
+
<sort_order>40</sort_order>
|
195 |
+
<show_in_default>1</show_in_default>
|
196 |
+
<show_in_website>1</show_in_website>
|
197 |
+
<show_in_store>1</show_in_store>
|
198 |
+
<fields>
|
199 |
+
<enableInFrontDetail>
|
200 |
+
<label>enableInFrontDetail</label>
|
201 |
+
<comment><![CDATA[Eneable / disable AJAX-ZOOM output in product detail view.]]></comment>
|
202 |
+
<frontend_type>select</frontend_type>
|
203 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
204 |
+
<sort_order>10</sort_order>
|
205 |
+
<show_in_default>1</show_in_default>
|
206 |
+
<show_in_website>1</show_in_website>
|
207 |
+
<show_in_store>1</show_in_store>
|
208 |
+
</enableInFrontDetail>
|
209 |
+
<displayOnlyForThisProductID>
|
210 |
+
<label>displayOnlyForThisProductID</label>
|
211 |
+
<comment><![CDATA[CSV with product IDs for which AJAX-ZOOM will be <b>only</b> enabled.
|
212 |
+
Leave blank to have it enabled for all products!
|
213 |
+
This option can be useful e.g. if you want to make A/B tests and enable
|
214 |
+
AJAX-ZOOM only for certain products, e.g. 7,15 would
|
215 |
+
enable AJAX-ZOOM only for products with ID 7 and 15.]]></comment>
|
216 |
+
<frontend_type>textarea</frontend_type>
|
217 |
+
<sort_order>20</sort_order>
|
218 |
+
<show_in_default>1</show_in_default>
|
219 |
+
<show_in_website>1</show_in_website>
|
220 |
+
<show_in_store>1</show_in_store>
|
221 |
+
</displayOnlyForThisProductID>
|
222 |
+
<default360settings>
|
223 |
+
<label>default360settings</label>
|
224 |
+
<comment><![CDATA[
|
225 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
226 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
227 |
+
Default configuration settings when importing / creating new 360 over backend.
|
228 |
+
]]></comment>
|
229 |
+
<frontend_type>textarea</frontend_type>
|
230 |
+
<sort_order>30</sort_order>
|
231 |
+
<show_in_default>1</show_in_default>
|
232 |
+
<show_in_website>1</show_in_website>
|
233 |
+
<show_in_store>1</show_in_store>
|
234 |
+
</default360settings>
|
235 |
+
<pngModeCssFix>
|
236 |
+
<label>pngModeCssFix</label>
|
237 |
+
<comment><![CDATA[Include CSS file for making
|
238 |
+
some areas of the player transparent which only makes sense
|
239 |
+
if pngMode option is set to auto or true and you are
|
240 |
+
really using transparent png images.]]></comment>
|
241 |
+
<frontend_type>select</frontend_type>
|
242 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
243 |
+
<sort_order>40</sort_order>
|
244 |
+
<show_in_default>1</show_in_default>
|
245 |
+
<show_in_website>1</show_in_website>
|
246 |
+
<show_in_store>1</show_in_store>
|
247 |
+
</pngModeCssFix>
|
248 |
+
<magentoAllImages>
|
249 |
+
<label>magentoAllImages</label>
|
250 |
+
<comment><![CDATA[Load all images independent on label (color),
|
251 |
+
also from "Simple Products" which are bind
|
252 |
+
to Configurable Product on start.]]></comment>
|
253 |
+
<frontend_type>select</frontend_type>
|
254 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
255 |
+
<sort_order>50</sort_order>
|
256 |
+
<show_in_default>1</show_in_default>
|
257 |
+
<show_in_website>1</show_in_website>
|
258 |
+
<show_in_store>1</show_in_store>
|
259 |
+
</magentoAllImages>
|
260 |
+
<magentoNoImage>
|
261 |
+
<label>magentoNoImage</label>
|
262 |
+
<comment><![CDATA[Show magento no image available,
|
263 |
+
if no AJAX-ZOOM no image available will be shown.]]></comment>
|
264 |
+
<frontend_type>select</frontend_type>
|
265 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
266 |
+
<sort_order>60</sort_order>
|
267 |
+
<show_in_default>1</show_in_default>
|
268 |
+
<show_in_website>1</show_in_website>
|
269 |
+
<show_in_store>1</show_in_store>
|
270 |
+
</magentoNoImage>
|
271 |
+
<magentoAdminThumb>
|
272 |
+
<label>magentoAdminThumb</label>
|
273 |
+
<comment><![CDATA[Replace normal images in admin area with dynamically generated thumbs of these images]]></comment>
|
274 |
+
<frontend_type>select</frontend_type>
|
275 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
276 |
+
<sort_order>70</sort_order>
|
277 |
+
<show_in_default>1</show_in_default>
|
278 |
+
<show_in_website>1</show_in_website>
|
279 |
+
<show_in_store>1</show_in_store>
|
280 |
+
</magentoAdminThumb>
|
281 |
+
</fields>
|
282 |
+
</plugin_settings>
|
283 |
+
<general_settings translate="label">
|
284 |
+
<label>General settings</label>
|
285 |
+
<frontend_type>text</frontend_type>
|
286 |
+
<sort_order>50</sort_order>
|
287 |
+
<show_in_default>1</show_in_default>
|
288 |
+
<show_in_website>1</show_in_website>
|
289 |
+
<show_in_store>1</show_in_store>
|
290 |
+
<fields>
|
291 |
+
<divID>
|
292 |
+
<label>divID</label>
|
293 |
+
<comment><![CDATA[DIV (container) ID for mouseover zoom :-)]]></comment>
|
294 |
+
<frontend_type>text</frontend_type>
|
295 |
+
<sort_order>10</sort_order>
|
296 |
+
<show_in_default>1</show_in_default>
|
297 |
+
<show_in_website>1</show_in_website>
|
298 |
+
<show_in_store>1</show_in_store>
|
299 |
+
</divID>
|
300 |
+
<galleryDivID>
|
301 |
+
<label>galleryDivID</label>
|
302 |
+
<comment><![CDATA[DIV (container) id of the gallery, set to false to disable gallery.]]></comment>
|
303 |
+
<frontend_type>text</frontend_type>
|
304 |
+
<sort_order>20</sort_order>
|
305 |
+
<show_in_default>1</show_in_default>
|
306 |
+
<show_in_website>1</show_in_website>
|
307 |
+
<show_in_store>1</show_in_store>
|
308 |
+
</galleryDivID>
|
309 |
+
<disableAllMsg>
|
310 |
+
<label>disableAllMsg</label>
|
311 |
+
<comment><![CDATA[AJAX-ZOOM produces some notifications within the player
|
312 |
+
telling that image tiles or other files are generating and returns the result.
|
313 |
+
This happens only when an image or 360 images are opened for the first time.
|
314 |
+
This is also the reason why preloading is slow at first.
|
315 |
+
With this switch you can disable these notifications in the frontend.]]></comment>
|
316 |
+
<frontend_type>select</frontend_type>
|
317 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
318 |
+
<sort_order>30</sort_order>
|
319 |
+
<show_in_default>1</show_in_default>
|
320 |
+
<show_in_website>1</show_in_website>
|
321 |
+
<show_in_store>1</show_in_store>
|
322 |
+
</disableAllMsg>
|
323 |
+
<dotNavigation>
|
324 |
+
<label>dotNavigation</label>
|
325 |
+
<comment><![CDATA[Enable dot navigation if browser / device resolution is less than this value.
|
326 |
+
See also "thumbSliderMinSize" option. Setting both
|
327 |
+
- "dotNavigation" and "thumbSliderMinSize"
|
328 |
+
to same value will result in dot navigation replacing
|
329 |
+
gallery on devices with small resolution. Set to 0 to disable.]]></comment>
|
330 |
+
<frontend_type>text</frontend_type>
|
331 |
+
<sort_order>40</sort_order>
|
332 |
+
<show_in_default>1</show_in_default>
|
333 |
+
<show_in_website>1</show_in_website>
|
334 |
+
<show_in_store>1</show_in_store>
|
335 |
+
</dotNavigation>
|
336 |
+
<floorWidth>
|
337 |
+
<label>floorWidth</label>
|
338 |
+
<comment><![CDATA[Prevent browser computed width with decimals for AJAX-ZOOM containers.]]></comment>
|
339 |
+
<frontend_type>select</frontend_type>
|
340 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
341 |
+
<sort_order>50</sort_order>
|
342 |
+
<show_in_default>1</show_in_default>
|
343 |
+
<show_in_website>1</show_in_website>
|
344 |
+
<show_in_store>1</show_in_store>
|
345 |
+
</floorWidth>
|
346 |
+
<pngMode>
|
347 |
+
<label>pngMode</label>
|
348 |
+
<comment><![CDATA[Enable PNG mode in different ways:
|
349 |
+
null will not change the configuration set in zoomConfig.inc.php or
|
350 |
+
other php configuration files at all;
|
351 |
+
auto, true and false will set pngMode setting in PHP.
|
352 |
+
Auto means that cached thumbnails, image tiles etc. will be only kept as PNG
|
353 |
+
if source images are PNG too. Transparancy is also preserved.
|
354 |
+
If true, all cached images will be converted to PNG, even if they are JPG.
|
355 |
+
If false, all cached images will be converted to JPG.]]></comment>
|
356 |
+
<frontend_type>select</frontend_type>
|
357 |
+
<source_model>axzoom/azsettings::pngMode</source_model>
|
358 |
+
<sort_order>60</sort_order>
|
359 |
+
<show_in_default>1</show_in_default>
|
360 |
+
<show_in_website>1</show_in_website>
|
361 |
+
<show_in_store>1</show_in_store>
|
362 |
+
</pngMode>
|
363 |
+
<hideGalleryOneImage>
|
364 |
+
<label>hideGalleryOneImage</label>
|
365 |
+
<comment><![CDATA[Instantly hide gallery if there is only one image, one video or one 360/3D.]]></comment>
|
366 |
+
<frontend_type>select</frontend_type>
|
367 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
368 |
+
<sort_order>70</sort_order>
|
369 |
+
<show_in_default>1</show_in_default>
|
370 |
+
<show_in_website>1</show_in_website>
|
371 |
+
<show_in_store>1</show_in_store>
|
372 |
+
</hideGalleryOneImage>
|
373 |
+
<hideGalleryAddClass>
|
374 |
+
<label>hideGalleryAddClass</label>
|
375 |
+
<comment><![CDATA[This option is mainly for the layout with vertical gallery
|
376 |
+
which is located next (left or right) to mouseover area.
|
377 |
+
The most solid CSS layout for vertical gallery is when "divID" is wrapped by a div
|
378 |
+
which has a left or right margin. This margin corresponds to vertical gallery width +
|
379 |
+
some space in between. So if "hideGalleryOneImage" option is activated
|
380 |
+
and there is only one image,
|
381 |
+
only one 360 or no images / 360s at all, then the container
|
382 |
+
represented by "galleryDivID" option is hidden
|
383 |
+
and there is more space which can be filled.
|
384 |
+
To do that we simply add a CSS class with margin 0 to the parent of "divID"
|
385 |
+
overriding the left or right margin which is not needed for the gallery.
|
386 |
+
You can change the "hideGalleryAddClass"
|
387 |
+
to your own class name or set it to false to prevent this action.]]></comment>
|
388 |
+
<frontend_type>text</frontend_type>
|
389 |
+
<sort_order>80</sort_order>
|
390 |
+
<show_in_default>1</show_in_default>
|
391 |
+
<show_in_website>1</show_in_website>
|
392 |
+
<show_in_store>1</show_in_store>
|
393 |
+
</hideGalleryAddClass>
|
394 |
+
<galleryHover>
|
395 |
+
<label>galleryHover</label>
|
396 |
+
<comment><![CDATA[Use mouseenter (mouseover) for switching between images.
|
397 |
+
You can specify an integer which will represent the time in ms to wait
|
398 |
+
for switching after the mouse enters the thumb; true defaults to 200.]]></comment>
|
399 |
+
<frontend_type>text</frontend_type>
|
400 |
+
<sort_order>90</sort_order>
|
401 |
+
<show_in_default>1</show_in_default>
|
402 |
+
<show_in_website>1</show_in_website>
|
403 |
+
<show_in_store>1</show_in_store>
|
404 |
+
</galleryHover>
|
405 |
+
<gallerySwitchSlide>
|
406 |
+
<label>gallerySwitchSlide</label>
|
407 |
+
<comment><![CDATA[Placeholder, not finished yet (todo).]]></comment>
|
408 |
+
<frontend_type>select</frontend_type>
|
409 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
410 |
+
<sort_order>100</sort_order>
|
411 |
+
<show_in_default>1</show_in_default>
|
412 |
+
<show_in_website>1</show_in_website>
|
413 |
+
<show_in_store>1</show_in_store>
|
414 |
+
</gallerySwitchSlide>
|
415 |
+
<galleryAxZmThumbSlider>
|
416 |
+
<label>galleryAxZmThumbSlider</label>
|
417 |
+
<comment><![CDATA[Use $.axZmThumbSlider on gallery thumbnails or not.]]></comment>
|
418 |
+
<frontend_type>select</frontend_type>
|
419 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
420 |
+
<sort_order>110</sort_order>
|
421 |
+
<show_in_default>1</show_in_default>
|
422 |
+
<show_in_website>1</show_in_website>
|
423 |
+
<show_in_store>1</show_in_store>
|
424 |
+
</galleryAxZmThumbSlider>
|
425 |
+
<galleryAxZmThumbSliderParamHorz>
|
426 |
+
<label>galleryAxZmThumbSliderParamHorz</label>
|
427 |
+
<comment><![CDATA[
|
428 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
429 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
430 |
+
$.axZmThumbSlider options if "galleryAxZmThumbSlider" is enabled
|
431 |
+
and gallery is horizontal. For full list of options see under:
|
432 |
+
http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider/
|
433 |
+
]]></comment>
|
434 |
+
<frontend_type>textarea</frontend_type>
|
435 |
+
<sort_order>120</sort_order>
|
436 |
+
<show_in_default>1</show_in_default>
|
437 |
+
<show_in_website>1</show_in_website>
|
438 |
+
<show_in_store>1</show_in_store>
|
439 |
+
</galleryAxZmThumbSliderParamHorz>
|
440 |
+
<galleryAxZmThumbSliderParamVert>
|
441 |
+
<label>galleryAxZmThumbSliderParamVert</label>
|
442 |
+
<comment><![CDATA[
|
443 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
444 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
445 |
+
$.axZmThumbSlider options if "galleryAxZmThumbSlider" is enabled
|
446 |
+
and gallery is vertical. For full list of options see under:
|
447 |
+
http://www.ajax-zoom.com/axZm/extensions/axZmThumbSlider/
|
448 |
+
]]></comment>
|
449 |
+
<frontend_type>textarea</frontend_type>
|
450 |
+
<sort_order>130</sort_order>
|
451 |
+
<show_in_default>1</show_in_default>
|
452 |
+
<show_in_website>1</show_in_website>
|
453 |
+
<show_in_store>1</show_in_store>
|
454 |
+
</galleryAxZmThumbSliderParamVert>
|
455 |
+
<thumbSliderPosition>
|
456 |
+
<label>thumbSliderPosition</label>
|
457 |
+
<comment><![CDATA[Position of the thumb slider. Possible values are
|
458 |
+
left, top, right, bottom, as well as any combination of these separated
|
459 |
+
with the dash, e.g. left-bottom.]]></comment>
|
460 |
+
<frontend_type>select</frontend_type>
|
461 |
+
<source_model>axzoom/azsettings::thumbSliderPosition</source_model>
|
462 |
+
<sort_order>140</sort_order>
|
463 |
+
<show_in_default>1</show_in_default>
|
464 |
+
<show_in_website>1</show_in_website>
|
465 |
+
<show_in_store>1</show_in_store>
|
466 |
+
</thumbSliderPosition>
|
467 |
+
<thumbSliderPositionSwitch>
|
468 |
+
<label>thumbSliderPositionSwitch</label>
|
469 |
+
<comment><![CDATA[Possible values: "auto" as string or integer.
|
470 |
+
Auto means depending on whether the screen is in portrait or
|
471 |
+
landscape mode the first or second value of "thumbSliderPosition"
|
472 |
+
suited for the resolution will be chosen. For the value set as
|
473 |
+
integer the second position from "thumbSliderPosition" will be
|
474 |
+
chosen if width of the screen is less than this integer and
|
475 |
+
the position suits for current resolution.]]></comment>
|
476 |
+
<frontend_type>text</frontend_type>
|
477 |
+
<sort_order>150</sort_order>
|
478 |
+
<show_in_default>1</show_in_default>
|
479 |
+
<show_in_website>1</show_in_website>
|
480 |
+
<show_in_store>1</show_in_store>
|
481 |
+
</thumbSliderPositionSwitch>
|
482 |
+
<thumbSliderMinSize>
|
483 |
+
<label>thumbSliderMinSize</label>
|
484 |
+
<comment><![CDATA[Minimal browser width for the gallery to be displayed.
|
485 |
+
See also "dotNavigation" option!]]></comment>
|
486 |
+
<frontend_type>text</frontend_type>
|
487 |
+
<sort_order>160</sort_order>
|
488 |
+
<show_in_default>1</show_in_default>
|
489 |
+
<show_in_website>1</show_in_website>
|
490 |
+
<show_in_store>1</show_in_store>
|
491 |
+
</thumbSliderMinSize>
|
492 |
+
<thumbSliderDimensionHorz>
|
493 |
+
<label>thumbSliderDimensionHorz</label>
|
494 |
+
<comment><![CDATA[Height of the container for the gallery when placed horizontally.]]></comment>
|
495 |
+
<frontend_type>text</frontend_type>
|
496 |
+
<sort_order>170</sort_order>
|
497 |
+
<show_in_default>1</show_in_default>
|
498 |
+
<show_in_website>1</show_in_website>
|
499 |
+
<show_in_store>1</show_in_store>
|
500 |
+
</thumbSliderDimensionHorz>
|
501 |
+
<thumbSliderDimensionVert>
|
502 |
+
<label>thumbSliderDimensionVert</label>
|
503 |
+
<comment><![CDATA[Width of the container for the gallery when placed vertically.]]></comment>
|
504 |
+
<frontend_type>text</frontend_type>
|
505 |
+
<sort_order>180</sort_order>
|
506 |
+
<show_in_default>1</show_in_default>
|
507 |
+
<show_in_website>1</show_in_website>
|
508 |
+
<show_in_store>1</show_in_store>
|
509 |
+
</thumbSliderDimensionVert>
|
510 |
+
<thumbSliderAutoSizeHorz>
|
511 |
+
<label>thumbSliderAutoSizeHorz</label>
|
512 |
+
<comment><![CDATA[Thumb CSS size will be set instantly depending on
|
513 |
+
"thumbSliderDimensionHorz" and other options.]]></comment>
|
514 |
+
<frontend_type>select</frontend_type>
|
515 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
516 |
+
<sort_order>190</sort_order>
|
517 |
+
<show_in_default>1</show_in_default>
|
518 |
+
<show_in_website>1</show_in_website>
|
519 |
+
<show_in_store>1</show_in_store>
|
520 |
+
</thumbSliderAutoSizeHorz>
|
521 |
+
<thumbSliderAutoSizeVert>
|
522 |
+
<label>thumbSliderAutoSizeVert</label>
|
523 |
+
<comment><![CDATA[Thumb CSS size will be set instantly depending on
|
524 |
+
"thumbSliderDimensionVert" and other options.]]></comment>
|
525 |
+
<frontend_type>select</frontend_type>
|
526 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
527 |
+
<sort_order>200</sort_order>
|
528 |
+
<show_in_default>1</show_in_default>
|
529 |
+
<show_in_website>1</show_in_website>
|
530 |
+
<show_in_store>1</show_in_store>
|
531 |
+
</thumbSliderAutoSizeVert>
|
532 |
+
<thumbSliderAutoMarginHorz>
|
533 |
+
<label>thumbSliderAutoMarginHorz</label>
|
534 |
+
<comment><![CDATA[Thumb margin when set instantly for horizontal gallery.]]></comment>
|
535 |
+
<frontend_type>text</frontend_type>
|
536 |
+
<sort_order>210</sort_order>
|
537 |
+
<show_in_default>1</show_in_default>
|
538 |
+
<show_in_website>1</show_in_website>
|
539 |
+
<show_in_store>1</show_in_store>
|
540 |
+
</thumbSliderAutoMarginHorz>
|
541 |
+
<thumbSliderAutoMarginVert>
|
542 |
+
<label>thumbSliderAutoMarginVert</label>
|
543 |
+
<comment><![CDATA[Thumb margin when set instantly for vertical gallery.]]></comment>
|
544 |
+
<frontend_type>text</frontend_type>
|
545 |
+
<sort_order>220</sort_order>
|
546 |
+
<show_in_default>1</show_in_default>
|
547 |
+
<show_in_website>1</show_in_website>
|
548 |
+
<show_in_store>1</show_in_store>
|
549 |
+
</thumbSliderAutoMarginVert>
|
550 |
+
<thumbSliderAutoExtendHorz>
|
551 |
+
<label>thumbSliderAutoExtendHorz</label>
|
552 |
+
<comment><![CDATA[Extend slider height by a fixed value
|
553 |
+
when set instantly for horizontal gallery - "thumbSliderAutoSizeHorz".]]></comment>
|
554 |
+
<frontend_type>text</frontend_type>
|
555 |
+
<sort_order>230</sort_order>
|
556 |
+
<show_in_default>1</show_in_default>
|
557 |
+
<show_in_website>1</show_in_website>
|
558 |
+
<show_in_store>1</show_in_store>
|
559 |
+
</thumbSliderAutoExtendHorz>
|
560 |
+
<thumbSliderAutoExtendVert>
|
561 |
+
<label>thumbSliderAutoExtendVert</label>
|
562 |
+
<comment><![CDATA[Extend slider width by a fixed value
|
563 |
+
when set instantly for vertical gallery - "thumbSliderAutoSizeVert"]]></comment>
|
564 |
+
<frontend_type>text</frontend_type>
|
565 |
+
<sort_order>240</sort_order>
|
566 |
+
<show_in_default>1</show_in_default>
|
567 |
+
<show_in_website>1</show_in_website>
|
568 |
+
<show_in_store>1</show_in_store>
|
569 |
+
</thumbSliderAutoExtendVert>
|
570 |
+
<thumbSliderHorzMargin>
|
571 |
+
<label>thumbSliderHorzMargin</label>
|
572 |
+
<comment><![CDATA[Horizontal margin of the vertical gallery to mouseover container.]]></comment>
|
573 |
+
<frontend_type>text</frontend_type>
|
574 |
+
<sort_order>250</sort_order>
|
575 |
+
<show_in_default>1</show_in_default>
|
576 |
+
<show_in_website>1</show_in_website>
|
577 |
+
<show_in_store>1</show_in_store>
|
578 |
+
</thumbSliderHorzMargin>
|
579 |
+
<thumbsFadeIn>
|
580 |
+
<label>thumbsFadeIn</label>
|
581 |
+
<comment><![CDATA[Fadein duration / speed of the thumbnails added to the gallery.]]></comment>
|
582 |
+
<frontend_type>text</frontend_type>
|
583 |
+
<sort_order>260</sort_order>
|
584 |
+
<show_in_default>1</show_in_default>
|
585 |
+
<show_in_website>1</show_in_website>
|
586 |
+
<show_in_store>1</show_in_store>
|
587 |
+
</thumbsFadeIn>
|
588 |
+
<thumbW>
|
589 |
+
<label>thumbW</label>
|
590 |
+
<comment><![CDATA[Gallery image thumb width. Please note that when "galleryAxZmThumbSlider" is enabled,
|
591 |
+
the final thumbnail width and height are determined by CSS
|
592 |
+
set over "galleryAxZmThumbSliderParam".]]></comment>
|
593 |
+
<frontend_type>text</frontend_type>
|
594 |
+
<sort_order>270</sort_order>
|
595 |
+
<show_in_default>1</show_in_default>
|
596 |
+
<show_in_website>1</show_in_website>
|
597 |
+
<show_in_store>1</show_in_store>
|
598 |
+
</thumbW>
|
599 |
+
<thumbH>
|
600 |
+
<label>thumbH</label>
|
601 |
+
<comment><![CDATA[Gallery image thumb height. Please note that when "galleryAxZmThumbSlider" is enabled,
|
602 |
+
the final thumbnail width and height are determined by CSS
|
603 |
+
set over "galleryAxZmThumbSliderParam".]]></comment>
|
604 |
+
<frontend_type>text</frontend_type>
|
605 |
+
<sort_order>280</sort_order>
|
606 |
+
<show_in_default>1</show_in_default>
|
607 |
+
<show_in_website>1</show_in_website>
|
608 |
+
<show_in_store>1</show_in_store>
|
609 |
+
</thumbH>
|
610 |
+
<thumbRetina>
|
611 |
+
<label>thumbRetina</label>
|
612 |
+
<comment><![CDATA[Double resolution of the thumb image.]]></comment>
|
613 |
+
<frontend_type>select</frontend_type>
|
614 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
615 |
+
<sort_order>290</sort_order>
|
616 |
+
<show_in_default>1</show_in_default>
|
617 |
+
<show_in_website>1</show_in_website>
|
618 |
+
<show_in_store>1</show_in_store>
|
619 |
+
</thumbRetina>
|
620 |
+
<thumbMode>
|
621 |
+
<label>thumbMode</label>
|
622 |
+
<comment><![CDATA[Create thumbnails in a way similar to css background values cover and contain.]]></comment>
|
623 |
+
<frontend_type>select</frontend_type>
|
624 |
+
<source_model>axzoom/azsettings::thumbMode</source_model>
|
625 |
+
<sort_order>300</sort_order>
|
626 |
+
<show_in_default>1</show_in_default>
|
627 |
+
<show_in_website>1</show_in_website>
|
628 |
+
<show_in_store>1</show_in_store>
|
629 |
+
</thumbMode>
|
630 |
+
<qualityThumb>
|
631 |
+
<label>qualityThumb</label>
|
632 |
+
<comment><![CDATA[Jpeg quality of the gallery thumbs.]]></comment>
|
633 |
+
<frontend_type>text</frontend_type>
|
634 |
+
<sort_order>310</sort_order>
|
635 |
+
<show_in_default>1</show_in_default>
|
636 |
+
<show_in_website>1</show_in_website>
|
637 |
+
<show_in_store>1</show_in_store>
|
638 |
+
</qualityThumb>
|
639 |
+
<thumbIcon>
|
640 |
+
<label>thumbIcon</label>
|
641 |
+
<comment><![CDATA[Place an icon over gallery thumbnail depending on media type.
|
642 |
+
The icon has CSS class axZmThumbSliderIcon and the source is defined in
|
643 |
+
"thumbIconFile" option.]]></comment>
|
644 |
+
<frontend_type>select</frontend_type>
|
645 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
646 |
+
<sort_order>320</sort_order>
|
647 |
+
<show_in_default>1</show_in_default>
|
648 |
+
<show_in_website>1</show_in_website>
|
649 |
+
<show_in_store>1</show_in_store>
|
650 |
+
</thumbIcon>
|
651 |
+
<thumbIconFile>
|
652 |
+
<label>thumbIconFile</label>
|
653 |
+
<comment><![CDATA[
|
654 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
655 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
656 |
+
Source for icons placed over the thumbnails in the gallery.
|
657 |
+
If only filename without path is defined the path presumed to be the
|
658 |
+
/axZm/icons folder. You can also set complete different paths including the image
|
659 |
+
filename instead.
|
660 |
+
]]></comment>
|
661 |
+
<frontend_type>textarea</frontend_type>
|
662 |
+
<sort_order>330</sort_order>
|
663 |
+
<show_in_default>1</show_in_default>
|
664 |
+
<show_in_website>1</show_in_website>
|
665 |
+
<show_in_store>1</show_in_store>
|
666 |
+
</thumbIconFile>
|
667 |
+
<thumbWfs>
|
668 |
+
<label>thumbWfs</label>
|
669 |
+
<comment><![CDATA[Fullscreen gallery image thumb width.]]></comment>
|
670 |
+
<frontend_type>text</frontend_type>
|
671 |
+
<sort_order>340</sort_order>
|
672 |
+
<show_in_default>1</show_in_default>
|
673 |
+
<show_in_website>1</show_in_website>
|
674 |
+
<show_in_store>1</show_in_store>
|
675 |
+
</thumbWfs>
|
676 |
+
<thumbHfs>
|
677 |
+
<label>thumbHfs</label>
|
678 |
+
<comment><![CDATA[Fullscreen gallery image thumb height.]]></comment>
|
679 |
+
<frontend_type>text</frontend_type>
|
680 |
+
<sort_order>350</sort_order>
|
681 |
+
<show_in_default>1</show_in_default>
|
682 |
+
<show_in_website>1</show_in_website>
|
683 |
+
<show_in_store>1</show_in_store>
|
684 |
+
</thumbHfs>
|
685 |
+
<thumbRetinaFs>
|
686 |
+
<label>thumbRetinaFs</label>
|
687 |
+
<comment><![CDATA[Double the resolution of fullscreen gallery image thumbs.]]></comment>
|
688 |
+
<frontend_type>select</frontend_type>
|
689 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
690 |
+
<sort_order>360</sort_order>
|
691 |
+
<show_in_default>1</show_in_default>
|
692 |
+
<show_in_website>1</show_in_website>
|
693 |
+
<show_in_store>1</show_in_store>
|
694 |
+
</thumbRetinaFs>
|
695 |
+
<thumbModeFs>
|
696 |
+
<label>thumbModeFs</label>
|
697 |
+
<comment><![CDATA[Create thumbnails in a way similar to css background values cover and contain.]]></comment>
|
698 |
+
<frontend_type>select</frontend_type>
|
699 |
+
<source_model>axzoom/azsettings::thumbModeFs</source_model>
|
700 |
+
<sort_order>370</sort_order>
|
701 |
+
<show_in_default>1</show_in_default>
|
702 |
+
<show_in_website>1</show_in_website>
|
703 |
+
<show_in_store>1</show_in_store>
|
704 |
+
</thumbModeFs>
|
705 |
+
<qualityThumbFs>
|
706 |
+
<label>qualityThumbFs</label>
|
707 |
+
<comment><![CDATA[Jpeg Quality of the thumbnails in fullscreen gallery.]]></comment>
|
708 |
+
<frontend_type>text</frontend_type>
|
709 |
+
<sort_order>380</sort_order>
|
710 |
+
<show_in_default>1</show_in_default>
|
711 |
+
<show_in_website>1</show_in_website>
|
712 |
+
<show_in_store>1</show_in_store>
|
713 |
+
</qualityThumbFs>
|
714 |
+
<quality>
|
715 |
+
<label>quality</label>
|
716 |
+
<comment><![CDATA[Jpeg quality of the preview image.]]></comment>
|
717 |
+
<frontend_type>text</frontend_type>
|
718 |
+
<sort_order>390</sort_order>
|
719 |
+
<show_in_default>1</show_in_default>
|
720 |
+
<show_in_website>1</show_in_website>
|
721 |
+
<show_in_store>1</show_in_store>
|
722 |
+
</quality>
|
723 |
+
<qualityZoom>
|
724 |
+
<label>qualityZoom</label>
|
725 |
+
<comment><![CDATA[Jpeg quality of the zoom image shown in the flyout window.]]></comment>
|
726 |
+
<frontend_type>text</frontend_type>
|
727 |
+
<sort_order>400</sort_order>
|
728 |
+
<show_in_default>1</show_in_default>
|
729 |
+
<show_in_website>1</show_in_website>
|
730 |
+
<show_in_store>1</show_in_store>
|
731 |
+
</qualityZoom>
|
732 |
+
<firstImageToLoad>
|
733 |
+
<label>firstImageToLoad</label>
|
734 |
+
<comment><![CDATA[Image from "images" option which should be loaded at first.
|
735 |
+
See also "images360firstToLoad" option below.
|
736 |
+
The "images" option does not exist as defineable option
|
737 |
+
in AJAX-ZOOM modules / plugins for
|
738 |
+
ecommerce systems because obviously the purpose of the modules is to set it instantly.]]></comment>
|
739 |
+
<frontend_type>text</frontend_type>
|
740 |
+
<sort_order>410</sort_order>
|
741 |
+
<show_in_default>1</show_in_default>
|
742 |
+
<show_in_website>1</show_in_website>
|
743 |
+
<show_in_store>1</show_in_store>
|
744 |
+
</firstImageToLoad>
|
745 |
+
<images360firstToLoad>
|
746 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">images360firstToLoad</div>]]></label>
|
747 |
+
<comment><![CDATA[In case present load 360 from "images360" first and not an image from "images".]]></comment>
|
748 |
+
<frontend_type>select</frontend_type>
|
749 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
750 |
+
<sort_order>420</sort_order>
|
751 |
+
<show_in_default>1</show_in_default>
|
752 |
+
<show_in_website>1</show_in_website>
|
753 |
+
<show_in_store>1</show_in_store>
|
754 |
+
</images360firstToLoad>
|
755 |
+
<images360Thumb>
|
756 |
+
<label>images360Thumb</label>
|
757 |
+
<comment><![CDATA[Show first image of the spin as thumb.]]></comment>
|
758 |
+
<frontend_type>select</frontend_type>
|
759 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
760 |
+
<sort_order>430</sort_order>
|
761 |
+
<show_in_default>1</show_in_default>
|
762 |
+
<show_in_website>1</show_in_website>
|
763 |
+
<show_in_store>1</show_in_store>
|
764 |
+
</images360Thumb>
|
765 |
+
<images360ThumbDefaultPostion>
|
766 |
+
<label>images360ThumbDefaultPostion</label>
|
767 |
+
<comment><![CDATA[Default position of the thumbnail representing a 360/3D in the gallery.
|
768 |
+
The position can be also defined for each thumb individually.
|
769 |
+
Possible values are: "first", "afterfirst" and "last".
|
770 |
+
See also "videoThumbDefaultPostion" option.]]></comment>
|
771 |
+
<frontend_type>select</frontend_type>
|
772 |
+
<source_model>axzoom/azsettings::images360ThumbDefaultPostion</source_model>
|
773 |
+
<sort_order>440</sort_order>
|
774 |
+
<show_in_default>1</show_in_default>
|
775 |
+
<show_in_website>1</show_in_website>
|
776 |
+
<show_in_store>1</show_in_store>
|
777 |
+
</images360ThumbDefaultPostion>
|
778 |
+
<images360ThumbBeforeVideo>
|
779 |
+
<label>images360ThumbBeforeVideo</label>
|
780 |
+
<comment><![CDATA[If activated thumbnails in the gallery representing a 360/3D will be
|
781 |
+
appended before thumbnails representing videos.]]></comment>
|
782 |
+
<frontend_type>select</frontend_type>
|
783 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
784 |
+
<sort_order>450</sort_order>
|
785 |
+
<show_in_default>1</show_in_default>
|
786 |
+
<show_in_website>1</show_in_website>
|
787 |
+
<show_in_store>1</show_in_store>
|
788 |
+
</images360ThumbBeforeVideo>
|
789 |
+
<images360Overlay>
|
790 |
+
<label>images360Overlay</label>
|
791 |
+
<comment><![CDATA[Add a div with class "spinOverlImg" or "spinOverl" over the gallery thumb.
|
792 |
+
On default it has a 360 icon as background.]]></comment>
|
793 |
+
<frontend_type>select</frontend_type>
|
794 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
795 |
+
<sort_order>460</sort_order>
|
796 |
+
<show_in_default>1</show_in_default>
|
797 |
+
<show_in_website>1</show_in_website>
|
798 |
+
<show_in_store>1</show_in_store>
|
799 |
+
</images360Overlay>
|
800 |
+
<images360Small>
|
801 |
+
<label>images360Small</label>
|
802 |
+
<comment><![CDATA[Placeholder image when 360 is slided.
|
803 |
+
If only filename without path is defined the path presumed to be the
|
804 |
+
/axZm/icons folder. You can also set complete different paths including the image
|
805 |
+
filename instead.]]></comment>
|
806 |
+
<frontend_type>text</frontend_type>
|
807 |
+
<sort_order>470</sort_order>
|
808 |
+
<show_in_default>1</show_in_default>
|
809 |
+
<show_in_website>1</show_in_website>
|
810 |
+
<show_in_store>1</show_in_store>
|
811 |
+
</images360Small>
|
812 |
+
<images360Big>
|
813 |
+
<label>images360Big</label>
|
814 |
+
<comment><![CDATA[Placeholder image when 360 is slided.
|
815 |
+
If only filename without path is defined the path presumed to be the
|
816 |
+
/axZm/icons folder. You can also set complete different paths including the image
|
817 |
+
filename instead.]]></comment>
|
818 |
+
<frontend_type>text</frontend_type>
|
819 |
+
<sort_order>480</sort_order>
|
820 |
+
<show_in_default>1</show_in_default>
|
821 |
+
<show_in_website>1</show_in_website>
|
822 |
+
<show_in_store>1</show_in_store>
|
823 |
+
</images360Big>
|
824 |
+
<images360example>
|
825 |
+
<label>images360example</label>
|
826 |
+
<comment><![CDATA[Configuration set which is passed to ajax-zoom when opening a 360/3D.
|
827 |
+
The configuration set can be found in /axZm/zoomConfigCustom.inc.php]]></comment>
|
828 |
+
<frontend_type>text</frontend_type>
|
829 |
+
<sort_order>490</sort_order>
|
830 |
+
<show_in_default>1</show_in_default>
|
831 |
+
<show_in_website>1</show_in_website>
|
832 |
+
<show_in_store>1</show_in_store>
|
833 |
+
</images360example>
|
834 |
+
<zoomMsg360>
|
835 |
+
<label>zoomMsg360</label>
|
836 |
+
<comment><![CDATA[
|
837 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
838 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
839 |
+
Message displayed under mouse over zoom when 360 is loaded,
|
840 |
+
e.g. "Drag to spin 360, scroll to zoom".
|
841 |
+
For more than one language define a js object, e.g.
|
842 |
+
{"en": "english text", "de": "german text"}
|
843 |
+
]]></comment>
|
844 |
+
<frontend_type>textarea</frontend_type>
|
845 |
+
<sort_order>500</sort_order>
|
846 |
+
<show_in_default>1</show_in_default>
|
847 |
+
<show_in_website>1</show_in_website>
|
848 |
+
<show_in_store>1</show_in_store>
|
849 |
+
</zoomMsg360>
|
850 |
+
<zoomMsg360_touch>
|
851 |
+
<label>zoomMsg360_touch</label>
|
852 |
+
<comment><![CDATA[
|
853 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
854 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
855 |
+
Message displayed under mouse over zoom when 360 is loaded on touch devices.
|
856 |
+
For more than one language define a js object,
|
857 |
+
e.g. {"en": "english text", "de": "german text"}
|
858 |
+
]]></comment>
|
859 |
+
<frontend_type>textarea</frontend_type>
|
860 |
+
<sort_order>510</sort_order>
|
861 |
+
<show_in_default>1</show_in_default>
|
862 |
+
<show_in_website>1</show_in_website>
|
863 |
+
<show_in_store>1</show_in_store>
|
864 |
+
</zoomMsg360_touch>
|
865 |
+
<preloadMouseOverImages>
|
866 |
+
<label>preloadMouseOverImages</label>
|
867 |
+
<comment><![CDATA[Preload all preview and mouseover images, possible values: false, true oder "oneByOne".]]></comment>
|
868 |
+
<frontend_type>select</frontend_type>
|
869 |
+
<source_model>axzoom/azsettings::preloadMouseOverImages</source_model>
|
870 |
+
<sort_order>520</sort_order>
|
871 |
+
<show_in_default>1</show_in_default>
|
872 |
+
<show_in_website>1</show_in_website>
|
873 |
+
<show_in_store>1</show_in_store>
|
874 |
+
</preloadMouseOverImages>
|
875 |
+
<noImageAvailableClass>
|
876 |
+
<label>noImageAvailableClass</label>
|
877 |
+
<comment><![CDATA[
|
878 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
879 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
880 |
+
In case there are no images in "images", nor there are any in "images360",
|
881 |
+
a div with some image as background can be appended to the
|
882 |
+
container and receive this options value as CSS class.
|
883 |
+
For more than one language define a js object,
|
884 |
+
e.g. {"en": "axZm_mouseOverNoImage_en", "de": "axZm_mouseOverNoImage_de"}
|
885 |
+
]]></comment>
|
886 |
+
<frontend_type>textarea</frontend_type>
|
887 |
+
<sort_order>530</sort_order>
|
888 |
+
<show_in_default>1</show_in_default>
|
889 |
+
<show_in_website>1</show_in_website>
|
890 |
+
<show_in_store>1</show_in_store>
|
891 |
+
</noImageAvailableClass>
|
892 |
+
<width>
|
893 |
+
<label>width</label>
|
894 |
+
<comment><![CDATA[Width of the preview image or "auto"
|
895 |
+
(depending on parent container size - "divID", see above).
|
896 |
+
This is also the value which will be passed to your AJAX-ZOOM imaging server
|
897 |
+
to generate this image on-the-fly.
|
898 |
+
If width or height are set to "auto", both: width and height of the preview image
|
899 |
+
are set to 50% of the value taken from "mouseOverZoomWidth", so on default it is 600px]]></comment>
|
900 |
+
<frontend_type>text</frontend_type>
|
901 |
+
<sort_order>540</sort_order>
|
902 |
+
<show_in_default>1</show_in_default>
|
903 |
+
<show_in_website>1</show_in_website>
|
904 |
+
<show_in_store>1</show_in_store>
|
905 |
+
</width>
|
906 |
+
<height>
|
907 |
+
<label>height</label>
|
908 |
+
<comment><![CDATA[Height of the preview image or "auto"
|
909 |
+
(depending on parent container size - "divID", see above).
|
910 |
+
This is also the value which will be passed to your AJAX-ZOOM imaging server
|
911 |
+
to generate this image on-the-fly.
|
912 |
+
If width or height are set to "auto", both: width and height of the preview image
|
913 |
+
are set to 50% of the value taken from "mouseOverZoomWidth", so on default it is 600px]]></comment>
|
914 |
+
<frontend_type>text</frontend_type>
|
915 |
+
<sort_order>550</sort_order>
|
916 |
+
<show_in_default>1</show_in_default>
|
917 |
+
<show_in_website>1</show_in_website>
|
918 |
+
<show_in_store>1</show_in_store>
|
919 |
+
</height>
|
920 |
+
<oneSrcImg>
|
921 |
+
<label>oneSrcImg</label>
|
922 |
+
<comment><![CDATA[Use same image for "preview image" -
|
923 |
+
the image which is hovered and the big "flyout image".]]></comment>
|
924 |
+
<frontend_type>select</frontend_type>
|
925 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
926 |
+
<sort_order>560</sort_order>
|
927 |
+
<show_in_default>1</show_in_default>
|
928 |
+
<show_in_website>1</show_in_website>
|
929 |
+
<show_in_store>1</show_in_store>
|
930 |
+
</oneSrcImg>
|
931 |
+
<heightRatio>
|
932 |
+
<label>heightRatio</label>
|
933 |
+
<comment><![CDATA["heightRatio" with instantly adjust the height of mouseover
|
934 |
+
container depending on width calculated by the browser, e.g. 1.0 will always
|
935 |
+
(only limited by "maxSizePrc" option) make height same as width;
|
936 |
+
a value of 1.5 will make the preview like a portrait.
|
937 |
+
You can also set "heightRatio" to "auto".
|
938 |
+
In this case the height will be adjusted to cover available space instantly!
|
939 |
+
Please note that when your images are not always same proportion,
|
940 |
+
then the container will also change the size when the user switches to a different image.]]></comment>
|
941 |
+
<frontend_type>text</frontend_type>
|
942 |
+
<sort_order>570</sort_order>
|
943 |
+
<show_in_default>1</show_in_default>
|
944 |
+
<show_in_website>1</show_in_website>
|
945 |
+
<show_in_store>1</show_in_store>
|
946 |
+
</heightRatio>
|
947 |
+
<heightRatioOneImg>
|
948 |
+
<label>heightRatioOneImg</label>
|
949 |
+
<comment><![CDATA[Overwrites "heightRatio" if only one image / 360 is present and
|
950 |
+
e.g. gallery is instantly disabled. Set to
|
951 |
+
"same" in order to prevent any impact on "heightRatio" option.]]></comment>
|
952 |
+
<frontend_type>text</frontend_type>
|
953 |
+
<sort_order>580</sort_order>
|
954 |
+
<show_in_default>1</show_in_default>
|
955 |
+
<show_in_website>1</show_in_website>
|
956 |
+
<show_in_store>1</show_in_store>
|
957 |
+
</heightRatioOneImg>
|
958 |
+
<heightMaxWidthRatio>
|
959 |
+
<label>heightMaxWidthRatio</label>
|
960 |
+
<comment><![CDATA[
|
961 |
+
<div class="validation-advice">Attention: you are editing JavaScript array!
|
962 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
963 |
+
Similar as you would set max-width: someValue @media only screen condition
|
964 |
+
you can define "heightRatio"
|
965 |
+
depending on the width of the browser, e.g. ["960|0.8", "700|0.7"].
|
966 |
+
You can define a string or js array with more than one conditions.
|
967 |
+
]]></comment>
|
968 |
+
<frontend_type>text</frontend_type>
|
969 |
+
<sort_order>590</sort_order>
|
970 |
+
<show_in_default>1</show_in_default>
|
971 |
+
<show_in_website>1</show_in_website>
|
972 |
+
<show_in_store>1</show_in_store>
|
973 |
+
</heightMaxWidthRatio>
|
974 |
+
<widthRatio>
|
975 |
+
<label>widthRatio</label>
|
976 |
+
<comment><![CDATA[
|
977 |
+
<div class="validation-advice">Attention: you are editing JavaScript array!
|
978 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
979 |
+
Oposit of "heightRatio".
|
980 |
+
]]></comment>
|
981 |
+
<frontend_type>text</frontend_type>
|
982 |
+
<sort_order>600</sort_order>
|
983 |
+
<show_in_default>1</show_in_default>
|
984 |
+
<show_in_website>1</show_in_website>
|
985 |
+
<show_in_store>1</show_in_store>
|
986 |
+
</widthRatio>
|
987 |
+
<widthMaxHeightRatio>
|
988 |
+
<label>widthMaxHeightRatio</label>
|
989 |
+
<comment><![CDATA[
|
990 |
+
<div class="validation-advice">Attention: you are editing JavaScript array!
|
991 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
992 |
+
Oposit of "heightMaxWidthRatio"
|
993 |
+
]]></comment>
|
994 |
+
<frontend_type>text</frontend_type>
|
995 |
+
<sort_order>610</sort_order>
|
996 |
+
<show_in_default>1</show_in_default>
|
997 |
+
<show_in_website>1</show_in_website>
|
998 |
+
<show_in_store>1</show_in_store>
|
999 |
+
</widthMaxHeightRatio>
|
1000 |
+
<maxSizePrc>
|
1001 |
+
<label>maxSizePrc</label>
|
1002 |
+
<comment><![CDATA[Limit the actual height if "heightRatio" option is set.
|
1003 |
+
Setting "heightRatio" option may result in that the height of the mouseover zoom
|
1004 |
+
is bigger than window height and the image is not fully visible.
|
1005 |
+
To prevent this you can limit the calculated height with this "maxSizePrc" option.
|
1006 |
+
The value of 1.0 would limit the height to 100% of window height;
|
1007 |
+
a value of 0.8 to 80% of window height;
|
1008 |
+
you can also define two values, e.g. '1.0|-120'
|
1009 |
+
which would be window height minus 120px.]]></comment>
|
1010 |
+
<frontend_type>text</frontend_type>
|
1011 |
+
<sort_order>620</sort_order>
|
1012 |
+
<show_in_default>1</show_in_default>
|
1013 |
+
<show_in_website>1</show_in_website>
|
1014 |
+
<show_in_store>1</show_in_store>
|
1015 |
+
</maxSizePrc>
|
1016 |
+
<mouseOverZoomWidth>
|
1017 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">mouseOverZoomWidth</div>]]></label>
|
1018 |
+
<comment><![CDATA[Max width of the image that will be shown in the zoom window;
|
1019 |
+
this is the value which will be passed to your AJAX-ZOOM imaging server
|
1020 |
+
to generate this image on-the-fly.
|
1021 |
+
Please note that the size is limited by $zoom['config']['allowDynamicThumbsMaxSize']
|
1022 |
+
which is can be set in '/axZm/zoomConfig.inc.php'.
|
1023 |
+
You can also specify a link to the image, see "images" option above.
|
1024 |
+
To set the width of the fly out window see "zoomWidth" under "mouseOverZoomParam".]]></comment>
|
1025 |
+
<frontend_type>text</frontend_type>
|
1026 |
+
<sort_order>630</sort_order>
|
1027 |
+
<show_in_default>1</show_in_default>
|
1028 |
+
<show_in_website>1</show_in_website>
|
1029 |
+
<show_in_store>1</show_in_store>
|
1030 |
+
</mouseOverZoomWidth>
|
1031 |
+
<mouseOverZoomHeight>
|
1032 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">mouseOverZoomHeight</div>]]></label>
|
1033 |
+
<comment><![CDATA[Max height of the image that will be shown in the zoom window;
|
1034 |
+
this is the value which will be passed to your AJAX-ZOOM imaging server
|
1035 |
+
to generate this image on-the-fly.
|
1036 |
+
Please note that the size is limited by $zoom['config']['allowDynamicThumbsMaxSize']
|
1037 |
+
which is can be set in '/axZm/zoomConfig.inc.php'.
|
1038 |
+
You can also specify a link to the image, see "images" option above.
|
1039 |
+
To set the height of the fly out window see "zoomHeight" under "mouseOverZoomParam".]]></comment>
|
1040 |
+
<frontend_type>text</frontend_type>
|
1041 |
+
<sort_order>640</sort_order>
|
1042 |
+
<show_in_default>1</show_in_default>
|
1043 |
+
<show_in_website>1</show_in_website>
|
1044 |
+
<show_in_store>1</show_in_store>
|
1045 |
+
</mouseOverZoomHeight>
|
1046 |
+
<mouseOverContain>
|
1047 |
+
<label>mouseOverContain</label>
|
1048 |
+
<comment><![CDATA[Create preview and the image, which is shown in the zoom window,
|
1049 |
+
with the same size / proportion
|
1050 |
+
as it is set in "mouseOverZoomWidth" and "mouseOverZoomHeight" options.
|
1051 |
+
Empty space will be filled with white color or kept transparent for png images.]]></comment>
|
1052 |
+
<frontend_type>select</frontend_type>
|
1053 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1054 |
+
<sort_order>650</sort_order>
|
1055 |
+
<show_in_default>1</show_in_default>
|
1056 |
+
<show_in_website>1</show_in_website>
|
1057 |
+
<show_in_store>1</show_in_store>
|
1058 |
+
</mouseOverContain>
|
1059 |
+
<ajaxZoomOpenMode>
|
1060 |
+
<label>ajaxZoomOpenMode</label>
|
1061 |
+
<comment><![CDATA[Determines how AJAX-ZOOM is opened when the user clicks on preview images / lens,
|
1062 |
+
possible values: 'fullscreen' (see also "fullScreenApi" option below)
|
1063 |
+
or 'fancyboxFullscreen'.]]></comment>
|
1064 |
+
<frontend_type>select</frontend_type>
|
1065 |
+
<source_model>axzoom/azsettings::ajaxZoomOpenMode</source_model>
|
1066 |
+
<sort_order>660</sort_order>
|
1067 |
+
<show_in_default>1</show_in_default>
|
1068 |
+
<show_in_website>1</show_in_website>
|
1069 |
+
<show_in_store>1</show_in_store>
|
1070 |
+
</ajaxZoomOpenMode>
|
1071 |
+
<ajaxZoomOpenModeTouch>
|
1072 |
+
<label>ajaxZoomOpenModeTouch</label>
|
1073 |
+
<comment><![CDATA[Determines how AJAX-ZOOM is opened when the user touch - clicks on
|
1074 |
+
preview images / lens, possible values: 'fullscreen' and 'fancyboxFullscreen'.]]></comment>
|
1075 |
+
<frontend_type>select</frontend_type>
|
1076 |
+
<source_model>axzoom/azsettings::ajaxZoomOpenModeTouch</source_model>
|
1077 |
+
<sort_order>670</sort_order>
|
1078 |
+
<show_in_default>1</show_in_default>
|
1079 |
+
<show_in_website>1</show_in_website>
|
1080 |
+
<show_in_store>1</show_in_store>
|
1081 |
+
</ajaxZoomOpenModeTouch>
|
1082 |
+
<fancyBoxFullscreenParam>
|
1083 |
+
<label>fancyBoxFullscreenParam</label>
|
1084 |
+
<comment><![CDATA[
|
1085 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1086 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1087 |
+
If fancyboxFullscreen is used in "ajaxZoomOpenMode" option, Fancybox options.
|
1088 |
+
Prefixed with box and capitalized first letter!
|
1089 |
+
]]></comment>
|
1090 |
+
<frontend_type>textarea</frontend_type>
|
1091 |
+
<sort_order>680</sort_order>
|
1092 |
+
<show_in_default>1</show_in_default>
|
1093 |
+
<show_in_website>1</show_in_website>
|
1094 |
+
<show_in_store>1</show_in_store>
|
1095 |
+
</fancyBoxFullscreenParam>
|
1096 |
+
<example>
|
1097 |
+
<label>example</label>
|
1098 |
+
<comment><![CDATA[Configuration set which is passed to ajax-zoom when opening a 2D image.
|
1099 |
+
The configuration set can be found in /axZm/zoomConfigCustom.inc.php]]></comment>
|
1100 |
+
<frontend_type>text</frontend_type>
|
1101 |
+
<sort_order>690</sort_order>
|
1102 |
+
<show_in_default>1</show_in_default>
|
1103 |
+
<show_in_website>1</show_in_website>
|
1104 |
+
<show_in_store>1</show_in_store>
|
1105 |
+
</example>
|
1106 |
+
<exampleFancyboxFullscreen>
|
1107 |
+
<label>exampleFancyboxFullscreen</label>
|
1108 |
+
<comment><![CDATA[Configuration set which is passed to ajax-zoom when ajaxZoomOpenMode
|
1109 |
+
is 'fancyboxFullscreen'.]]></comment>
|
1110 |
+
<frontend_type>text</frontend_type>
|
1111 |
+
<sort_order>700</sort_order>
|
1112 |
+
<show_in_default>1</show_in_default>
|
1113 |
+
<show_in_website>1</show_in_website>
|
1114 |
+
<show_in_store>1</show_in_store>
|
1115 |
+
</exampleFancyboxFullscreen>
|
1116 |
+
<enforceFullScreenRes>
|
1117 |
+
<label>enforceFullScreenRes</label>
|
1118 |
+
<comment><![CDATA[Enforce "ajaxZoomOpenMode" to be "fullscreen" if screen width is less than this value.]]></comment>
|
1119 |
+
<frontend_type>text</frontend_type>
|
1120 |
+
<sort_order>710</sort_order>
|
1121 |
+
<show_in_default>1</show_in_default>
|
1122 |
+
<show_in_website>1</show_in_website>
|
1123 |
+
<show_in_store>1</show_in_store>
|
1124 |
+
</enforceFullScreenRes>
|
1125 |
+
<prevNextArrows>
|
1126 |
+
<label>prevNextArrows</label>
|
1127 |
+
<comment><![CDATA[Put prev / next buttons over mouseover zoom. CSS: .axZm_mouseOverPrevNextArrows;]]></comment>
|
1128 |
+
<frontend_type>select</frontend_type>
|
1129 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1130 |
+
<sort_order>720</sort_order>
|
1131 |
+
<show_in_default>1</show_in_default>
|
1132 |
+
<show_in_website>1</show_in_website>
|
1133 |
+
<show_in_store>1</show_in_store>
|
1134 |
+
</prevNextArrows>
|
1135 |
+
<prevNextArrowsTouch>
|
1136 |
+
<label>prevNextArrowsTouch</label>
|
1137 |
+
<comment><![CDATA[Put prev / next buttons over mouseover zoom for touch devices.
|
1138 |
+
CSS: .axZm_mouseOverPrevNextArrows;]]></comment>
|
1139 |
+
<frontend_type>select</frontend_type>
|
1140 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1141 |
+
<sort_order>730</sort_order>
|
1142 |
+
<show_in_default>1</show_in_default>
|
1143 |
+
<show_in_website>1</show_in_website>
|
1144 |
+
<show_in_store>1</show_in_store>
|
1145 |
+
</prevNextArrowsTouch>
|
1146 |
+
<prevNextArrowsSlide>
|
1147 |
+
<label>prevNextArrowsSlide</label>
|
1148 |
+
<comment><![CDATA[Slide images to right or left when clicked on the prev / next buttons.]]></comment>
|
1149 |
+
<frontend_type>select</frontend_type>
|
1150 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1151 |
+
<sort_order>740</sort_order>
|
1152 |
+
<show_in_default>1</show_in_default>
|
1153 |
+
<show_in_website>1</show_in_website>
|
1154 |
+
<show_in_store>1</show_in_store>
|
1155 |
+
</prevNextArrowsSlide>
|
1156 |
+
<disableScrollAnm>
|
1157 |
+
<label>disableScrollAnm</label>
|
1158 |
+
<comment><![CDATA[Disable animation while zooming with AJAX-ZOOM and using mousewheel.]]></comment>
|
1159 |
+
<frontend_type>select</frontend_type>
|
1160 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1161 |
+
<sort_order>750</sort_order>
|
1162 |
+
<show_in_default>1</show_in_default>
|
1163 |
+
<show_in_website>1</show_in_website>
|
1164 |
+
<show_in_store>1</show_in_store>
|
1165 |
+
</disableScrollAnm>
|
1166 |
+
<fullScreenApi>
|
1167 |
+
<label>fullScreenApi</label>
|
1168 |
+
<comment><![CDATA[Try to open AJAX-ZOOM at browsers fullscreen mode,
|
1169 |
+
possible on modern browsers except IE < 10 and mobile.]]></comment>
|
1170 |
+
<frontend_type>select</frontend_type>
|
1171 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1172 |
+
<sort_order>760</sort_order>
|
1173 |
+
<show_in_default>1</show_in_default>
|
1174 |
+
<show_in_website>1</show_in_website>
|
1175 |
+
<show_in_store>1</show_in_store>
|
1176 |
+
</fullScreenApi>
|
1177 |
+
<axZmCallBacks>
|
1178 |
+
<label>axZmCallBacks</label>
|
1179 |
+
<comment><![CDATA[AJAX-ZOOM has several callbacks / hooks,
|
1180 |
+
http://www.ajax-zoom.com/index.php?cid=docs#onBeforeStart]]></comment>
|
1181 |
+
<frontend_type>textarea</frontend_type>
|
1182 |
+
<sort_order>770</sort_order>
|
1183 |
+
<show_in_default>1</show_in_default>
|
1184 |
+
<show_in_website>1</show_in_website>
|
1185 |
+
<show_in_store>1</show_in_store>
|
1186 |
+
</axZmCallBacks>
|
1187 |
+
<azOptions>
|
1188 |
+
<label>azOptions</label>
|
1189 |
+
<comment><![CDATA[
|
1190 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1191 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1192 |
+
Some AJAX-ZOOM options can be set with JS when AJAX-ZOOM is inited.
|
1193 |
+
Normally you would be defining them in /axZm/zoomConfig.inc.php
|
1194 |
+
or /axZm/zoomConfigCustom.inc.php; this field is for convenience reasons. Example:
|
1195 |
+
{"fullScreenCornerButton": false} - this would disable the button for fullscreen.
|
1196 |
+
]]></comment>
|
1197 |
+
<frontend_type>textarea</frontend_type>
|
1198 |
+
<sort_order>780</sort_order>
|
1199 |
+
<show_in_default>1</show_in_default>
|
1200 |
+
<show_in_website>1</show_in_website>
|
1201 |
+
<show_in_store>1</show_in_store>
|
1202 |
+
</azOptions>
|
1203 |
+
<azOptions360>
|
1204 |
+
<label>azOptions360</label>
|
1205 |
+
<comment><![CDATA[
|
1206 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1207 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1208 |
+
Same as above but specifically for 360/3D.
|
1209 |
+
In AJAX-ZOOM modules for ecommerce systems you can also set these options
|
1210 |
+
for each 360 individually...
|
1211 |
+
As an example for setting this option manually would be such an object:
|
1212 |
+
{"mouseScrollEnable": true,
|
1213 |
+
"mNavi": {"enabled": true, "gravity": "bottomLeft",
|
1214 |
+
"order": {"mZoomOut": 5, "mZoomIn": 15}}}
|
1215 |
+
]]></comment>
|
1216 |
+
<frontend_type>textarea</frontend_type>
|
1217 |
+
<sort_order>790</sort_order>
|
1218 |
+
<show_in_default>1</show_in_default>
|
1219 |
+
<show_in_website>1</show_in_website>
|
1220 |
+
<show_in_store>1</show_in_store>
|
1221 |
+
</azOptions360>
|
1222 |
+
<postMode>
|
1223 |
+
<label>postMode</label>
|
1224 |
+
<comment><![CDATA[Set AJAX-ZOOM to use POST instead of GET.]]></comment>
|
1225 |
+
<frontend_type>select</frontend_type>
|
1226 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1227 |
+
<sort_order>800</sort_order>
|
1228 |
+
<show_in_default>1</show_in_default>
|
1229 |
+
<show_in_website>1</show_in_website>
|
1230 |
+
<show_in_store>1</show_in_store>
|
1231 |
+
</postMode>
|
1232 |
+
</fields>
|
1233 |
+
</general_settings>
|
1234 |
+
<product_tour translate="label">
|
1235 |
+
<label>360 "Product tour"</label>
|
1236 |
+
<frontend_type>text</frontend_type>
|
1237 |
+
<sort_order>60</sort_order>
|
1238 |
+
<show_in_default>1</show_in_default>
|
1239 |
+
<show_in_website>1</show_in_website>
|
1240 |
+
<show_in_store>1</show_in_store>
|
1241 |
+
<fields>
|
1242 |
+
<cropAxZmThumbSliderParam>
|
1243 |
+
<label>cropAxZmThumbSliderParam</label>
|
1244 |
+
<comment><![CDATA[
|
1245 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1246 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1247 |
+
Slider settings for 360° "Product Tour". Can be kept empty.
|
1248 |
+
See also "galleryAxZmThumbSliderParam" option for more info.
|
1249 |
+
]]></comment>
|
1250 |
+
<frontend_type>textarea</frontend_type>
|
1251 |
+
<sort_order>10</sort_order>
|
1252 |
+
<show_in_default>1</show_in_default>
|
1253 |
+
<show_in_website>1</show_in_website>
|
1254 |
+
<show_in_store>1</show_in_store>
|
1255 |
+
</cropAxZmThumbSliderParam>
|
1256 |
+
<cropSliderPosition>
|
1257 |
+
<label>cropSliderPosition</label>
|
1258 |
+
<comment><![CDATA[Position of the 360° "Product Tour" slider,
|
1259 |
+
possible values: "top", "right", "bottom", "left" and any combination
|
1260 |
+
between those separated with dash.]]></comment>
|
1261 |
+
<frontend_type>select</frontend_type>
|
1262 |
+
<source_model>axzoom/azsettings::cropSliderPosition</source_model>
|
1263 |
+
<sort_order>20</sort_order>
|
1264 |
+
<show_in_default>1</show_in_default>
|
1265 |
+
<show_in_website>1</show_in_website>
|
1266 |
+
<show_in_store>1</show_in_store>
|
1267 |
+
</cropSliderPosition>
|
1268 |
+
<cropSliderPositionSwitch>
|
1269 |
+
<label>cropSliderPositionSwitch</label>
|
1270 |
+
<comment><![CDATA[Possible values: "auto" as string or integer.
|
1271 |
+
Auto means depending on whether the screen is in portrait or
|
1272 |
+
landscape mode the first or second value of "cropSliderPosition"
|
1273 |
+
suited for the resolution will be chosen. For the value set as
|
1274 |
+
integer the second position from "cropSliderPosition" will be
|
1275 |
+
chosen if width of the screen is less than this integer and
|
1276 |
+
the position suits for current resolution.]]></comment>
|
1277 |
+
<frontend_type>text</frontend_type>
|
1278 |
+
<sort_order>30</sort_order>
|
1279 |
+
<show_in_default>1</show_in_default>
|
1280 |
+
<show_in_website>1</show_in_website>
|
1281 |
+
<show_in_store>1</show_in_store>
|
1282 |
+
</cropSliderPositionSwitch>
|
1283 |
+
<cropSliderPosPriority>
|
1284 |
+
<label>cropSliderPosPriority</label>
|
1285 |
+
<comment><![CDATA[Prioritize placing 360° "Product Tour" slider,
|
1286 |
+
defined in "cropSliderPosition", before positioning fullscreen thumbnail slider,
|
1287 |
+
defined in "fsSliderPosition".]]></comment>
|
1288 |
+
<frontend_type>select</frontend_type>
|
1289 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1290 |
+
<sort_order>40</sort_order>
|
1291 |
+
<show_in_default>1</show_in_default>
|
1292 |
+
<show_in_website>1</show_in_website>
|
1293 |
+
<show_in_store>1</show_in_store>
|
1294 |
+
</cropSliderPosPriority>
|
1295 |
+
<cropSliderReposition>
|
1296 |
+
<label>cropSliderReposition</label>
|
1297 |
+
<comment><![CDATA[In case the positions of the gallery slider and the slider for 360 Product tour collude,
|
1298 |
+
the alternative position.
|
1299 |
+
Possible values: "left-bottom", "left-top", "right-bottom", "right-top" and "opposite".]]></comment>
|
1300 |
+
<frontend_type>select</frontend_type>
|
1301 |
+
<source_model>axzoom/azsettings::cropSliderReposition</source_model>
|
1302 |
+
<sort_order>50</sort_order>
|
1303 |
+
<show_in_default>1</show_in_default>
|
1304 |
+
<show_in_website>1</show_in_website>
|
1305 |
+
<show_in_store>1</show_in_store>
|
1306 |
+
</cropSliderReposition>
|
1307 |
+
<cropSliderDimension>
|
1308 |
+
<label>cropSliderDimension</label>
|
1309 |
+
<comment><![CDATA[Width or height (depending on position) of the instantly
|
1310 |
+
created container for the 360° "Product Tour" thumb slider.]]></comment>
|
1311 |
+
<frontend_type>text</frontend_type>
|
1312 |
+
<sort_order>60</sort_order>
|
1313 |
+
<show_in_default>1</show_in_default>
|
1314 |
+
<show_in_website>1</show_in_website>
|
1315 |
+
<show_in_store>1</show_in_store>
|
1316 |
+
</cropSliderDimension>
|
1317 |
+
<cropSliderThumbAutoSize>
|
1318 |
+
<label>cropSliderThumbAutoSize</label>
|
1319 |
+
<comment><![CDATA[Thumb CSS size will be set instantly depending on "cropSliderDimension" option.]]></comment>
|
1320 |
+
<frontend_type>select</frontend_type>
|
1321 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1322 |
+
<sort_order>70</sort_order>
|
1323 |
+
<show_in_default>1</show_in_default>
|
1324 |
+
<show_in_website>1</show_in_website>
|
1325 |
+
<show_in_store>1</show_in_store>
|
1326 |
+
</cropSliderThumbAutoSize>
|
1327 |
+
<cropSliderThumbAutoMargin>
|
1328 |
+
<label>cropSliderThumbAutoMargin</label>
|
1329 |
+
<comment><![CDATA[Thumb margin when set instantly.]]></comment>
|
1330 |
+
<frontend_type>text</frontend_type>
|
1331 |
+
<sort_order>80</sort_order>
|
1332 |
+
<show_in_default>1</show_in_default>
|
1333 |
+
<show_in_website>1</show_in_website>
|
1334 |
+
<show_in_store>1</show_in_store>
|
1335 |
+
</cropSliderThumbAutoMargin>
|
1336 |
+
<cropSliderThumbDescr>
|
1337 |
+
<label>cropSliderThumbDescr</label>
|
1338 |
+
<comment><![CDATA[Enable descriptions for the thumbs in the slider for 360° "Product Tour"]]></comment>
|
1339 |
+
<frontend_type>select</frontend_type>
|
1340 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1341 |
+
<sort_order>90</sort_order>
|
1342 |
+
<show_in_default>1</show_in_default>
|
1343 |
+
<show_in_website>1</show_in_website>
|
1344 |
+
<show_in_store>1</show_in_store>
|
1345 |
+
</cropSliderThumbDescr>
|
1346 |
+
<cropSliderMinSize>
|
1347 |
+
<label>cropSliderMinSize</label>
|
1348 |
+
<comment><![CDATA[Minimal size of the player (width or height) for 360° "Product Tour" gallery
|
1349 |
+
(if present) to be shown.]]></comment>
|
1350 |
+
<frontend_type>text</frontend_type>
|
1351 |
+
<sort_order>100</sort_order>
|
1352 |
+
<show_in_default>1</show_in_default>
|
1353 |
+
<show_in_website>1</show_in_website>
|
1354 |
+
<show_in_store>1</show_in_store>
|
1355 |
+
</cropSliderMinSize>
|
1356 |
+
<cropSliderNotParent>
|
1357 |
+
<label>cropSliderNotParent</label>
|
1358 |
+
<comment><![CDATA[Prevent showing 360° "Product Tour" gallery when the parent container
|
1359 |
+
matches the id or CSS class represented as string in this option value,
|
1360 |
+
e.g. "az_mouseOverZoomContainer".
|
1361 |
+
For more than one value split them with vertical dash.]]></comment>
|
1362 |
+
<frontend_type>text</frontend_type>
|
1363 |
+
<sort_order>110</sort_order>
|
1364 |
+
<show_in_default>1</show_in_default>
|
1365 |
+
<show_in_website>1</show_in_website>
|
1366 |
+
<show_in_store>1</show_in_store>
|
1367 |
+
</cropSliderNotParent>
|
1368 |
+
<cropAxZmEbOpt>
|
1369 |
+
<label>cropAxZmEbOpt</label>
|
1370 |
+
<comment><![CDATA[
|
1371 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1372 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1373 |
+
Options for $.axZmEb function which is used for descriptions for
|
1374 |
+
360° "Product Tour". Documentation to be updated...
|
1375 |
+
]]></comment>
|
1376 |
+
<frontend_type>textarea</frontend_type>
|
1377 |
+
<sort_order>120</sort_order>
|
1378 |
+
<show_in_default>1</show_in_default>
|
1379 |
+
<show_in_website>1</show_in_website>
|
1380 |
+
<show_in_store>1</show_in_store>
|
1381 |
+
</cropAxZmEbOpt>
|
1382 |
+
</fields>
|
1383 |
+
</product_tour>
|
1384 |
+
<fullscreen_gallery translate="label">
|
1385 |
+
<label>Fullscreen gallery</label>
|
1386 |
+
<frontend_type>text</frontend_type>
|
1387 |
+
<sort_order>70</sort_order>
|
1388 |
+
<show_in_default>1</show_in_default>
|
1389 |
+
<show_in_website>1</show_in_website>
|
1390 |
+
<show_in_store>1</show_in_store>
|
1391 |
+
<fields>
|
1392 |
+
<fsAxZmThumbSliderParam>
|
1393 |
+
<label>fsAxZmThumbSliderParam</label>
|
1394 |
+
<comment><![CDATA[
|
1395 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1396 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1397 |
+
$.axZmThumbSlider options for fullscreen gallery.
|
1398 |
+
For full list of options see under:
|
1399 |
+
/modules/ajaxzoom/axZm/extensions/axZmThumbSlider/
|
1400 |
+
]]></comment>
|
1401 |
+
<frontend_type>textarea</frontend_type>
|
1402 |
+
<sort_order>10</sort_order>
|
1403 |
+
<show_in_default>1</show_in_default>
|
1404 |
+
<show_in_website>1</show_in_website>
|
1405 |
+
<show_in_store>1</show_in_store>
|
1406 |
+
</fsAxZmThumbSliderParam>
|
1407 |
+
<fsSliderPosition>
|
1408 |
+
<label>fsSliderPosition</label>
|
1409 |
+
<comment><![CDATA[Position of the fullscreen thumbnail slider.
|
1410 |
+
Possible values are:
|
1411 |
+
"top", "right", "bottom", "left" and any combination between those separated with dash,
|
1412 |
+
e.g. "right-bottom". Positions with dash mean that the second after dash
|
1413 |
+
is the alternative position which could be switched instantly depending on the logic
|
1414 |
+
described in "fsSliderPositionSwitch" option.]]></comment>
|
1415 |
+
<frontend_type>select</frontend_type>
|
1416 |
+
<source_model>axzoom/azsettings::fsSliderPosition</source_model>
|
1417 |
+
<sort_order>20</sort_order>
|
1418 |
+
<show_in_default>1</show_in_default>
|
1419 |
+
<show_in_website>1</show_in_website>
|
1420 |
+
<show_in_store>1</show_in_store>
|
1421 |
+
</fsSliderPosition>
|
1422 |
+
<fsSliderReposition>
|
1423 |
+
<label>fsSliderReposition</label>
|
1424 |
+
<comment><![CDATA[In case sliders position collude, the alternative position.
|
1425 |
+
Possible values: "left-bottom", "left-top", "right-bottom", "right-top", "opposite".]]></comment>
|
1426 |
+
<frontend_type>select</frontend_type>
|
1427 |
+
<source_model>axzoom/azsettings::fsSliderReposition</source_model>
|
1428 |
+
<sort_order>30</sort_order>
|
1429 |
+
<show_in_default>1</show_in_default>
|
1430 |
+
<show_in_website>1</show_in_website>
|
1431 |
+
<show_in_store>1</show_in_store>
|
1432 |
+
</fsSliderReposition>
|
1433 |
+
<fsSliderPositionSwitch>
|
1434 |
+
<label>fsSliderPositionSwitch</label>
|
1435 |
+
<comment><![CDATA[Switch fsSliderPosition instantly depending on certain conditions.
|
1436 |
+
This switch is only applied when fsSliderPosition value is
|
1437 |
+
"top-left", "top-right", "bottom-left" or "bottom-right".
|
1438 |
+
Possible values are "auto" or integer;
|
1439 |
+
When "auto" is enabled an alternative position will be chosen depending
|
1440 |
+
on screen being in portrait or landscape mode. If value of
|
1441 |
+
fsSliderPositionSwitch is integer, alternative position will be
|
1442 |
+
only chosen if screen width (or height - depending on first value
|
1443 |
+
of fsSliderPosition before dash) is less than fsSliderPositionSwitch value.]]></comment>
|
1444 |
+
<frontend_type>text</frontend_type>
|
1445 |
+
<sort_order>40</sort_order>
|
1446 |
+
<show_in_default>1</show_in_default>
|
1447 |
+
<show_in_website>1</show_in_website>
|
1448 |
+
<show_in_store>1</show_in_store>
|
1449 |
+
</fsSliderPositionSwitch>
|
1450 |
+
<fsSliderDimension>
|
1451 |
+
<label>fsSliderDimension</label>
|
1452 |
+
<comment><![CDATA[Width or height of the container for fullscreen slider
|
1453 |
+
(depends on if it is vertical or horizontal).]]></comment>
|
1454 |
+
<frontend_type>text</frontend_type>
|
1455 |
+
<sort_order>50</sort_order>
|
1456 |
+
<show_in_default>1</show_in_default>
|
1457 |
+
<show_in_website>1</show_in_website>
|
1458 |
+
<show_in_store>1</show_in_store>
|
1459 |
+
</fsSliderDimension>
|
1460 |
+
<fsSliderThumbAutoSize>
|
1461 |
+
<label>fsSliderThumbAutoSize</label>
|
1462 |
+
<comment><![CDATA[Adjust fsSliderDimension depending on
|
1463 |
+
fsAxZmThumbSliderParam instantly (to be improved).]]></comment>
|
1464 |
+
<frontend_type>select</frontend_type>
|
1465 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1466 |
+
<sort_order>60</sort_order>
|
1467 |
+
<show_in_default>1</show_in_default>
|
1468 |
+
<show_in_website>1</show_in_website>
|
1469 |
+
<show_in_store>1</show_in_store>
|
1470 |
+
</fsSliderThumbAutoSize>
|
1471 |
+
<fsSliderThumbAutoMargin>
|
1472 |
+
<label>fsSliderThumbAutoMargin</label>
|
1473 |
+
<comment><![CDATA[Thumbnails margin when fsSliderThumbAutoSize is enabled.]]></comment>
|
1474 |
+
<frontend_type>text</frontend_type>
|
1475 |
+
<sort_order>70</sort_order>
|
1476 |
+
<show_in_default>1</show_in_default>
|
1477 |
+
<show_in_website>1</show_in_website>
|
1478 |
+
<show_in_store>1</show_in_store>
|
1479 |
+
</fsSliderThumbAutoMargin>
|
1480 |
+
<fsSliderThumbAutoExtend>
|
1481 |
+
<label>fsSliderThumbAutoExtend</label>
|
1482 |
+
<comment><![CDATA[Extend slider width / height by this pixel value when set instantly.]]></comment>
|
1483 |
+
<frontend_type>text</frontend_type>
|
1484 |
+
<sort_order>80</sort_order>
|
1485 |
+
<show_in_default>1</show_in_default>
|
1486 |
+
<show_in_website>1</show_in_website>
|
1487 |
+
<show_in_store>1</show_in_store>
|
1488 |
+
</fsSliderThumbAutoExtend>
|
1489 |
+
<fsSliderThumbDescr>
|
1490 |
+
<label>fsSliderThumbDescr</label>
|
1491 |
+
<comment><![CDATA[Dummy for future implementation (todo).]]></comment>
|
1492 |
+
<frontend_type>select</frontend_type>
|
1493 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1494 |
+
<sort_order>90</sort_order>
|
1495 |
+
<show_in_default>1</show_in_default>
|
1496 |
+
<show_in_website>1</show_in_website>
|
1497 |
+
<show_in_store>1</show_in_store>
|
1498 |
+
</fsSliderThumbDescr>
|
1499 |
+
<fsSliderMinSize>
|
1500 |
+
<label>fsSliderMinSize</label>
|
1501 |
+
<comment><![CDATA[Minimal size of the player for fullscreen gallery to be shown.]]></comment>
|
1502 |
+
<frontend_type>text</frontend_type>
|
1503 |
+
<sort_order>100</sort_order>
|
1504 |
+
<show_in_default>1</show_in_default>
|
1505 |
+
<show_in_website>1</show_in_website>
|
1506 |
+
<show_in_store>1</show_in_store>
|
1507 |
+
</fsSliderMinSize>
|
1508 |
+
<fsSliderGalleryFadeInAnm>
|
1509 |
+
<label>fsSliderGalleryFadeInAnm</label>
|
1510 |
+
<comment><![CDATA[Switching animation between images in fullscreen mode.
|
1511 |
+
Possible values: "Center", "Top", "Right", "Bottom", "Left",
|
1512 |
+
"StretchVert", "StretchHorz", "SwipeHorz", "SwipeVert", "Vert", "Horz".]]></comment>
|
1513 |
+
<frontend_type>select</frontend_type>
|
1514 |
+
<source_model>axzoom/azsettings::fsSliderGalleryFadeInAnm</source_model>
|
1515 |
+
<sort_order>110</sort_order>
|
1516 |
+
<show_in_default>1</show_in_default>
|
1517 |
+
<show_in_website>1</show_in_website>
|
1518 |
+
<show_in_store>1</show_in_store>
|
1519 |
+
</fsSliderGalleryFadeInAnm>
|
1520 |
+
<fsSliderNotParent>
|
1521 |
+
<label>fsSliderNotParent</label>
|
1522 |
+
<comment><![CDATA[Prevent showing fullscreen gallery when the parent container
|
1523 |
+
matches the id or CSS class represented as string in this option value,
|
1524 |
+
e.g. "az_mouseOverZoomContainer".
|
1525 |
+
For more than one value split them with vertical dash.]]></comment>
|
1526 |
+
<frontend_type>text</frontend_type>
|
1527 |
+
<sort_order>120</sort_order>
|
1528 |
+
<show_in_default>1</show_in_default>
|
1529 |
+
<show_in_website>1</show_in_website>
|
1530 |
+
<show_in_store>1</show_in_store>
|
1531 |
+
</fsSliderNotParent>
|
1532 |
+
<onGallerySwitch>
|
1533 |
+
<label>onGallerySwitch</label>
|
1534 |
+
<comment><![CDATA[Callback function triggered every time an item is switched.
|
1535 |
+
The function receives 4 argumets: index of the item, item information as object,
|
1536 |
+
mouseover instance and gallery instance.
|
1537 |
+
In AJAX-ZOOM modules avoid writing the actual functions, instead pass a reference,
|
1538 |
+
e.g. window.myCustomFunc]]></comment>
|
1539 |
+
<frontend_type>text</frontend_type>
|
1540 |
+
<sort_order>130</sort_order>
|
1541 |
+
<show_in_default>1</show_in_default>
|
1542 |
+
<show_in_website>1</show_in_website>
|
1543 |
+
<show_in_store>1</show_in_store>
|
1544 |
+
</onGallerySwitch>
|
1545 |
+
</fields>
|
1546 |
+
</fullscreen_gallery>
|
1547 |
+
<mouseover translate="label">
|
1548 |
+
<label>Specific options for the mouseover zoom</label>
|
1549 |
+
<frontend_type>text</frontend_type>
|
1550 |
+
<sort_order>80</sort_order>
|
1551 |
+
<show_in_default>1</show_in_default>
|
1552 |
+
<show_in_website>1</show_in_website>
|
1553 |
+
<show_in_store>1</show_in_store>
|
1554 |
+
<fields>
|
1555 |
+
<position>
|
1556 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">position</div>]]></label>
|
1557 |
+
<comment><![CDATA[Position of the flyout zoom window, possible values:
|
1558 |
+
"inside", "top", "right", "bottom", "left".]]></comment>
|
1559 |
+
<frontend_type>select</frontend_type>
|
1560 |
+
<source_model>axzoom/azsettings::position</source_model>
|
1561 |
+
<sort_order>10</sort_order>
|
1562 |
+
<show_in_default>1</show_in_default>
|
1563 |
+
<show_in_website>1</show_in_website>
|
1564 |
+
<show_in_store>1</show_in_store>
|
1565 |
+
</position>
|
1566 |
+
<posAutoInside>
|
1567 |
+
<label>posAutoInside</label>
|
1568 |
+
<comment><![CDATA[Applies when width (left, right) or height (top, bottom)
|
1569 |
+
of zoom window are less than this px value
|
1570 |
+
(zoomWidth || zoomHeight are set to auto);
|
1571 |
+
if zoomWidth || zoomHeight are fixed,
|
1572 |
+
applies when zoom window is out of page border.]]></comment>
|
1573 |
+
<frontend_type>text</frontend_type>
|
1574 |
+
<sort_order>20</sort_order>
|
1575 |
+
<show_in_default>1</show_in_default>
|
1576 |
+
<show_in_website>1</show_in_website>
|
1577 |
+
<show_in_store>1</show_in_store>
|
1578 |
+
</posAutoInside>
|
1579 |
+
<touchScroll>
|
1580 |
+
<label>touchScroll</label>
|
1581 |
+
<comment><![CDATA[If width of the mouseover zoom container is more than 80% (0.8) of the window width,
|
1582 |
+
then for touch devises the inner zoom will be not
|
1583 |
+
triggered and the user can scroll down.
|
1584 |
+
Click for open AJAX-ZOOM remains.
|
1585 |
+
Set this value to 0 if you want to enable the slider for touch devices only.]]></comment>
|
1586 |
+
<frontend_type>text</frontend_type>
|
1587 |
+
<sort_order>30</sort_order>
|
1588 |
+
<show_in_default>1</show_in_default>
|
1589 |
+
<show_in_website>1</show_in_website>
|
1590 |
+
<show_in_store>1</show_in_store>
|
1591 |
+
</touchScroll>
|
1592 |
+
<noMouseOverZoom>
|
1593 |
+
<label>noMouseOverZoom</label>
|
1594 |
+
<comment><![CDATA[Disable mouseover zoom for all devices.]]></comment>
|
1595 |
+
<frontend_type>select</frontend_type>
|
1596 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1597 |
+
<sort_order>40</sort_order>
|
1598 |
+
<show_in_default>1</show_in_default>
|
1599 |
+
<show_in_website>1</show_in_website>
|
1600 |
+
<show_in_store>1</show_in_store>
|
1601 |
+
</noMouseOverZoom>
|
1602 |
+
<noMouseOverZoomTouch>
|
1603 |
+
<label>noMouseOverZoomTouch</label>
|
1604 |
+
<comment><![CDATA[Enable "noMouseOverZoom" only for touch devices
|
1605 |
+
(mouseover zoom works for touch devices too but is not very convenient
|
1606 |
+
so this option is enabled on default now).]]></comment>
|
1607 |
+
<frontend_type>select</frontend_type>
|
1608 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1609 |
+
<sort_order>50</sort_order>
|
1610 |
+
<show_in_default>1</show_in_default>
|
1611 |
+
<show_in_website>1</show_in_website>
|
1612 |
+
<show_in_store>1</show_in_store>
|
1613 |
+
</noMouseOverZoomTouch>
|
1614 |
+
<noMouseOverZoomInside>
|
1615 |
+
<label>noMouseOverZoomInside</label>
|
1616 |
+
<comment><![CDATA[Disable mouseover zoom if it is 'inside' (inner zoom).]]></comment>
|
1617 |
+
<frontend_type>select</frontend_type>
|
1618 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1619 |
+
<sort_order>60</sort_order>
|
1620 |
+
<show_in_default>1</show_in_default>
|
1621 |
+
<show_in_website>1</show_in_website>
|
1622 |
+
<show_in_store>1</show_in_store>
|
1623 |
+
</noMouseOverZoomInside>
|
1624 |
+
<noMouseOverZoomInsideTouch>
|
1625 |
+
<label>noMouseOverZoomInsideTouch</label>
|
1626 |
+
<comment><![CDATA[Disable mouseover zoom if it is inside (inner zoom) and touch event.]]></comment>
|
1627 |
+
<frontend_type>select</frontend_type>
|
1628 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1629 |
+
<sort_order>70</sort_order>
|
1630 |
+
<show_in_default>1</show_in_default>
|
1631 |
+
<show_in_website>1</show_in_website>
|
1632 |
+
<show_in_store>1</show_in_store>
|
1633 |
+
</noMouseOverZoomInsideTouch>
|
1634 |
+
<mouseOverZoomHybrid>
|
1635 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">mouseOverZoomHybrid</div>]]></label>
|
1636 |
+
<comment><![CDATA[Enable mouseover zoom and slider at the same time for not touch devices.]]></comment>
|
1637 |
+
<frontend_type>select</frontend_type>
|
1638 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1639 |
+
<sort_order>80</sort_order>
|
1640 |
+
<show_in_default>1</show_in_default>
|
1641 |
+
<show_in_website>1</show_in_website>
|
1642 |
+
<show_in_store>1</show_in_store>
|
1643 |
+
</mouseOverZoomHybrid>
|
1644 |
+
<slideTouchTime>
|
1645 |
+
<label>slideTouchTime</label>
|
1646 |
+
<comment><![CDATA[Slide time in ms after touch and drag.]]></comment>
|
1647 |
+
<frontend_type>text</frontend_type>
|
1648 |
+
<sort_order>90</sort_order>
|
1649 |
+
<show_in_default>1</show_in_default>
|
1650 |
+
<show_in_website>1</show_in_website>
|
1651 |
+
<show_in_store>1</show_in_store>
|
1652 |
+
</slideTouchTime>
|
1653 |
+
<slideTime>
|
1654 |
+
<label>slideTime</label>
|
1655 |
+
<comment><![CDATA[Slide time after clicked on prev / next buttons.]]></comment>
|
1656 |
+
<frontend_type>text</frontend_type>
|
1657 |
+
<sort_order>100</sort_order>
|
1658 |
+
<show_in_default>1</show_in_default>
|
1659 |
+
<show_in_website>1</show_in_website>
|
1660 |
+
<show_in_store>1</show_in_store>
|
1661 |
+
</slideTime>
|
1662 |
+
<posInsideArea>
|
1663 |
+
<label>posInsideArea</label>
|
1664 |
+
<comment><![CDATA[When "posAutoInside" is enabled and inner zoom fires or "position"
|
1665 |
+
option is set to 'inside' right away - there is no lens.
|
1666 |
+
However you will notice that the reaction to mouse movements occure somewhere
|
1667 |
+
in the middle of the image;
|
1668 |
+
at the edges mostly nothing happens in similar scripts.
|
1669 |
+
With this option you can adjust how far from
|
1670 |
+
the edge mouse movements should be captured.
|
1671 |
+
The range is between 0 and 0.5;]]></comment>
|
1672 |
+
<frontend_type>text</frontend_type>
|
1673 |
+
<sort_order>110</sort_order>
|
1674 |
+
<show_in_default>1</show_in_default>
|
1675 |
+
<show_in_website>1</show_in_website>
|
1676 |
+
<show_in_store>1</show_in_store>
|
1677 |
+
</posInsideArea>
|
1678 |
+
<autoFlip>
|
1679 |
+
<label>autoFlip</label>
|
1680 |
+
<comment><![CDATA[Flip right to left and bottom to top if less than int px value or false to disable.]]></comment>
|
1681 |
+
<frontend_type>text</frontend_type>
|
1682 |
+
<sort_order>120</sort_order>
|
1683 |
+
<show_in_default>1</show_in_default>
|
1684 |
+
<show_in_website>1</show_in_website>
|
1685 |
+
<show_in_store>1</show_in_store>
|
1686 |
+
</autoFlip>
|
1687 |
+
<biggestSpace>
|
1688 |
+
<label>biggestSpace</label>
|
1689 |
+
<comment><![CDATA[Overrides position option and instantly chooses the direction,
|
1690 |
+
disables autoFlip; plays nicely when zoomWidth and zoomHeight are set to 'auto'.]]></comment>
|
1691 |
+
<frontend_type>select</frontend_type>
|
1692 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1693 |
+
<sort_order>130</sort_order>
|
1694 |
+
<show_in_default>1</show_in_default>
|
1695 |
+
<show_in_website>1</show_in_website>
|
1696 |
+
<show_in_store>1</show_in_store>
|
1697 |
+
</biggestSpace>
|
1698 |
+
<zoomFullSpace>
|
1699 |
+
<label>zoomFullSpace</label>
|
1700 |
+
<comment><![CDATA[Uses full screen height (does not align to the map / disables adjustY)
|
1701 |
+
if position is right or left || uses full screen width
|
1702 |
+
(does not align to the map / disables adjustX)
|
1703 |
+
if position is top or bottom.]]></comment>
|
1704 |
+
<frontend_type>select</frontend_type>
|
1705 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1706 |
+
<sort_order>140</sort_order>
|
1707 |
+
<show_in_default>1</show_in_default>
|
1708 |
+
<show_in_website>1</show_in_website>
|
1709 |
+
<show_in_store>1</show_in_store>
|
1710 |
+
</zoomFullSpace>
|
1711 |
+
<zoomWidth>
|
1712 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">zoomWidth</div>]]></label>
|
1713 |
+
<comment><![CDATA[Width of the zoom window e.g. 540 or 'auto' or
|
1714 |
+
jQuery selector|correction value, e.g. '#refWidthTest|+20';
|
1715 |
+
so if you want to have a width of the zoom window same as
|
1716 |
+
for example a responsive container
|
1717 |
+
to the right (so it is fully covered) and max possible height,
|
1718 |
+
then define the id of this container to the right,
|
1719 |
+
e.g. 'myArticleData', set "zoomWidth"
|
1720 |
+
to '#myArticleData|+10' and "zoomHeight" to 'auto'.
|
1721 |
+
If you have a three column design and want to cover both containers to the right,
|
1722 |
+
then just define both containers in the jQuery selector,
|
1723 |
+
e.g. '.pb-center-column,.pb-right-column|+20';
|
1724 |
+
the margin between the containers is not taken into account
|
1725 |
+
but you can adjust the result with the second value after vertical bar.]]></comment>
|
1726 |
+
<frontend_type>text</frontend_type>
|
1727 |
+
<sort_order>150</sort_order>
|
1728 |
+
<show_in_default>1</show_in_default>
|
1729 |
+
<show_in_website>1</show_in_website>
|
1730 |
+
<show_in_store>1</show_in_store>
|
1731 |
+
</zoomWidth>
|
1732 |
+
<zoomHeight>
|
1733 |
+
<label><![CDATA[<div class="notice-msg importantAZoption">zoomHeight</div>]]></label>
|
1734 |
+
<comment><![CDATA[Height of the zoom window e.g. 375, or 'auto' or jQuery selector|correction value,
|
1735 |
+
e.g. '#refWidthTest|+20'; if your selector matches more than one element,
|
1736 |
+
e.g. '.pb-center-column,.pb-right-column|+20', then
|
1737 |
+
the highest value will be chosen. This is different from
|
1738 |
+
the multiple selector in "zoomWidth", where the values are added.]]></comment>
|
1739 |
+
<frontend_type>text</frontend_type>
|
1740 |
+
<sort_order>160</sort_order>
|
1741 |
+
<show_in_default>1</show_in_default>
|
1742 |
+
<show_in_website>1</show_in_website>
|
1743 |
+
<show_in_store>1</show_in_store>
|
1744 |
+
</zoomHeight>
|
1745 |
+
<autoMargin>
|
1746 |
+
<label>autoMargin</label>
|
1747 |
+
<comment><![CDATA[If zoomWidth or zoomHeight are set to 'auto', the margin to the edge of the screen.]]></comment>
|
1748 |
+
<frontend_type>text</frontend_type>
|
1749 |
+
<sort_order>170</sort_order>
|
1750 |
+
<show_in_default>1</show_in_default>
|
1751 |
+
<show_in_website>1</show_in_website>
|
1752 |
+
<show_in_store>1</show_in_store>
|
1753 |
+
</autoMargin>
|
1754 |
+
<adjustX>
|
1755 |
+
<label>adjustX</label>
|
1756 |
+
<comment><![CDATA[Horizontal margin of the zoom window.]]></comment>
|
1757 |
+
<frontend_type>text</frontend_type>
|
1758 |
+
<sort_order>180</sort_order>
|
1759 |
+
<show_in_default>1</show_in_default>
|
1760 |
+
<show_in_website>1</show_in_website>
|
1761 |
+
<show_in_store>1</show_in_store>
|
1762 |
+
</adjustX>
|
1763 |
+
<adjustY>
|
1764 |
+
<label>adjustY</label>
|
1765 |
+
<comment><![CDATA[Vertical margin of the zoom window.]]></comment>
|
1766 |
+
<frontend_type>text</frontend_type>
|
1767 |
+
<sort_order>190</sort_order>
|
1768 |
+
<show_in_default>1</show_in_default>
|
1769 |
+
<show_in_website>1</show_in_website>
|
1770 |
+
<show_in_store>1</show_in_store>
|
1771 |
+
</adjustY>
|
1772 |
+
<lensOpacity>
|
1773 |
+
<label>lensOpacity</label>
|
1774 |
+
<comment><![CDATA[Opacity of the selector lens.]]></comment>
|
1775 |
+
<frontend_type>text</frontend_type>
|
1776 |
+
<sort_order>200</sort_order>
|
1777 |
+
<show_in_default>1</show_in_default>
|
1778 |
+
<show_in_website>1</show_in_website>
|
1779 |
+
<show_in_store>1</show_in_store>
|
1780 |
+
</lensOpacity>
|
1781 |
+
<lensStyle>
|
1782 |
+
<label>lensStyle</label>
|
1783 |
+
<comment><![CDATA[Quickly override CSS of the lens.]]></comment>
|
1784 |
+
<frontend_type>textarea</frontend_type>
|
1785 |
+
<sort_order>210</sort_order>
|
1786 |
+
<show_in_default>1</show_in_default>
|
1787 |
+
<show_in_website>1</show_in_website>
|
1788 |
+
<show_in_store>1</show_in_store>
|
1789 |
+
</lensStyle>
|
1790 |
+
<lensClass>
|
1791 |
+
<label>lensClass</label>
|
1792 |
+
<comment><![CDATA[Define CSS class for the lens.]]></comment>
|
1793 |
+
<frontend_type>text</frontend_type>
|
1794 |
+
<sort_order>220</sort_order>
|
1795 |
+
<show_in_default>1</show_in_default>
|
1796 |
+
<show_in_website>1</show_in_website>
|
1797 |
+
<show_in_store>1</show_in_store>
|
1798 |
+
</lensClass>
|
1799 |
+
<lensMessage>
|
1800 |
+
<label>lensMessage</label>
|
1801 |
+
<comment><![CDATA[
|
1802 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
1803 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
1804 |
+
Text string on the lens.
|
1805 |
+
For more than one language define a js object,
|
1806 |
+
e.g. {"en": "english text", "de": "german text"}
|
1807 |
+
]]></comment>
|
1808 |
+
<frontend_type>textarea</frontend_type>
|
1809 |
+
<sort_order>230</sort_order>
|
1810 |
+
<show_in_default>1</show_in_default>
|
1811 |
+
<show_in_website>1</show_in_website>
|
1812 |
+
<show_in_store>1</show_in_store>
|
1813 |
+
</lensMessage>
|
1814 |
+
<zoomAreaBorderWidth>
|
1815 |
+
<label>zoomAreaBorderWidth</label>
|
1816 |
+
<comment><![CDATA[Border thickness of the zoom window.]]></comment>
|
1817 |
+
<frontend_type>text</frontend_type>
|
1818 |
+
<sort_order>240</sort_order>
|
1819 |
+
<show_in_default>1</show_in_default>
|
1820 |
+
<show_in_website>1</show_in_website>
|
1821 |
+
<show_in_store>1</show_in_store>
|
1822 |
+
</zoomAreaBorderWidth>
|
1823 |
+
<galleryFade>
|
1824 |
+
<label>galleryFade</label>
|
1825 |
+
<comment><![CDATA[Speed of inner fade or false.]]></comment>
|
1826 |
+
<frontend_type>text</frontend_type>
|
1827 |
+
<sort_order>250</sort_order>
|
1828 |
+
<show_in_default>1</show_in_default>
|
1829 |
+
<show_in_website>1</show_in_website>
|
1830 |
+
<show_in_store>1</show_in_store>
|
1831 |
+
</galleryFade>
|
1832 |
+
<shutterSpeed>
|
1833 |
+
<label>shutterSpeed</label>
|
1834 |
+
<comment><![CDATA[Speed of shutter fadein or false; applies only
|
1835 |
+
if image proportions are different from container.]]></comment>
|
1836 |
+
<frontend_type>text</frontend_type>
|
1837 |
+
<sort_order>260</sort_order>
|
1838 |
+
<show_in_default>1</show_in_default>
|
1839 |
+
<show_in_website>1</show_in_website>
|
1840 |
+
<show_in_store>1</show_in_store>
|
1841 |
+
</shutterSpeed>
|
1842 |
+
<showFade>
|
1843 |
+
<label>showFade</label>
|
1844 |
+
<comment><![CDATA[Speed of fade in for mouse over.]]></comment>
|
1845 |
+
<frontend_type>text</frontend_type>
|
1846 |
+
<sort_order>270</sort_order>
|
1847 |
+
<show_in_default>1</show_in_default>
|
1848 |
+
<show_in_website>1</show_in_website>
|
1849 |
+
<show_in_store>1</show_in_store>
|
1850 |
+
</showFade>
|
1851 |
+
<hideFade>
|
1852 |
+
<label>hideFade</label>
|
1853 |
+
<comment><![CDATA[Speed of fade out for mouse over.]]></comment>
|
1854 |
+
<frontend_type>text</frontend_type>
|
1855 |
+
<sort_order>280</sort_order>
|
1856 |
+
<show_in_default>1</show_in_default>
|
1857 |
+
<show_in_website>1</show_in_website>
|
1858 |
+
<show_in_store>1</show_in_store>
|
1859 |
+
</hideFade>
|
1860 |
+
<flyOutSpeed>
|
1861 |
+
<label>flyOutSpeed</label>
|
1862 |
+
<comment><![CDATA[Speed for flyout or false to disable.]]></comment>
|
1863 |
+
<frontend_type>text</frontend_type>
|
1864 |
+
<sort_order>290</sort_order>
|
1865 |
+
<show_in_default>1</show_in_default>
|
1866 |
+
<show_in_website>1</show_in_website>
|
1867 |
+
<show_in_store>1</show_in_store>
|
1868 |
+
</flyOutSpeed>
|
1869 |
+
<flyOutTransition>
|
1870 |
+
<label>flyOutTransition</label>
|
1871 |
+
<comment><![CDATA[Transition of the flyout.]]></comment>
|
1872 |
+
<frontend_type>text</frontend_type>
|
1873 |
+
<sort_order>300</sort_order>
|
1874 |
+
<show_in_default>1</show_in_default>
|
1875 |
+
<show_in_website>1</show_in_website>
|
1876 |
+
<show_in_store>1</show_in_store>
|
1877 |
+
</flyOutTransition>
|
1878 |
+
<flyOutOpacity>
|
1879 |
+
<label>flyOutOpacity</label>
|
1880 |
+
<comment><![CDATA[Initial opacity for flyout.]]></comment>
|
1881 |
+
<frontend_type>text</frontend_type>
|
1882 |
+
<sort_order>310</sort_order>
|
1883 |
+
<show_in_default>1</show_in_default>
|
1884 |
+
<show_in_website>1</show_in_website>
|
1885 |
+
<show_in_store>1</show_in_store>
|
1886 |
+
</flyOutOpacity>
|
1887 |
+
<flyBackSpeed>
|
1888 |
+
<label>flyBackSpeed</label>
|
1889 |
+
<comment><![CDATA[Speed for fly back or false to disable.]]></comment>
|
1890 |
+
<frontend_type>text</frontend_type>
|
1891 |
+
<sort_order>320</sort_order>
|
1892 |
+
<show_in_default>1</show_in_default>
|
1893 |
+
<show_in_website>1</show_in_website>
|
1894 |
+
<show_in_store>1</show_in_store>
|
1895 |
+
</flyBackSpeed>
|
1896 |
+
<flyBackTransition>
|
1897 |
+
<label>flyBackTransition</label>
|
1898 |
+
<comment><![CDATA[Transition type of the fly back.]]></comment>
|
1899 |
+
<frontend_type>text</frontend_type>
|
1900 |
+
<sort_order>330</sort_order>
|
1901 |
+
<show_in_default>1</show_in_default>
|
1902 |
+
<show_in_website>1</show_in_website>
|
1903 |
+
<show_in_store>1</show_in_store>
|
1904 |
+
</flyBackTransition>
|
1905 |
+
<flyBackOpacity>
|
1906 |
+
<label>flyBackOpacity</label>
|
1907 |
+
<comment><![CDATA[Final opacity of fly back.]]></comment>
|
1908 |
+
<frontend_type>text</frontend_type>
|
1909 |
+
<sort_order>340</sort_order>
|
1910 |
+
<show_in_default>1</show_in_default>
|
1911 |
+
<show_in_website>1</show_in_website>
|
1912 |
+
<show_in_store>1</show_in_store>
|
1913 |
+
</flyBackOpacity>
|
1914 |
+
<autoScroll>
|
1915 |
+
<label>autoScroll</label>
|
1916 |
+
<comment><![CDATA[Scroll page when clicked on the thumb and the mouse over preview image
|
1917 |
+
is not fully visible.]]></comment>
|
1918 |
+
<frontend_type>select</frontend_type>
|
1919 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1920 |
+
<sort_order>350</sort_order>
|
1921 |
+
<show_in_default>1</show_in_default>
|
1922 |
+
<show_in_website>1</show_in_website>
|
1923 |
+
<show_in_store>1</show_in_store>
|
1924 |
+
</autoScroll>
|
1925 |
+
<smoothMove>
|
1926 |
+
<label>smoothMove</label>
|
1927 |
+
<comment><![CDATA[Integer bigger than 1 indicates smoother movements. Set 0 to disable.]]></comment>
|
1928 |
+
<frontend_type>text</frontend_type>
|
1929 |
+
<sort_order>360</sort_order>
|
1930 |
+
<show_in_default>1</show_in_default>
|
1931 |
+
<show_in_website>1</show_in_website>
|
1932 |
+
<show_in_store>1</show_in_store>
|
1933 |
+
</smoothMove>
|
1934 |
+
<tint>
|
1935 |
+
<label>tint</label>
|
1936 |
+
<comment><![CDATA[Color value around the lens or false.]]></comment>
|
1937 |
+
<frontend_type>text</frontend_type>
|
1938 |
+
<sort_order>370</sort_order>
|
1939 |
+
<show_in_default>1</show_in_default>
|
1940 |
+
<show_in_website>1</show_in_website>
|
1941 |
+
<show_in_store>1</show_in_store>
|
1942 |
+
</tint>
|
1943 |
+
<tintOpacity>
|
1944 |
+
<label>tintOpacity</label>
|
1945 |
+
<comment><![CDATA[Opacity of the area around the lens when "tint" option is set to some color value.]]></comment>
|
1946 |
+
<frontend_type>text</frontend_type>
|
1947 |
+
<sort_order>380</sort_order>
|
1948 |
+
<show_in_default>1</show_in_default>
|
1949 |
+
<show_in_website>1</show_in_website>
|
1950 |
+
<show_in_store>1</show_in_store>
|
1951 |
+
</tintOpacity>
|
1952 |
+
<tintFilter>
|
1953 |
+
<label>tintFilter</label>
|
1954 |
+
<comment><![CDATA[Apply filter to the image,
|
1955 |
+
e.g. "blur", "grayscale", "sepia", "lighten", "darken", "invert", "saturate";
|
1956 |
+
see also .axZm_mouseOverEffect>img CSS.]]></comment>
|
1957 |
+
<frontend_type>text</frontend_type>
|
1958 |
+
<sort_order>390</sort_order>
|
1959 |
+
<show_in_default>1</show_in_default>
|
1960 |
+
<show_in_website>1</show_in_website>
|
1961 |
+
<show_in_store>1</show_in_store>
|
1962 |
+
</tintFilter>
|
1963 |
+
<tintFilterBack>
|
1964 |
+
<label>tintFilterBack</label>
|
1965 |
+
<comment><![CDATA[Background-color if some "tintFilter" is enabled, e.g. #FFF]]></comment>
|
1966 |
+
<frontend_type>text</frontend_type>
|
1967 |
+
<sort_order>400</sort_order>
|
1968 |
+
<show_in_default>1</show_in_default>
|
1969 |
+
<show_in_website>1</show_in_website>
|
1970 |
+
<show_in_store>1</show_in_store>
|
1971 |
+
</tintFilterBack>
|
1972 |
+
<tintLensBack>
|
1973 |
+
<label>tintLensBack</label>
|
1974 |
+
<comment><![CDATA[Show background image in the lens.]]></comment>
|
1975 |
+
<frontend_type>select</frontend_type>
|
1976 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1977 |
+
<sort_order>410</sort_order>
|
1978 |
+
<show_in_default>1</show_in_default>
|
1979 |
+
<show_in_website>1</show_in_website>
|
1980 |
+
<show_in_store>1</show_in_store>
|
1981 |
+
</tintLensBack>
|
1982 |
+
<showTitle>
|
1983 |
+
<label>showTitle</label>
|
1984 |
+
<comment><![CDATA[Enable / disable title on zoom window]]></comment>
|
1985 |
+
<frontend_type>select</frontend_type>
|
1986 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
1987 |
+
<sort_order>420</sort_order>
|
1988 |
+
<show_in_default>1</show_in_default>
|
1989 |
+
<show_in_website>1</show_in_website>
|
1990 |
+
<show_in_store>1</show_in_store>
|
1991 |
+
</showTitle>
|
1992 |
+
<titlePosition>
|
1993 |
+
<label>titlePosition</label>
|
1994 |
+
<comment><![CDATA[Position of the title, possible values are: 'top', 'bottom' or 'above'.]]></comment>
|
1995 |
+
<frontend_type>select</frontend_type>
|
1996 |
+
<source_model>axzoom/azsettings::titlePosition</source_model>
|
1997 |
+
<sort_order>430</sort_order>
|
1998 |
+
<show_in_default>1</show_in_default>
|
1999 |
+
<show_in_website>1</show_in_website>
|
2000 |
+
<show_in_store>1</show_in_store>
|
2001 |
+
</titlePosition>
|
2002 |
+
<titleParentContainer>
|
2003 |
+
<label>titleParentContainer</label>
|
2004 |
+
<comment><![CDATA[jQuery selector, e.g. #abc_title,
|
2005 |
+
as parent container for title other than inside the lense,
|
2006 |
+
can be anywhere.]]></comment>
|
2007 |
+
<frontend_type>text</frontend_type>
|
2008 |
+
<sort_order>440</sort_order>
|
2009 |
+
<show_in_default>1</show_in_default>
|
2010 |
+
<show_in_website>1</show_in_website>
|
2011 |
+
<show_in_store>1</show_in_store>
|
2012 |
+
</titleParentContainer>
|
2013 |
+
<titlePermanent>
|
2014 |
+
<label>titlePermanent</label>
|
2015 |
+
<comment><![CDATA[When "titleParentContainer" is defined, title (text) will be set after loading /
|
2016 |
+
switch of the image.]]></comment>
|
2017 |
+
<frontend_type>select</frontend_type>
|
2018 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
2019 |
+
<sort_order>450</sort_order>
|
2020 |
+
<show_in_default>1</show_in_default>
|
2021 |
+
<show_in_website>1</show_in_website>
|
2022 |
+
<show_in_store>1</show_in_store>
|
2023 |
+
</titlePermanent>
|
2024 |
+
<cursorPositionX>
|
2025 |
+
<label>cursorPositionX</label>
|
2026 |
+
<comment><![CDATA[Cursor over lens horizontal offset, 0.5 is middle]]></comment>
|
2027 |
+
<frontend_type>text</frontend_type>
|
2028 |
+
<sort_order>460</sort_order>
|
2029 |
+
<show_in_default>1</show_in_default>
|
2030 |
+
<show_in_website>1</show_in_website>
|
2031 |
+
<show_in_store>1</show_in_store>
|
2032 |
+
</cursorPositionX>
|
2033 |
+
<cursorPositionY>
|
2034 |
+
<label>cursorPositionY</label>
|
2035 |
+
<comment><![CDATA[Cursor over lens vertical offset, 0.5 is middle.]]></comment>
|
2036 |
+
<frontend_type>text</frontend_type>
|
2037 |
+
<sort_order>470</sort_order>
|
2038 |
+
<show_in_default>1</show_in_default>
|
2039 |
+
<show_in_website>1</show_in_website>
|
2040 |
+
<show_in_store>1</show_in_store>
|
2041 |
+
</cursorPositionY>
|
2042 |
+
<loading>
|
2043 |
+
<label>loading</label>
|
2044 |
+
<comment><![CDATA[Display loading information, CSS class: .mouseOverLoading;
|
2045 |
+
See also "spinner" option.]]></comment>
|
2046 |
+
<frontend_type>select</frontend_type>
|
2047 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
2048 |
+
<sort_order>480</sort_order>
|
2049 |
+
<show_in_default>1</show_in_default>
|
2050 |
+
<show_in_website>1</show_in_website>
|
2051 |
+
<show_in_store>1</show_in_store>
|
2052 |
+
</loading>
|
2053 |
+
<loadingMessage>
|
2054 |
+
<label>loadingMessage</label>
|
2055 |
+
<comment><![CDATA[
|
2056 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
2057 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
2058 |
+
Loading message, not needed, can be just the "spinner" - see below.
|
2059 |
+
]]></comment>
|
2060 |
+
<frontend_type>textarea</frontend_type>
|
2061 |
+
<sort_order>490</sort_order>
|
2062 |
+
<show_in_default>1</show_in_default>
|
2063 |
+
<show_in_website>1</show_in_website>
|
2064 |
+
<show_in_store>1</show_in_store>
|
2065 |
+
</loadingMessage>
|
2066 |
+
<zoomHintEnable>
|
2067 |
+
<label>zoomHintEnable</label>
|
2068 |
+
<comment><![CDATA[Enable zoom icon which disappears on mouse hover;
|
2069 |
+
CSS class: .axZm_mouseOverZoomHint;
|
2070 |
+
if you want to change the position or the icon simply modify the CSS class;]]></comment>
|
2071 |
+
<frontend_type>select</frontend_type>
|
2072 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
2073 |
+
<sort_order>500</sort_order>
|
2074 |
+
<show_in_default>1</show_in_default>
|
2075 |
+
<show_in_website>1</show_in_website>
|
2076 |
+
<show_in_store>1</show_in_store>
|
2077 |
+
</zoomHintEnable>
|
2078 |
+
<zoomHintText>
|
2079 |
+
<label>zoomHintText</label>
|
2080 |
+
<comment><![CDATA[
|
2081 |
+
<div class="validation-advice">Attention: you are editing JavaScript object!
|
2082 |
+
Errors will lead to AJAX-ZOOM not working properly.</div>
|
2083 |
+
Text which will be appended next to the icon enabled by "zoomHintEnable".
|
2084 |
+
For more than one language define a js object,
|
2085 |
+
e.g. {"en": "english text", "de": "german text"}
|
2086 |
+
]]></comment>
|
2087 |
+
<frontend_type>textarea</frontend_type>
|
2088 |
+
<sort_order>510</sort_order>
|
2089 |
+
<show_in_default>1</show_in_default>
|
2090 |
+
<show_in_website>1</show_in_website>
|
2091 |
+
<show_in_store>1</show_in_store>
|
2092 |
+
</zoomHintText>
|
2093 |
+
<zoomMsgHover>
|
2094 |
+
<label>zoomMsgHover</label>
|
2095 |
+
<comment><![CDATA[Message which can appear under the mouse over zoom, CSS class: .axZm_mouseOverZoomMsg;
|
2096 |
+
For more than one language define a js object,
|
2097 |
+
e.g. {"en": "english text", "de": "german text"}]]></comment>
|
2098 |
+
<frontend_type>textarea</frontend_type>
|
2099 |
+
<sort_order>520</sort_order>
|
2100 |
+
<show_in_default>1</show_in_default>
|
2101 |
+
<show_in_website>1</show_in_website>
|
2102 |
+
<show_in_store>1</show_in_store>
|
2103 |
+
</zoomMsgHover>
|
2104 |
+
<zoomMsgHoverTouch>
|
2105 |
+
<label>zoomMsgHoverTouch</label>
|
2106 |
+
<comment><![CDATA[Message which can appear under the mouse over zoom for touch devices,
|
2107 |
+
CSS class: .axZm_mouseOverZoomMsg;
|
2108 |
+
For more than one language define a js object,
|
2109 |
+
e.g. {"en": "english text", "de": "german text"}]]></comment>
|
2110 |
+
<frontend_type>textarea</frontend_type>
|
2111 |
+
<sort_order>530</sort_order>
|
2112 |
+
<show_in_default>1</show_in_default>
|
2113 |
+
<show_in_website>1</show_in_website>
|
2114 |
+
<show_in_store>1</show_in_store>
|
2115 |
+
</zoomMsgHoverTouch>
|
2116 |
+
<zoomMsgClick>
|
2117 |
+
<label>zoomMsgClick</label>
|
2118 |
+
<comment><![CDATA[Message which can appear under the mouse over zoom when the mouse enters it,
|
2119 |
+
CSS class: .axZm_mouseOverZoomMsg;
|
2120 |
+
For more than one language define a js object,
|
2121 |
+
e.g. {"en": "english text", "de": "german text"}]]></comment>
|
2122 |
+
<frontend_type>textarea</frontend_type>
|
2123 |
+
<sort_order>540</sort_order>
|
2124 |
+
<show_in_default>1</show_in_default>
|
2125 |
+
<show_in_website>1</show_in_website>
|
2126 |
+
<show_in_store>1</show_in_store>
|
2127 |
+
</zoomMsgClick>
|
2128 |
+
<slideInTime>
|
2129 |
+
<label>slideInTime</label>
|
2130 |
+
<comment><![CDATA[Slide in time if "noMouseOverZoom" is enabled
|
2131 |
+
or "touchScroll" option enables for touch devices.]]></comment>
|
2132 |
+
<frontend_type>text</frontend_type>
|
2133 |
+
<sort_order>550</sort_order>
|
2134 |
+
<show_in_default>1</show_in_default>
|
2135 |
+
<show_in_website>1</show_in_website>
|
2136 |
+
<show_in_store>1</show_in_store>
|
2137 |
+
</slideInTime>
|
2138 |
+
<slideInEasingCSS3>
|
2139 |
+
<label>slideInEasingCSS3</label>
|
2140 |
+
<comment><![CDATA[jQuery equivalent of easing or own function (string),
|
2141 |
+
e.g. "cubic-bezier(0.21,0.51,0.4,2.02)", see also cubic-bezier.com]]></comment>
|
2142 |
+
<frontend_type>text</frontend_type>
|
2143 |
+
<sort_order>560</sort_order>
|
2144 |
+
<show_in_default>1</show_in_default>
|
2145 |
+
<show_in_website>1</show_in_website>
|
2146 |
+
<show_in_store>1</show_in_store>
|
2147 |
+
</slideInEasingCSS3>
|
2148 |
+
<slideInEasing>
|
2149 |
+
<label>slideInEasing</label>
|
2150 |
+
<comment><![CDATA[jQuery easing function for sliding in (fallback if CSS3 animation is not supported).]]></comment>
|
2151 |
+
<frontend_type>text</frontend_type>
|
2152 |
+
<sort_order>570</sort_order>
|
2153 |
+
<show_in_default>1</show_in_default>
|
2154 |
+
<show_in_website>1</show_in_website>
|
2155 |
+
<show_in_store>1</show_in_store>
|
2156 |
+
</slideInEasing>
|
2157 |
+
<slideInScale>
|
2158 |
+
<label>slideInScale</label>
|
2159 |
+
<comment><![CDATA[Scale initial size (goes eventually to 1.0 while animation).]]></comment>
|
2160 |
+
<frontend_type>text</frontend_type>
|
2161 |
+
<sort_order>580</sort_order>
|
2162 |
+
<show_in_default>1</show_in_default>
|
2163 |
+
<show_in_website>1</show_in_website>
|
2164 |
+
<show_in_store>1</show_in_store>
|
2165 |
+
</slideInScale>
|
2166 |
+
<slideOutScale>
|
2167 |
+
<label>slideOutScale</label>
|
2168 |
+
<comment><![CDATA[Scale slideout size.]]></comment>
|
2169 |
+
<frontend_type>text</frontend_type>
|
2170 |
+
<sort_order>590</sort_order>
|
2171 |
+
<show_in_default>1</show_in_default>
|
2172 |
+
<show_in_website>1</show_in_website>
|
2173 |
+
<show_in_store>1</show_in_store>
|
2174 |
+
</slideOutScale>
|
2175 |
+
<slideOutOpacity>
|
2176 |
+
<label>slideOutOpacity</label>
|
2177 |
+
<comment><![CDATA[Slideout opacity.]]></comment>
|
2178 |
+
<frontend_type>text</frontend_type>
|
2179 |
+
<sort_order>600</sort_order>
|
2180 |
+
<show_in_default>1</show_in_default>
|
2181 |
+
<show_in_website>1</show_in_website>
|
2182 |
+
<show_in_store>1</show_in_store>
|
2183 |
+
</slideOutOpacity>
|
2184 |
+
<slideOutDest>
|
2185 |
+
<label>slideOutDest</label>
|
2186 |
+
<comment><![CDATA[Target slideout position, possible values: 1, 2, 3 or 4;]]></comment>
|
2187 |
+
<frontend_type>select</frontend_type>
|
2188 |
+
<source_model>axzoom/azsettings::slideOutDest</source_model>
|
2189 |
+
<sort_order>610</sort_order>
|
2190 |
+
<show_in_default>1</show_in_default>
|
2191 |
+
<show_in_website>1</show_in_website>
|
2192 |
+
<show_in_store>1</show_in_store>
|
2193 |
+
</slideOutDest>
|
2194 |
+
<onInit>
|
2195 |
+
<label>onInit</label>
|
2196 |
+
<comment><![CDATA[Callback JS function or reference ot it.]]></comment>
|
2197 |
+
<frontend_type>textarea</frontend_type>
|
2198 |
+
<sort_order>620</sort_order>
|
2199 |
+
<show_in_default>1</show_in_default>
|
2200 |
+
<show_in_website>1</show_in_website>
|
2201 |
+
<show_in_store>1</show_in_store>
|
2202 |
+
</onInit>
|
2203 |
+
<onLoad>
|
2204 |
+
<label>onLoad</label>
|
2205 |
+
<comment><![CDATA[Callback JS function or reference ot it.]]></comment>
|
2206 |
+
<frontend_type>textarea</frontend_type>
|
2207 |
+
<sort_order>630</sort_order>
|
2208 |
+
<show_in_default>1</show_in_default>
|
2209 |
+
<show_in_website>1</show_in_website>
|
2210 |
+
<show_in_store>1</show_in_store>
|
2211 |
+
</onLoad>
|
2212 |
+
<onImageChange>
|
2213 |
+
<label>onImageChange</label>
|
2214 |
+
<comment><![CDATA[Callback JS function or reference ot it.]]></comment>
|
2215 |
+
<frontend_type>textarea</frontend_type>
|
2216 |
+
<sort_order>640</sort_order>
|
2217 |
+
<show_in_default>1</show_in_default>
|
2218 |
+
<show_in_website>1</show_in_website>
|
2219 |
+
<show_in_store>1</show_in_store>
|
2220 |
+
</onImageChange>
|
2221 |
+
<onMouseOver>
|
2222 |
+
<label>onMouseOver</label>
|
2223 |
+
<comment><![CDATA[Callback JS function or reference ot it.]]></comment>
|
2224 |
+
<frontend_type>textarea</frontend_type>
|
2225 |
+
<sort_order>650</sort_order>
|
2226 |
+
<show_in_default>1</show_in_default>
|
2227 |
+
<show_in_website>1</show_in_website>
|
2228 |
+
<show_in_store>1</show_in_store>
|
2229 |
+
</onMouseOver>
|
2230 |
+
<onMouseOut>
|
2231 |
+
<label>onMouseOut</label>
|
2232 |
+
<comment><![CDATA[Callback JS function or reference ot it.]]></comment>
|
2233 |
+
<frontend_type>textarea</frontend_type>
|
2234 |
+
<sort_order>660</sort_order>
|
2235 |
+
<show_in_default>1</show_in_default>
|
2236 |
+
<show_in_website>1</show_in_website>
|
2237 |
+
<show_in_store>1</show_in_store>
|
2238 |
+
</onMouseOut>
|
2239 |
+
<spinner>
|
2240 |
+
<label>spinner</label>
|
2241 |
+
<comment><![CDATA[Use ajax loading spinner without gif files etc.
|
2242 |
+
Set to false to disable.]]></comment>
|
2243 |
+
<frontend_type>select</frontend_type>
|
2244 |
+
<source_model>axzoom/azsettings::yesno</source_model>
|
2245 |
+
<sort_order>670</sort_order>
|
2246 |
+
<show_in_default>1</show_in_default>
|
2247 |
+
<show_in_website>1</show_in_website>
|
2248 |
+
<show_in_store>1</show_in_store>
|
2249 |
+
</spinner>
|
2250 |
+
<spinnerParam>
|
2251 |
+
<label>spinnerParam</label>
|
2252 |
+
<comment><![CDATA[Spinner options, for more info see:
|
2253 |
+
http://fgnass.github.com/spin.js/]]></comment>
|
2254 |
+
<frontend_type>textarea</frontend_type>
|
2255 |
+
<sort_order>680</sort_order>
|
2256 |
+
<show_in_default>1</show_in_default>
|
2257 |
+
<show_in_website>1</show_in_website>
|
2258 |
+
<show_in_store>1</show_in_store>
|
2259 |
+
</spinnerParam>
|
2260 |
+
</fields>
|
2261 |
+
</mouseover>
|
2262 |
+
</groups>
|
2263 |
+
|
2264 |
+
</axzoom_options>
|
2265 |
+
</sections>
|
2266 |
</config>
|
app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php
DELETED
@@ -1,69 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php
|
4 |
-
* Copyright: Copyright (c) 2010-2016 Vadim Jacobi
|
5 |
-
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.2.4
|
7 |
-
* Date: 2016-08-22
|
8 |
-
* Review: 2016-08-22
|
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-2016 AJAX-ZOOM, Vadim Jacobi
|
14 |
-
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
-
*/
|
16 |
-
|
17 |
-
//die('AJAX ZOOM module setup');
|
18 |
-
$install_errors = array();
|
19 |
-
if (!function_exists('ioncube_loader_iversion')) {
|
20 |
-
array_push($install_errors, 'PHP "Ioncube loader" is not installed on this server. Please install this extension before installing AJAX-ZOOM');
|
21 |
-
}
|
22 |
-
|
23 |
-
/*
|
24 |
-
$compiler = Mage::getModel('compiler/process');
|
25 |
-
if ($compiler->getCollectedFilesCount() > 0){
|
26 |
-
if (!empty($install_errors)){
|
27 |
-
array_push($install_errors, 'also please temporary disable compilation mode before installing AJAX-ZOOM and recompile after if needed');
|
28 |
-
}else{
|
29 |
-
array_push($install_errors, 'Please temporary disable compilation mode before installing AJAX-ZOOM and recompile after if needed');
|
30 |
-
}
|
31 |
-
}
|
32 |
-
*/
|
33 |
-
|
34 |
-
if (!empty($install_errors)){
|
35 |
-
array_push($install_errors, 'if you encounter any other issues please check troubleshooting section at http://www.ajax-zoom.com/index.php?cid=modules&module=magento and contact AJAX-ZOOM support at http://www.ajax-zoom.com/index.php?cid=contact ');
|
36 |
-
$all_errors = implode('; ',$install_errors);
|
37 |
-
throw new Exception($all_errors);
|
38 |
-
exit;
|
39 |
-
}else{
|
40 |
-
$installer = $this;
|
41 |
-
$installer->startSetup();
|
42 |
-
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
43 |
-
$installer->run("
|
44 |
-
CREATE TABLE IF NOT EXISTS `".$db_prefix."ajaxzoom360` (`id_360` int(11) NOT NULL AUTO_INCREMENT, `id_product` int(11) NOT NULL, `name` varchar(255) NOT NULL, `num` int(11) NOT NULL DEFAULT '1', `settings` text NOT NULL, `status` tinyint(1) NOT NULL DEFAULT '0', `combinations` text NOT NULL, `crop` text NOT NULL, `hotspot` text NOT NULL, PRIMARY KEY (`id_360`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
|
45 |
-
CREATE TABLE IF NOT EXISTS `".$db_prefix."ajaxzoom360set` (`id_360set` int(11) NOT NULL AUTO_INCREMENT, `id_360` int(11) NOT NULL, `sort_order` int(11) NOT NULL, PRIMARY KEY (`id_360set`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
46 |
-
CREATE TABLE IF NOT EXISTS `".$db_prefix."ajaxzoomproducts` (`id_product` int(11) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
47 |
-
");
|
48 |
-
|
49 |
-
$installer->endSetup();
|
50 |
-
|
51 |
-
$io = new Varien_Io_File();
|
52 |
-
foreach (array('360', 'cache', 'zoomgallery', 'zoommap', 'zoomthumb', 'zoomtiles_80', 'tmp') as $folder) {
|
53 |
-
$io->checkAndCreateFolder(Mage::getBaseDir() . '/js/axzoom/pic/' . $folder);
|
54 |
-
}
|
55 |
-
|
56 |
-
// download axZm if not exists
|
57 |
-
if (!file_exists(Mage::getBaseDir() . '/js/axzoom/axZm') && ini_get('allow_url_fopen') ) {
|
58 |
-
$remoteFileContents = file_get_contents('http://www.ajax-zoom.com/download.php?ver=latest&module=magento');
|
59 |
-
$localFilePath = Mage::getBaseDir() . '/js/axzoom/pic/tmp/jquery.ajaxZoom_ver_latest.zip';
|
60 |
-
if ($remoteFileContents !== false){
|
61 |
-
file_put_contents($localFilePath, $remoteFileContents);
|
62 |
-
$zip = new ZipArchive;
|
63 |
-
$res = $zip->open($localFilePath);
|
64 |
-
$zip->extractTo(Mage::getBaseDir() . '/js/axzoom/pic/tmp/');
|
65 |
-
$zip->close();
|
66 |
-
rename(Mage::getBaseDir() . '/js/axzoom/pic/tmp/axZm', Mage::getBaseDir() . '/js/axzoom/axZm');
|
67 |
-
}
|
68 |
-
}
|
69 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Ax/Zoom/sql/axzoom_setup/install-1.3.0.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/sql/axzoom_setup/install-0.0.1.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
+
*/
|
16 |
+
|
17 |
+
$install_errors = array();
|
18 |
+
if (!function_exists('ioncube_loader_iversion')) {
|
19 |
+
array_push($install_errors, 'PHP "Ioncube loader" is not installed on this server. Please install this extension before installing AJAX-ZOOM');
|
20 |
+
}
|
21 |
+
|
22 |
+
/*
|
23 |
+
$compiler = Mage::getModel('compiler/process');
|
24 |
+
if ($compiler->getCollectedFilesCount() > 0){
|
25 |
+
if (!empty($install_errors)){
|
26 |
+
array_push($install_errors, 'also please temporary disable compilation mode before installing AJAX-ZOOM and recompile after if needed');
|
27 |
+
}else{
|
28 |
+
array_push($install_errors, 'Please temporary disable compilation mode before installing AJAX-ZOOM and recompile after if needed');
|
29 |
+
}
|
30 |
+
}
|
31 |
+
*/
|
32 |
+
|
33 |
+
if (!empty($install_errors)) {
|
34 |
+
array_push($install_errors, 'if you encounter any other issues please check troubleshooting section at http://www.ajax-zoom.com/index.php?cid=modules&module=magento and contact AJAX-ZOOM support at http://www.ajax-zoom.com/index.php?cid=contact ');
|
35 |
+
$all_errors = implode('; ',$install_errors);
|
36 |
+
throw new Exception($all_errors);
|
37 |
+
exit;
|
38 |
+
} else {
|
39 |
+
$installer = $this;
|
40 |
+
$installer->startSetup();
|
41 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
42 |
+
|
43 |
+
$installer->run("
|
44 |
+
CREATE TABLE IF NOT EXISTS `".$db_prefix."ajaxzoom360` (`id_360` int(11) NOT NULL AUTO_INCREMENT, `id_product` int(11) NOT NULL, `name` varchar(255) NOT NULL, `num` int(11) NOT NULL DEFAULT '1', `settings` text NOT NULL, `status` tinyint(1) NOT NULL DEFAULT '0', `combinations` text NOT NULL, `crop` text NOT NULL, `hotspot` text NOT NULL, PRIMARY KEY (`id_360`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
|
45 |
+
CREATE TABLE IF NOT EXISTS `".$db_prefix."ajaxzoom360set` (`id_360set` int(11) NOT NULL AUTO_INCREMENT, `id_360` int(11) NOT NULL, `sort_order` int(11) NOT NULL, PRIMARY KEY (`id_360set`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
46 |
+
CREATE TABLE IF NOT EXISTS `".$db_prefix."ajaxzoomproducts` (`id_product` int(11) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
47 |
+
");
|
48 |
+
|
49 |
+
$installer->endSetup();
|
50 |
+
|
51 |
+
$io = new Varien_Io_File();
|
52 |
+
foreach (array('360', 'cache', 'zoomgallery', 'zoommap', 'zoomthumb', 'zoomtiles_80', 'tmp') as $folder) {
|
53 |
+
$io->checkAndCreateFolder(Mage::getBaseDir() . '/js/axzoom/pic/' . $folder);
|
54 |
+
}
|
55 |
+
|
56 |
+
// download axZm if not exists
|
57 |
+
if (!file_exists(Mage::getBaseDir() . '/js/axzoom/axZm') && ini_get('allow_url_fopen') ) {
|
58 |
+
$remoteFileContents = file_get_contents('http://www.ajax-zoom.com/download.php?ver=latest&module=magento');
|
59 |
+
$localFilePath = Mage::getBaseDir() . '/js/axzoom/pic/tmp/jquery.ajaxZoom_ver_latest.zip';
|
60 |
+
if ($remoteFileContents !== false){
|
61 |
+
file_put_contents($localFilePath, $remoteFileContents);
|
62 |
+
$zip = new ZipArchive;
|
63 |
+
$res = $zip->open($localFilePath);
|
64 |
+
$zip->extractTo(Mage::getBaseDir() . '/js/axzoom/pic/tmp/');
|
65 |
+
$zip->close();
|
66 |
+
rename(Mage::getBaseDir() . '/js/axzoom/pic/tmp/axZm', Mage::getBaseDir() . '/js/axzoom/axZm');
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
app/code/local/Ax/Zoom/sql/axzoom_setup/upgrade-1.2.4-1.3.0.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Module: jQuery AJAX-ZOOM for Magento, /app/code/local/Ax/Zoom/sql/axzoom_setup/upgrade-1.2.4-1.3.0.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
+
*/
|
16 |
+
|
17 |
+
$installer = $this;
|
18 |
+
$installer->startSetup();
|
19 |
+
$db_prefix = (string)Mage::getConfig()->getTablePrefix();
|
20 |
+
|
21 |
+
$installer->run("
|
22 |
+
DELETE FROM `".$db_prefix."core_config_data` WHERE `path` LIKE 'axzoom_options/%' AND `path` != 'axzoom_options/license/lic'
|
23 |
+
");
|
24 |
+
|
25 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/axzoom.xml
CHANGED
@@ -2,45 +2,41 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/layout/axzoom.xml
|
5 |
-
* Copyright: Copyright (c) 2010-
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
-
* Version: 1.
|
8 |
-
* Date:
|
9 |
-
* Review:
|
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-
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
18 |
<layout>
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
<action method="addItem">
|
27 |
-
|
28 |
-
|
29 |
</action>
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
-->
|
43 |
-
|
44 |
-
</reference>
|
45 |
-
</adminhtml_catalog_product_edit>
|
46 |
</layout>
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/layout/axzoom.xml
|
5 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
+
* Version: 1.3.0
|
8 |
+
* Date: 2017-06-25
|
9 |
+
* Review: 2017-06-25
|
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-2017 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 |
+
<action method="addJs"><script>axzoom/axZm/plugins/jquery.scrollTo.min.js</script></action>
|
33 |
+
|
34 |
+
<!-- Fileupload for 360 images -->
|
35 |
+
<action method="addJs"><script>axzoom/jquery.ui.widget.min.js</script></action>
|
36 |
+
<action method="addJs"><script>axzoom/jquery.fileupload.js</script></action>
|
37 |
+
<action method="addJs"><script>axzoom/jquery.fileupload-process.js</script></action>
|
38 |
+
<action method="addJs"><script>axzoom/jquery.fileupload-validate.js</script></action>
|
39 |
+
|
40 |
+
</reference>
|
41 |
+
</adminhtml_catalog_product_edit>
|
|
|
|
|
|
|
|
|
42 |
</layout>
|
app/design/adminhtml/default/default/template/axzoom/tab.phtml
CHANGED
@@ -1,51 +1,51 @@
|
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab.phtml
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
17 |
|
18 |
<script type="text/javascript">
|
19 |
-
function showSuccessMessage(message)
|
20 |
-
{
|
21 |
-
|
22 |
-
}
|
23 |
|
24 |
-
function doAdminAjax360(url, data, success_func, error_func)
|
25 |
-
{
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
}
|
49 |
</script>
|
50 |
|
51 |
<?php $productId = (int)Mage::app()->getRequest()->getParam('id'); ?>
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab.phtml
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 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 |
+
{
|
21 |
+
//console.log(message);
|
22 |
+
}
|
23 |
|
24 |
+
function doAdminAjax360(url, data, success_func, error_func)
|
25 |
+
{
|
26 |
+
jQuery.ajax(
|
27 |
+
{
|
28 |
+
url : url,
|
29 |
+
data : data,
|
30 |
+
type : 'GET',
|
31 |
+
success : function(data){
|
32 |
+
if (success_func)
|
33 |
+
return success_func(data);
|
34 |
|
35 |
+
data = jQuery.parseJSON(data);
|
36 |
+
if (data.confirmations.length != 0)
|
37 |
+
showSuccessMessage(data.confirmations);
|
38 |
+
else
|
39 |
+
showErrorMessage(data.error);
|
40 |
+
},
|
41 |
+
error : function(data){
|
42 |
+
if (error_func)
|
43 |
+
return error_func(data);
|
44 |
|
45 |
+
alert("[TECHNICAL ERROR]");
|
46 |
+
}
|
47 |
+
});
|
48 |
+
}
|
49 |
</script>
|
50 |
|
51 |
<?php $productId = (int)Mage::app()->getRequest()->getParam('id'); ?>
|
app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
@@ -228,7 +228,7 @@ $conf = Mage::getStoreConfig('axzoom_options');
|
|
228 |
var mediaPathTmp = '<?php $mageUrl = parse_url(Mage::getBaseUrl('media')); echo $mageUrl['path'];?>tmp/catalog/product';
|
229 |
|
230 |
jQuery(document).ready(function($){
|
231 |
-
<?php if ($conf['
|
232 |
setInterval(function(){
|
233 |
$('tr td:first-child','#media_gallery_content_list').each(function(){
|
234 |
var el = $(this);
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-sets.phtml
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
228 |
var mediaPathTmp = '<?php $mageUrl = parse_url(Mage::getBaseUrl('media')); echo $mageUrl['path'];?>tmp/catalog/product';
|
229 |
|
230 |
jQuery(document).ready(function($){
|
231 |
+
<?php if ($conf['plugin_settings']['magentoAdminThumb'] == 'true'): ?>
|
232 |
setInterval(function(){
|
233 |
$('tr td:first-child','#media_gallery_content_list').each(function(){
|
234 |
var el = $(this);
|
app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
@@ -24,301 +24,298 @@ $active = !Mage::getModel('axzoom/axproducts')->getCollection()->addFieldToFilte
|
|
24 |
$associated = array();
|
25 |
$product = Mage::getModel('catalog/product')->load($productId);
|
26 |
if ($product->isConfigurable()) {
|
27 |
-
|
28 |
-
->getUsedProducts(null,$product);
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
}
|
35 |
?>
|
36 |
<style type="text/css">
|
37 |
-
.pull-right {
|
38 |
-
|
39 |
-
}
|
40 |
-
#pairRows input,
|
41 |
-
|
42 |
-
|
|
|
43 |
|
44 |
-
#pairRows textarea{
|
45 |
-
|
46 |
-
}
|
47 |
|
48 |
-
#pairRows td:nth-child(3){
|
49 |
-
|
50 |
-
}
|
51 |
|
52 |
-
.link_add_option{
|
53 |
-
|
54 |
-
}
|
55 |
|
56 |
</style>
|
57 |
<?php
|
58 |
if (!function_exists('ioncube_loader_iversion')) {
|
59 |
-
?>
|
60 |
-
<div class="entry-edit">
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
</div>
|
70 |
-
<?php
|
71 |
}
|
72 |
?>
|
73 |
<div class="entry-edit">
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
</div>
|
96 |
|
97 |
<div class="entry-edit">
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
<?php foreach ($associated as $id => $name): ?>
|
177 |
-
<input type="checkbox" name="combinations[]" value="<?php echo $id ?>" class="settings-combinations"> <?php echo $name ?><br>
|
178 |
-
<?php endforeach; ?>
|
179 |
-
|
180 |
-
<div class="" style="display: block; margin-top: 10px;">
|
181 |
-
<?php echo $this->__('Here you can define if this 360 should be bind to associated products.') ?>
|
182 |
-
<?php echo $this->__('If you do not select any this 360 will be shown in all associated products.') ?>
|
183 |
-
</div>
|
184 |
-
</td>
|
185 |
-
</tr>
|
186 |
-
<?php endif; ?>
|
187 |
-
</tbody>
|
188 |
-
</table>
|
189 |
-
</div>
|
190 |
-
</div>
|
191 |
-
</div>
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
|
194 |
<script type="text/javascript">
|
195 |
-
jQuery(function ($) {
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
} );
|
323 |
-
});
|
324 |
</script>
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360-settings.phtml
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
24 |
$associated = array();
|
25 |
$product = Mage::getModel('catalog/product')->load($productId);
|
26 |
if ($product->isConfigurable()) {
|
27 |
+
$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null,$product);
|
|
|
28 |
|
29 |
+
foreach ($childProducts as $child) {
|
30 |
+
$p = Mage::getModel('catalog/product')->load($child->getId());
|
31 |
+
$associated[$child->getId()] = $p->getName() . ' (' . $child->getSku() . ')';
|
32 |
+
}
|
33 |
}
|
34 |
?>
|
35 |
<style type="text/css">
|
36 |
+
.pull-right {
|
37 |
+
float: right;
|
38 |
+
}
|
39 |
+
#pairRows input,
|
40 |
+
#pairRows textarea {
|
41 |
+
margin-bottom: 3px;
|
42 |
+
}
|
43 |
|
44 |
+
#pairRows textarea {
|
45 |
+
resize: vertical;
|
46 |
+
}
|
47 |
|
48 |
+
#pairRows td:nth-child(3) {
|
49 |
+
padding-right: 10px;
|
50 |
+
}
|
51 |
|
52 |
+
.link_add_option {
|
53 |
+
margin-top: 5px;
|
54 |
+
}
|
55 |
|
56 |
</style>
|
57 |
<?php
|
58 |
if (!function_exists('ioncube_loader_iversion')) {
|
59 |
+
?>
|
60 |
+
<div class="entry-edit">
|
61 |
+
<div class="entry-edit-head">
|
62 |
+
<h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Error') ?></h4>
|
63 |
+
</div>
|
64 |
+
<div class="fieldset fieldset-wide" id="group_fields9">
|
65 |
+
<div class="hor-scroll">
|
66 |
+
<div style="padding: 5px; border: 1px solid red; background-color: #FFFFFF;"><?php echo $this->__('PHP "Ioncube loader" is not installed on this server. Please install this extension!') ?></div>
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
<?php
|
71 |
}
|
72 |
?>
|
73 |
<div class="entry-edit">
|
74 |
+
<div class="entry-edit-head">
|
75 |
+
<h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('Enable / Disable AJAX-ZOOM for this product') ?></h4>
|
76 |
+
</div>
|
77 |
+
<div class="fieldset fieldset-wide" id="group_fields9">
|
78 |
+
<div class="hor-scroll">
|
79 |
+
<table cellspacing="0" class="form-list" cellspacing="0">
|
80 |
+
<tbody>
|
81 |
+
<tr>
|
82 |
+
<td class="label"><label for="meta_title"><?php echo $this->__('AJAX ZOOM enabled for this product\'s detail view') ?></label></td>
|
83 |
+
<td class="value">
|
84 |
+
<input type="radio" name="az_active" id="az_active_on" value="1" <?php if($active == 1):?>checked="checked"<?php endif ?>/>
|
85 |
+
<label class="t" for="az_active_on"><?php echo $this->__('Yes') ?></label>
|
86 |
+
<input type="radio" name="az_active" id="az_active_off" value="0" <?php if($active == 0):?>checked="checked"<?php endif ?>/>
|
87 |
+
<label class="t" for="az_active_off"><?php echo $this->__('No') ?></label>
|
88 |
+
</td>
|
89 |
+
<td class="scope-label"><span class="nobr"></span></td>
|
90 |
+
</tr>
|
91 |
+
</tbody>
|
92 |
+
</table>
|
93 |
+
</div>
|
94 |
+
</div>
|
95 |
</div>
|
96 |
|
97 |
<div class="entry-edit">
|
98 |
+
<div class="entry-edit-head">
|
99 |
+
<h4 class="icon-head head-edit-form fieldset-legend"><?php echo $this->__('SETTINGS FOR EXISTING 360/3D') ?></h4>
|
100 |
+
</div>
|
101 |
+
<div class="fieldset fieldset-wide" id="group_fields9">
|
102 |
+
<div class="hor-scroll">
|
103 |
+
<table cellspacing="0" class="form-list" cellspacing="0">
|
104 |
+
<tbody>
|
105 |
+
<tr>
|
106 |
+
<td class="label"><label for="meta_title"><?php echo $this->__('360/3D View') ?></label></td>
|
107 |
+
<td class="value">
|
108 |
+
<?php foreach ($groups as $group): ?>
|
109 |
+
<input type="hidden" name="settings[<?php echo $group['id_360'] ?>]" id="settings_<?php echo $group['id_360'] ?>" value="<?php echo urlencode($group['settings']) ?>">
|
110 |
+
<input type="hidden" name="comb[<?php echo $group['id_360'] ?>]" id="settings_comb_<?php echo $group['id_360'] ?>" value="<?php echo urlencode($group['combinations']) ?>">
|
111 |
+
|
112 |
+
<?php endforeach; ?>
|
113 |
+
<select id="id_360" name="id_360" style="min-width: 100px">
|
114 |
+
<option value=""><?php echo $this->__('Select') ?></option>
|
115 |
+
<?php foreach ($groups as $group): ?>
|
116 |
+
<option value="<?php echo $group['id_360']; ?>" data-settings="<?php echo urlencode($group['settings']) ?>" data-combinations="[<?php echo urlencode($group['combinations']) ?>]"><?php echo $group['name'] ?></option>
|
117 |
+
<?php endforeach; ?>
|
118 |
+
</select>
|
119 |
+
</td>
|
120 |
+
<td class="scope-label"><span class="nobr"></span></td>
|
121 |
+
</tr>
|
122 |
+
<tr id="pairs" style="display:none;">
|
123 |
+
<td class="label"><label for="meta_title"><?php echo $this->__('Settings') ?></label></td>
|
124 |
+
<td class="value">
|
125 |
+
<table cellspacing="0">
|
126 |
+
<thead>
|
127 |
+
<tr>
|
128 |
+
<th><?php echo $this->__('Name') ?></th>
|
129 |
+
<th></th>
|
130 |
+
<th style="width: 220px"><?php echo $this->__('Value') ?></th>
|
131 |
+
<th></th>
|
132 |
+
</tr>
|
133 |
+
</thead>
|
134 |
+
<tbody id="pairRows">
|
135 |
+
</tbody>
|
136 |
+
<tfoot>
|
137 |
+
<tr>
|
138 |
+
<td colspan="4">
|
139 |
+
<div class="row_">
|
140 |
+
<button class="scalable add link_add_option">
|
141 |
+
<span><span><span><?php echo $this->__('Add an option'); ?></span></span></span>
|
142 |
+
</button>
|
143 |
+
</div>
|
144 |
+
<p class="note">
|
145 |
+
<?php echo $this->__('AJAX-ZOOM has several hundreds options. Most of them can be set dynamically over JS and here, some need to be set in the config file. The most important are already listed above but you can add more if needed! For more options directly related to 360 please refere to AJAX-ZOOM documentation.'); ?>
|
146 |
+
</p>
|
147 |
+
</td>
|
148 |
+
</tr>
|
149 |
+
</tfoot>
|
150 |
+
</table>
|
151 |
+
<table id="pairTemplate" style="display: none" cellspacing="0">
|
152 |
+
<tr>
|
153 |
+
<td><input type="text" name="name[]" value="name_placeholder" class="pair-names"></td>
|
154 |
+
<td> : </td>
|
155 |
+
<td><input type="text" name="value[]" value="value_placeholder" class="pair-values"></td>
|
156 |
+
<td>
|
157 |
+
<a class="link_textarea_option" href="#">
|
158 |
+
<?php echo $this->__('Edit') ?>
|
159 |
+
</a>
|
160 |
+
|
161 |
+
<a class="link_remove_option" href="#">
|
162 |
+
<?php echo $this->__('Delete') ?>
|
163 |
+
</a>
|
164 |
+
</td>
|
165 |
+
</tr>
|
166 |
+
</table>
|
167 |
+
</td>
|
168 |
+
</tr>
|
169 |
+
|
170 |
+
<?php if (count($associated)): ?>
|
171 |
+
<tr id="comb" style="display:none;">
|
172 |
+
<td class="label"><label for="meta_title"><?php echo $this->__('Associated products') ?></label></td>
|
173 |
+
<td class="value">
|
174 |
+
<button class="comb-check-all" style="margin-bottom: 10px;" value="check all" >check all</button><br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
|
176 |
+
<?php foreach ($associated as $id => $name): ?>
|
177 |
+
<input type="checkbox" name="combinations[]" value="<?php echo $id ?>" class="settings-combinations"> <?php echo $name ?><br>
|
178 |
+
<?php endforeach; ?>
|
179 |
+
|
180 |
+
<div class="" style="display: block; margin-top: 10px;">
|
181 |
+
<?php echo $this->__('Here you can define if this 360 should be bind to associated products.') ?>
|
182 |
+
<?php echo $this->__('If you do not select any this 360 will be shown in all associated products.') ?>
|
183 |
+
</div>
|
184 |
+
</td>
|
185 |
+
</tr>
|
186 |
+
<?php endif; ?>
|
187 |
+
</tbody>
|
188 |
+
</table>
|
189 |
+
</div>
|
190 |
+
</div>
|
191 |
+
</div>
|
192 |
|
193 |
<script type="text/javascript">
|
194 |
+
jQuery(function ($) {
|
195 |
+
|
196 |
+
function pairLine(name, value) {
|
197 |
+
var line = $("#pairTemplate").html();
|
198 |
+
line = line.replace(/name_placeholder/g, name);
|
199 |
+
line = line.replace(/value_placeholder/g, value);
|
200 |
+
line = line.replace(/<tbody>/gi, "");
|
201 |
+
line = line.replace(/<\/tbody>/gi, "");
|
202 |
+
$("#pairRows").append(line);
|
203 |
+
}
|
204 |
+
|
205 |
+
function afterSaveSettings(data) {
|
206 |
+
var data = $.parseJSON(data);
|
207 |
+
|
208 |
+
$('#id_360').replaceWith(data.select);
|
209 |
+
$('#pairs').hide();
|
210 |
+
$('#comb').hide();
|
211 |
+
$('select#id_360').val('');
|
212 |
+
showSuccessMessage(data.confirmations);
|
213 |
+
}
|
214 |
+
|
215 |
+
function getFieldValues(class1) {
|
216 |
+
var inputs = document.getElementsByClassName( class1 );
|
217 |
+
var res = [];
|
218 |
+
for (var i = 0; i < inputs.length; i++) {
|
219 |
+
res.push(inputs[i].value);
|
220 |
+
};
|
221 |
+
return res;
|
222 |
+
}
|
223 |
+
|
224 |
+
function setPairString() {
|
225 |
+
var names = getFieldValues('pair-names');
|
226 |
+
var values = getFieldValues('pair-values');
|
227 |
+
var res = {};
|
228 |
+
for (var i = 0; i < names.length; i++) {
|
229 |
+
if(names[i] == 'name_placeholder') continue;
|
230 |
+
res[names[i]] = values[i];
|
231 |
+
};
|
232 |
+
|
233 |
+
$('#settings_' + $('select#id_360').val()).val(encodeURIComponent(JSON.stringify(res)));
|
234 |
+
}
|
235 |
+
|
236 |
+
function setComb() {
|
237 |
+
|
238 |
+
var values = [];
|
239 |
+
$('.settings-combinations:checked').each(function () {
|
240 |
+
values.push($(this).val());
|
241 |
+
});
|
242 |
+
|
243 |
+
$('#settings_comb_' + $('select#id_360').val()).val(encodeURIComponent(JSON.stringify(values)));
|
244 |
+
}
|
245 |
+
|
246 |
+
$('.pair-names, .pair-values').die()
|
247 |
+
.live('change', function(e) {
|
248 |
+
setPairString();
|
249 |
+
} );
|
250 |
+
|
251 |
+
$('.settings-combinations').die()
|
252 |
+
.live('change', function(e) {
|
253 |
+
setComb();
|
254 |
+
} );
|
255 |
+
|
256 |
+
$('.link_add_option').click(function (e) {
|
257 |
+
e.preventDefault();
|
258 |
+
pairLine('', '');
|
259 |
+
} );
|
260 |
+
|
261 |
+
$('.link_remove_option').die()
|
262 |
+
.live('click', function(e) {
|
263 |
+
e.preventDefault();
|
264 |
+
$(this).parent().parent().remove();
|
265 |
+
setPairString();
|
266 |
+
} );
|
267 |
+
|
268 |
+
$('.link_textarea_option').die()
|
269 |
+
.live('click', function(e) {
|
270 |
+
e.preventDefault();
|
271 |
+
var td = $(this).parent().prev();
|
272 |
+
if ($('input', td).length == 1) {
|
273 |
+
var Val = $('input', td).val();
|
274 |
+
$('input', td).replaceWith('<textarea class="pair-values" type="text" name="value[]">'+Val+'</textarea>');
|
275 |
+
} else if ($('textarea', td).length == 1) {
|
276 |
+
var Val = $('textarea', td).val();
|
277 |
+
$('textarea', td).replaceWith('<input class="pair-values" type="text" value="'+Val+'" name="value[]">');
|
278 |
+
}
|
279 |
+
} );
|
280 |
+
|
281 |
+
$('select#id_360').die().live('change', function(e) {
|
282 |
+
|
283 |
+
$('#pairRows').html('');
|
284 |
+
|
285 |
+
if ($(this).val() != '') {
|
286 |
+
|
287 |
+
// set pairs name:value
|
288 |
+
var settings = $.parseJSON(unescape($('option:selected', $(this)).attr('data-settings')));
|
289 |
+
for(var k in settings) {
|
290 |
+
pairLine(k, settings[k])
|
291 |
+
}
|
292 |
+
|
293 |
+
// set combinations checkboxes
|
294 |
+
var combinations = $.parseJSON(unescape($('option:selected', $(this)).attr('data-combinations')))[0];
|
295 |
+
|
296 |
+
$('input.settings-combinations').attr('checked', false);
|
297 |
+
if (combinations && combinations.length) {
|
298 |
+
for (var i = combinations.length - 1; i >= 0; i--) {
|
299 |
+
$('input.settings-combinations[value=' + combinations[i] + ']').attr('checked', true);
|
300 |
+
};
|
301 |
+
}
|
302 |
+
|
303 |
+
$('#pairs').show();
|
304 |
+
$('#comb').show();
|
305 |
+
} else {
|
306 |
+
$('#pairs').hide();
|
307 |
+
$('#comb').hide();
|
308 |
+
}
|
309 |
+
});
|
310 |
+
|
311 |
+
$('.comb-check-all:button').toggle(function() {
|
312 |
+
$('input.settings-combinations').attr('checked','checked');
|
313 |
+
$(this).val('uncheck all');
|
314 |
+
setComb();
|
315 |
+
} ,function() {
|
316 |
+
$('input.settings-combinations').removeAttr('checked');
|
317 |
+
$(this).val('check all');
|
318 |
+
setComb();
|
319 |
+
} );
|
320 |
+
});
|
|
|
|
|
321 |
</script>
|
app/design/adminhtml/default/default/template/axzoom/tab360.phtml
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360.phtml
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/tab360.phtml
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
app/design/adminhtml/default/default/template/axzoom/uploader.phtml
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/uploader.phtml
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
@@ -38,71 +38,71 @@ function return_bytes($val) {
|
|
38 |
?>
|
39 |
|
40 |
<style type="text/css">
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
</style>
|
77 |
|
78 |
<div class="form-group clear">
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
</div>
|
95 |
<div class="well" style="display:none">
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
</div>
|
101 |
<div class="row" style="display:none">
|
102 |
-
|
103 |
</div>
|
104 |
<div class="row" style="display:none">
|
105 |
-
|
106 |
</div>
|
107 |
|
108 |
<script type="text/javascript">
|
1 |
<!--
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/adminhtml/default/default/template/axzoom/uploader.phtml
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
-->
|
38 |
?>
|
39 |
|
40 |
<style type="text/css">
|
41 |
+
.file-row_az {
|
42 |
+
background-color: #fff;
|
43 |
+
border: 1px solid #ccc;
|
44 |
+
margin: 0.5em 0 0.5em 0;
|
45 |
+
padding: 0.5em 0.6em;
|
46 |
+
}
|
47 |
+
|
48 |
+
#file360-upload-button {
|
49 |
+
margin-bottom: 10px;
|
50 |
+
}
|
51 |
+
|
52 |
+
#file360-upload-button span {
|
53 |
+
padding-left: 20px;
|
54 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAflBMVEUAAADo6Ojs7Ozs7Ozv7+/n5+f19fX39/f19fX5+fnw8PD4+Pj5+fn6+vr7+/v7+/v7+/v6+vr6+vr8/Pz8/Pz8/Pz6+vr8/Pz7+/v8/Pz8/Pz9/f39/f39/f39/f39/f38/Pz9/f3+/v78/Pz+/v7+/v7+/v7+/v7+/v7///8NhBGQAAAAKXRSTlMAAgIEBAgMDhIcHh4mNjhGSlhgfH6Bh4mTl5+rrbHDzdPV19/n7/P3/SZ462sAAABbSURBVHjajYhHCoAwAARj7733Xvb/HzQEjXoRB5ZlhvzG9d7ubLv/dGMGFvt2tQNl1C4XajAa8Qx62y/AOg0W4ZRARe8jZEDBJaSTTFOmF7CQK5yUhSjhxOQHBxDGB7f22f/1AAAAAElFTkSuQmCC);
|
55 |
+
background-repeat: no-repeat;
|
56 |
+
}
|
57 |
+
|
58 |
+
#file360-files-list .file-row_az button>span {
|
59 |
+
padding-left: 20px;
|
60 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAVFBMVEUAAAD////s7Oz4+Pj29vbt7e339/f09PT4+Pj4+Pj4+Pj5+fn6+vr7+/v6+vr5+fn9/f38/Pz8/Pz8/Pz8/Pz7+/v9/f39/f38/Pz8/Pz8/Pz////7AOp8AAAAG3RSTlMAAhomKCwwOEZITFRUVmh2eoOHjY+Vmaevs8vqUEvPAAAASklEQVR4AaXIRw6AMAwEQNN7dyjs//9JFFYWN5CY48hHJbxWKFXd4R2qeYgKppEgMnLrTxoYE7Ya6FY4iyUGkvFfuAwo5kcQ48UFs6wJErHwwLUAAAAASUVORK5CYII=);
|
61 |
+
background-repeat: no-repeat;
|
62 |
+
}
|
63 |
+
|
64 |
+
.btn_cancel span {
|
65 |
+
padding-left: 20px;
|
66 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA+ElEQVQoz4XRzy5DQRQH4FOJSrpvqok9a7HlHYQgEhYa7yEa+hQ8Ak/hT6RB4xHsJG57y01IxGcxtxcbZjYzv/kyZ3KmJv4eU9WqFYcxiNd4i4c4jnaVS3PdCLkL13LkttJJOl71gRN1IdTty3zanICmocyTwqLJjQueDc0mcICOFe8ezVVkD90E7o3VhV3caJSgbuwugTdXZdjDmVq5u1QkULgso5pz9CqQJ3BblgihoY+d3yW66FSPm/Po3bIODhKYNZSZr8iSwpPMUHPSqA2fMvumhTDjFB/WvjsZto2Ru9I3xsjGz1aH0NYz8KIwcKQ1yWv/ffcXQSMlGp3SsFgAAAAASUVORK5CYII=);
|
67 |
+
background-repeat: no-repeat;
|
68 |
+
}
|
69 |
+
|
70 |
+
.noteUpload_az {
|
71 |
+
background: rgba(0, 0, 0, 0) url("images/note_bg.gif") no-repeat scroll 1px 6px;
|
72 |
+
font-size: 11px;
|
73 |
+
margin: 0;
|
74 |
+
padding: 0 0 0 13px;
|
75 |
+
}
|
76 |
</style>
|
77 |
|
78 |
<div class="form-group clear">
|
79 |
+
<div class="col-lg-12">
|
80 |
+
|
81 |
+
<button class="btn btn-default" data-style="expand-right" data-size="s" type="button" id="<?php echo $id ?>-add-button">
|
82 |
+
<i class="icon-folder-open"></i> <span><?php echo $this->__('Select local images to add...') ?></span>
|
83 |
+
</button>
|
84 |
+
<button class="btn_cancel" style="margin-left: 5px"><span><?php echo $this->__('Cancel') ?></span></button>
|
85 |
+
<input id="<?php echo $id ?>" type="file" name="<?php echo $name ?>[]" data-url="<?php echo $url ?>" multiple="multiple" style="width:0px;height:0px;" />
|
86 |
+
|
87 |
+
<div class="form-list">
|
88 |
+
<p class="note" style="margin-bottom: 15px">
|
89 |
+
<?php echo $this->__('Add new image(s) to this image set. '); ?>
|
90 |
+
<?php echo $this->__('Format: JPG, GIF, PNG. Filesize: %s MB max (for each image)', intval($maxImageSize)); ?>
|
91 |
+
</p>
|
92 |
+
</div>
|
93 |
+
</div>
|
94 |
</div>
|
95 |
<div class="well" style="display:none">
|
96 |
+
<div id="<?php echo $id ?>-files-list"></div>
|
97 |
+
<button class="ladda-button btn btn-primary" data-style="expand-right" type="button" id="<?php echo $id ?>-upload-button" style="display:none;">
|
98 |
+
<span class="ladda-label"><i class="icon-check"></i> <?php echo $this->__('Upload files') ?></span>
|
99 |
+
</button>
|
100 |
</div>
|
101 |
<div class="row" style="display:none">
|
102 |
+
<div class="alert alert-success" id="<?php echo $id ?>-success"></div>
|
103 |
</div>
|
104 |
<div class="row" style="display:none">
|
105 |
+
<div class="alert alert-danger" id="<?php echo $id ?>-errors"></div>
|
106 |
</div>
|
107 |
|
108 |
<script type="text/javascript">
|
app/design/frontend/base/default/layout/axzoom.xml
CHANGED
@@ -2,97 +2,94 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/base/default/layout/axzoom.xml
|
5 |
-
* Copyright: Copyright (c) 2010-
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
-
* Version: 1.
|
8 |
-
* Date:
|
9 |
-
* Review:
|
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-
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
18 |
-
<layout version="
|
19 |
<catalog_product_view>
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
|
29 |
<reference name="head">
|
30 |
-
<action method="addJs">
|
31 |
-
|
32 |
-
</action>
|
33 |
-
<action method="addItem">
|
34 |
-
<type>js_css</type>
|
35 |
-
<name>axzoom/axZm/axZm.css</name>
|
36 |
</action>
|
37 |
-
<action method="
|
38 |
-
|
|
|
39 |
</action>
|
40 |
-
<action ifconfig="axzoom_options/
|
41 |
-
|
42 |
</action>
|
43 |
-
<action ifconfig="axzoom_options/
|
44 |
-
|
45 |
-
<name>axzoom/axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css</name>
|
46 |
</action>
|
47 |
-
<action ifconfig="axzoom_options/
|
48 |
-
|
|
|
49 |
</action>
|
50 |
-
<action ifconfig="axzoom_options/
|
51 |
-
|
52 |
</action>
|
53 |
-
<action method="
|
54 |
-
|
55 |
-
<name>axzoom/axZm/extensions/jquery.axZm.expButton.css</name>
|
56 |
</action>
|
57 |
-
<action method="
|
58 |
-
|
|
|
59 |
</action>
|
60 |
-
<action method="addJs">
|
61 |
-
|
62 |
</action>
|
63 |
-
<action method="
|
64 |
-
|
65 |
-
<name>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.4.css</name>
|
66 |
</action>
|
67 |
-
<action method="addItem">
|
68 |
-
|
69 |
-
|
70 |
</action>
|
71 |
-
<action method="addJs">
|
72 |
-
|
73 |
</action>
|
74 |
-
<action method="addJs">
|
75 |
-
|
76 |
</action>
|
77 |
-
<action method="addItem">
|
78 |
-
|
79 |
<file helper="axzoom/Head/getFancyboxCss" />
|
80 |
</action>
|
81 |
-
<action method="addJs">
|
82 |
<file helper="axzoom/Head/getFancyboxJS" />
|
83 |
</action>
|
84 |
-
<action method="addJs">
|
85 |
<file helper="axzoom/Head/getFancyboxJSAX" />
|
86 |
</action>
|
87 |
-
<action method="
|
88 |
-
<
|
89 |
-
<file helper="axzoom/Head/getColorboxCss" />
|
90 |
</action>
|
91 |
-
<action method="
|
92 |
-
<
|
|
|
93 |
</action>
|
94 |
-
<action method="
|
95 |
-
|
|
|
96 |
</action>
|
97 |
</reference>
|
98 |
</catalog_product_view>
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/base/default/layout/axzoom.xml
|
5 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
+
* Version: 1.3.0
|
8 |
+
* Date: 2017-06-25
|
9 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
18 |
+
<layout version="1.3.0">
|
19 |
<catalog_product_view>
|
20 |
+
|
21 |
+
<!--
|
22 |
+
<reference name="product.info.media">
|
23 |
+
<action method="setTemplate">
|
24 |
+
<template>ax_zoom/catalog/product/view/media.phtml</template>
|
25 |
+
</action>
|
26 |
+
</reference>
|
27 |
+
-->
|
28 |
|
29 |
<reference name="head">
|
30 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
31 |
+
<script>axzoom/check_jquery.js</script>
|
|
|
|
|
|
|
|
|
32 |
</action>
|
33 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
34 |
+
<type>js_css</type>
|
35 |
+
<name>axzoom/axZm/axZm.css</name>
|
36 |
</action>
|
37 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
38 |
+
<script>axzoom/axZm/jquery.axZm.js</script>
|
39 |
</action>
|
40 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
41 |
+
<script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js</script>
|
|
|
42 |
</action>
|
43 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
44 |
+
<type>js_css</type>
|
45 |
+
<name>axzoom/axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css</name>
|
46 |
</action>
|
47 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
48 |
+
<script>axzoom/axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js</script>
|
49 |
</action>
|
50 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
51 |
+
<file helper="axzoom/Head/getSpinnerJS" />
|
|
|
52 |
</action>
|
53 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
54 |
+
<type>js_css</type>
|
55 |
+
<name>axzoom/axZm/extensions/jquery.axZm.expButton.css</name>
|
56 |
</action>
|
57 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
58 |
+
<script>axzoom/axZm/extensions/jquery.axZm.expButton.js</script>
|
59 |
</action>
|
60 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
61 |
+
<script>axzoom/axZm/extensions/jquery.axZm.imageCropLoad.js</script>
|
|
|
62 |
</action>
|
63 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
64 |
+
<type>js_css</type>
|
65 |
+
<name>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.5.css</name>
|
66 |
</action>
|
67 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
68 |
+
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.5.js</script>
|
69 |
</action>
|
70 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
71 |
+
<script>axzoom/axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.5.js</script>
|
72 |
</action>
|
73 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
74 |
+
<type>js_css</type>
|
75 |
<file helper="axzoom/Head/getFancyboxCss" />
|
76 |
</action>
|
77 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
78 |
<file helper="axzoom/Head/getFancyboxJS" />
|
79 |
</action>
|
80 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
81 |
<file helper="axzoom/Head/getFancyboxJSAX" />
|
82 |
</action>
|
83 |
+
<action method="addJs" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
84 |
+
<script>axzoom/axZm/plugins/JSON/jquery.json-2.3.min.js</script>
|
|
|
85 |
</action>
|
86 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
87 |
+
<type>js_css</type>
|
88 |
+
<name>axzoom/axzoom.css</name>
|
89 |
</action>
|
90 |
+
<action method="addItem" ifconfig="axzoom_options/plugin_settings/enableInFrontDetail">
|
91 |
+
<type>js_css</type>
|
92 |
+
<file helper="axzoom/Head/getPngModeCssFix" />
|
93 |
</action>
|
94 |
</reference>
|
95 |
</catalog_product_view>
|
app/design/frontend/base/default/template/ax_zoom/catalog/product/view/media.phtml
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/base/default/template/ax_zoom/catalog/product/view/media.phtml
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -18,194 +18,158 @@ $_product = $this->getProduct();
|
|
18 |
$productId = $_product->getId();
|
19 |
$ax = Mage::getModel('axzoom/ax360');
|
20 |
$conf = Mage::getStoreConfig('axzoom_options');
|
|
|
21 |
$axZmPath = Mage::getBaseUrl('js') . 'axzoom/axZm/';
|
22 |
$product = Mage::getModel('catalog/product')->load($productId);
|
23 |
$images360Json = $ax->images360Json($productId);
|
24 |
$imagesJsonAll = array();
|
25 |
-
|
26 |
-
$az_gallery_position = $conf['main']['galleryPosition'];
|
27 |
-
if (!$az_gallery_position){$az_gallery_position = 'bottom';}
|
28 |
?>
|
29 |
|
30 |
<script type="text/javascript">
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
</script>
|
35 |
|
36 |
<?php echo !function_exists('ioncube_loader_iversion') ? '<div style="padding: 5px; margin-bottom: 5px; border: 1px solid red">'.$this->__('PHP "Ioncube loader" is not installed on this server. Please install this extension!').'</div>' : '';?>
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
</div>
|
51 |
-
<?php } elseif ($az_gallery_position == 'top') { ?>
|
52 |
-
<!-- AJAX-ZOOM mouseover block gallery top -->
|
53 |
-
<div id="az_mouseOverZoomParent" style="position: relative;">
|
54 |
-
|
55 |
-
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
56 |
-
<div id="az_mouseOverZoomGallery" style="position: relative; margin-bottom: 10px; height: 76px; width: 100%;">
|
57 |
-
<?php echo $this->__('Gallery loading...');?>
|
58 |
-
</div>
|
59 |
-
|
60 |
-
<!-- Container for mouse over image -->
|
61 |
-
<div id="az_mouseOverZoomContainer" style="position: relative; background-color: #FFFFFF; border: #AAA 1px solid;">
|
62 |
-
<?php echo '<div style="margin: 5px;">'.$this->__('Mouseover Zoom loading...').'</div>';?>
|
63 |
-
</div>
|
64 |
-
</div>
|
65 |
-
<?php } elseif ($az_gallery_position == 'left') { ?>
|
66 |
-
<!-- AJAX-ZOOM mouseover block gallery left -->
|
67 |
-
<div id="az_mouseOverZoomParent" style="position: relative; width: 100%; margin-bottom: 20px;">
|
68 |
-
|
69 |
-
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
70 |
-
<div id="az_mouseOverZoomGallery" style="position: absolute; margin-top: 0; width: 72px; z-index: 1; height: 100%;">
|
71 |
-
<?php echo $this->__('Gallery loading...');?>
|
72 |
-
</div>
|
73 |
-
|
74 |
-
<!-- Parent container for offset to the left or right -->
|
75 |
-
<div id="az_mouseOverZoomContainerParentGalleryLeft" style="margin-left: 80px; min-height: 100px;">
|
76 |
-
|
77 |
-
<!-- Container for mouse over image -->
|
78 |
-
<div id="az_mouseOverZoomContainer" style="position: relative; border: #AAA 1px solid; background-color: #FFFFFF; padding: 0;">
|
79 |
-
<?php echo '<div style="margin: 5px;">'.$this->__('Mouseover Zoom loading...').'</div>';?>
|
80 |
-
</div>
|
81 |
-
</div>
|
82 |
-
</div>
|
83 |
-
<?php } elseif ($az_gallery_position == 'right') { ?>
|
84 |
-
<!-- AJAX-ZOOM mouseover block gallery right -->
|
85 |
-
<div id="az_mouseOverZoomParent" style="position: relative; width: 100%; margin-bottom: 20px;">
|
86 |
-
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
87 |
-
<div id="az_mouseOverZoomGallery" style="position: absolute; margin-top: 0; right: 0; width: 72px; z-index: 1; height: 100%;">
|
88 |
-
<?php echo $this->__('Gallery loading...');?>
|
89 |
-
</div>
|
90 |
-
|
91 |
-
<!-- Parent container for offset to the left or right -->
|
92 |
-
<div id="az_mouseOverZoomContainerParentGalleryRight" style="margin-right: 80px; min-height: 100px;">
|
93 |
-
|
94 |
-
<!-- Container for mouse over image -->
|
95 |
-
<div id="az_mouseOverZoomContainer" style="position: relative; border: #AAA 1px solid; background-color: #FFFFFF; padding: 0;">
|
96 |
-
<?php echo '<div style="margin: 5px;">'.$this->__('Mouseover Zoom loading...').'</div>';?>
|
97 |
-
</div>
|
98 |
-
</div>
|
99 |
-
</div>
|
100 |
-
|
101 |
-
<?php } ?>
|
102 |
|
103 |
<?php
|
104 |
// 360 assigned from configurable products to Simple products
|
105 |
$map = array();
|
106 |
if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData()) {
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
}
|
119 |
|
120 |
// all attributes map
|
121 |
$mapAttributesCodeId = array();
|
122 |
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
|
123 |
-
foreach ($attributes as $attribute){
|
124 |
-
|
125 |
}
|
126 |
$mapAttributesIdCode = array_flip($mapAttributesCodeId);
|
127 |
|
128 |
// get configurable options
|
129 |
if ($product->type_id == 'configurable') {
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
}
|
136 |
|
137 |
// get associated products
|
138 |
$res = array();
|
139 |
if ($product->isConfigurable()) {
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
|
|
|
|
|
|
|
|
|
|
209 |
}
|
210 |
|
211 |
// Prepare json for AJAX-ZOOM
|
@@ -215,41 +179,36 @@ $imagesJsonAll = array_unique($imagesJsonAll);
|
|
215 |
|
216 |
// Some images present
|
217 |
if (count($this->getGalleryImages()) > 0) {
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
if ($image_url = $this->helper('catalog/image')->init($product, 'image')) {
|
246 |
-
$tmp = parse_url($image_url);
|
247 |
-
array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
|
248 |
-
}
|
249 |
}
|
250 |
|
251 |
-
|
252 |
-
echo $this->getChildHtml('after');
|
253 |
?>
|
254 |
|
255 |
<!-- AJAX-ZOOM js block -->
|
@@ -257,304 +216,163 @@ echo $this->getChildHtml('after');
|
|
257 |
/*!
|
258 |
* Module: jQuery AJAX-ZOOM for Magento
|
259 |
* Info: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
260 |
-
* @copyright 2010-
|
261 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
262 |
*/
|
263 |
|
264 |
-
;(function($){
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
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 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
titlePosition: AJAXZOOM_MOUSEOVERZOOMPARAM_TITLEPOSITION,
|
418 |
-
cursorPositionX: AJAXZOOM_MOUSEOVERZOOMPARAM_CURSORPOSITIONX,
|
419 |
-
cursorPositionY: AJAXZOOM_MOUSEOVERZOOMPARAM_CURSORPOSITIONY,
|
420 |
-
loading: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADING,
|
421 |
-
loadingMessage: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGMESSAGE,
|
422 |
-
loadingWidth: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGWIDTH,
|
423 |
-
loadingHeight: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGHEIGHT,
|
424 |
-
loadingOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_LOADINGOPACITY,
|
425 |
-
zoomHintEnable: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMHINTENABLE,
|
426 |
-
zoomHintText: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMHINTTEXT,
|
427 |
-
zoomMsgHover: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGHOVER,
|
428 |
-
zoomMsgClick: AJAXZOOM_MOUSEOVERZOOMPARAM_ZOOMMSGCLICK,
|
429 |
-
slideInTime: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINTIME,
|
430 |
-
slideInEasingCSS3: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINEASINGCSS3,
|
431 |
-
slideInEasing: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINEASING,
|
432 |
-
slideInScale:AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEINSCALE,
|
433 |
-
slideOutScale: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEOUTSCALE,
|
434 |
-
slideOutOpacity: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEOUTOPACITY,
|
435 |
-
slideOutDest: AJAXZOOM_MOUSEOVERZOOMPARAM_SLIDEOUTDEST,
|
436 |
-
onInit: AJAXZOOM_MOUSEOVERZOOMPARAM_ONINIT,
|
437 |
-
onLoad: AJAXZOOM_MOUSEOVERZOOMPARAM_ONLOAD,
|
438 |
-
onImageChange: AJAXZOOM_MOUSEOVERZOOMPARAM_ONIMAGECHANGE,
|
439 |
-
onMouseOver: AJAXZOOM_MOUSEOVERZOOMPARAM_ONMOUSEOVER,
|
440 |
-
onMouseOut: AJAXZOOM_MOUSEOVERZOOMPARAM_ONMOUSEOUT,
|
441 |
-
spinner: AJAXZOOM_MOUSEOVERZOOMPARAM_SPINNER,
|
442 |
-
spinnerParam: AJAXZOOM_MOUSEOVERZOOMPARAM_SPINNERPARAM
|
443 |
-
}
|
444 |
-
};
|
445 |
-
|
446 |
-
// Swatches
|
447 |
-
var resetAxZoom = function() {
|
448 |
-
if (JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON}) == IMAGES_AND_360_LOADED) {
|
449 |
-
return;
|
450 |
-
}
|
451 |
-
|
452 |
-
IMAGES_AND_360_LOADED = JSON.stringify({images: IMAGES_JSON, images360: IMAGES_360_JSON});
|
453 |
-
jQuery.mouseOverZoomInit.replaceImages( {
|
454 |
-
divID: AJAXZOOM_MAIN_DIVID,
|
455 |
-
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
456 |
-
images: IMAGES_JSON,
|
457 |
-
images360: IMAGES_360_JSON
|
458 |
-
});
|
459 |
-
};
|
460 |
-
|
461 |
-
// Change values
|
462 |
-
var updateAxZoomAction = function(idxSel, checkout) {
|
463 |
-
//JSON.stringify(obj1) === JSON.stringify(obj2)
|
464 |
-
if ( (jQuery.isPlainObject(idxSel.images) && !jQuery.isEmptyObject(idxSel.images) )
|
465 |
-
|| (jQuery.isPlainObject(idxSel.images360) && !jQuery.isEmptyObject(idxSel.images360) )) {
|
466 |
-
|
467 |
-
if (JSON.stringify({images: idxSel.images, images360: idxSel.images360}) == IMAGES_AND_360_LOADED){
|
468 |
-
return;
|
469 |
-
}
|
470 |
-
|
471 |
-
IMAGES_AND_360_LOADED = JSON.stringify({images: idxSel.images, images360: idxSel.images360});
|
472 |
-
|
473 |
-
if (checkout){
|
474 |
-
zoomParams.images = idxSel.images;
|
475 |
-
zoomParams.images360 = idxSel.images360;
|
476 |
-
jQuery.mouseOverZoomInit(zoomParams);
|
477 |
-
} else {
|
478 |
-
jQuery.mouseOverZoomInit.replaceImages( {
|
479 |
-
divID: AJAXZOOM_MAIN_DIVID,
|
480 |
-
galleryDivID: AJAXZOOM_MAIN_GALLERYDIVID,
|
481 |
-
images: idxSel.images,
|
482 |
-
images360: idxSel.images360
|
483 |
-
} );
|
484 |
-
}
|
485 |
-
} else { // show initial images
|
486 |
-
resetAxZoom();
|
487 |
-
}
|
488 |
-
};
|
489 |
-
|
490 |
-
var updateAxZoom = function(e, check) {
|
491 |
-
var obj = jQuery(this);
|
492 |
-
var requestSet = function() {
|
493 |
-
if (!spConfig){
|
494 |
-
return;
|
495 |
-
}
|
496 |
-
|
497 |
-
if((!check && e && e.type == 'change' && obj.val() == '')) {
|
498 |
-
resetAxZoom();
|
499 |
-
return;
|
500 |
-
}
|
501 |
-
|
502 |
-
var pairs = [];
|
503 |
-
var inWhichObj = (check ? (spConfig.values ? spConfig.values : spConfig.state) : spConfig.state);
|
504 |
-
for (var k in inWhichObj) {
|
505 |
-
if (typeof spConfig.state[k] !== 'function' && typeof spConfig.state[k] !== 'object' && (spConfig.state[k] != false || (spConfig.values && check))) {
|
506 |
-
pairs.push(k + ':' + inWhichObj[k]);
|
507 |
-
}
|
508 |
-
}
|
509 |
-
|
510 |
-
var idx = pairs.join(',');
|
511 |
-
var idxSel = axAssociated[idx];
|
512 |
-
|
513 |
-
if (check) {
|
514 |
-
return idxSel;
|
515 |
-
}
|
516 |
-
|
517 |
-
if (idxSel) {
|
518 |
-
updateAxZoomAction(idxSel);
|
519 |
-
} else {
|
520 |
-
// try to find whatever
|
521 |
-
jQuery.each(axAssociated, function(k, v){
|
522 |
-
if (k.indexOf(idx) != -1){
|
523 |
-
updateAxZoomAction(v);
|
524 |
-
return false;
|
525 |
-
}
|
526 |
-
})
|
527 |
-
}
|
528 |
-
};
|
529 |
-
|
530 |
-
if (check){
|
531 |
-
return requestSet();
|
532 |
-
}else{
|
533 |
-
setTimeout(function(){
|
534 |
-
requestSet();
|
535 |
-
}, 50);
|
536 |
-
}
|
537 |
-
|
538 |
-
};
|
539 |
-
|
540 |
-
// Shortcut for maybe other applications or additional functionality
|
541 |
-
// window.resetAxZoom() will reset AJAX-ZOOM to the state when article is loaded without attribute selection
|
542 |
-
window.resetAxZoom = resetAxZoom;
|
543 |
-
window.updateAxZoom = updateAxZoom;
|
544 |
-
|
545 |
-
// Init AJAX-ZOOM
|
546 |
-
jQuery.mouseOverZoomInit(zoomParams);
|
547 |
-
|
548 |
-
jQuery(document).ready(function() {
|
549 |
-
jQuery('.swatch-label').click(updateAxZoom); // version 1.9.1 or more
|
550 |
-
jQuery('.super-attribute-select').change(updateAxZoom);
|
551 |
-
if (window.spConfig && spConfig.values) {
|
552 |
-
var aaa = window.updateAxZoom(null, true);
|
553 |
-
if (aaa){
|
554 |
-
updateAxZoomAction(aaa);
|
555 |
-
}
|
556 |
-
}
|
557 |
-
});
|
558 |
|
559 |
})(jQuery);
|
560 |
</script>
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /app/design/frontend/base/default/template/ax_zoom/catalog/product/view/media.phtml
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
18 |
$productId = $_product->getId();
|
19 |
$ax = Mage::getModel('axzoom/ax360');
|
20 |
$conf = Mage::getStoreConfig('axzoom_options');
|
21 |
+
$ajaxzoom_initParam = $ax->prepareInitParamFront($conf);
|
22 |
$axZmPath = Mage::getBaseUrl('js') . 'axzoom/axZm/';
|
23 |
$product = Mage::getModel('catalog/product')->load($productId);
|
24 |
$images360Json = $ax->images360Json($productId);
|
25 |
$imagesJsonAll = array();
|
|
|
|
|
|
|
26 |
?>
|
27 |
|
28 |
<script type="text/javascript">
|
29 |
+
// Fallback if catalog_product_view reference name="head" is not loaded
|
30 |
+
var mageAzJsUrl = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS).'axzoom/'; ?>';
|
31 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_fallback.js'%3E%3C/script%3E"));
|
32 |
</script>
|
33 |
|
34 |
<?php echo !function_exists('ioncube_loader_iversion') ? '<div style="padding: 5px; margin-bottom: 5px; border: 1px solid red">'.$this->__('PHP "Ioncube loader" is not installed on this server. Please install this extension!').'</div>' : '';?>
|
35 |
|
36 |
+
<div class="axZm_mouseOverWithGalleryContainer" id="axZm_mouseOverWithGalleryContainer">
|
37 |
+
|
38 |
+
<!-- Parent container for offset to the left or right -->
|
39 |
+
<div class="axZm_mouseOverZoomContainerWrap">
|
40 |
+
|
41 |
+
<!-- Alternative container for title of the images -->
|
42 |
+
<div class="axZm_mouseOverTitleParentAbove"></div>
|
43 |
+
|
44 |
+
<!-- Container for mouse over image -->
|
45 |
+
<div id="<?php echo $conf['general_settings']['divID']; ?>" class="axZm_mouseOverZoomContainer">
|
46 |
+
|
47 |
+
<!-- Optional CSS aspect ratio and message to preserve layout before JS is triggered -->
|
48 |
+
<div class="axZm_mouseOverAspectRatio">
|
49 |
+
<div>
|
50 |
+
<span><?php echo $this->__('Image loading...'); ?></span>
|
51 |
+
</div>
|
52 |
+
</div>
|
53 |
+
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
|
57 |
+
<!-- gallery with thumbs (will be filled with thumbs by javascript) -->
|
58 |
+
<div id="<?php echo $conf['general_settings']['galleryDivID']; ?>" class="axZm_mouseOverGallery"></div>
|
59 |
+
|
60 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
<?php
|
63 |
// 360 assigned from configurable products to Simple products
|
64 |
$map = array();
|
65 |
if ($groups = $ax->getCollection()->addFieldToFilter('id_product', $productId)->getData()) {
|
66 |
+
foreach ($groups as $group) {
|
67 |
+
$comp = Mage::helper('core')->jsonDecode($group['combinations']);
|
68 |
+
if ($comp) {
|
69 |
+
foreach ($comp as $pid) {
|
70 |
+
if (!isset($map[$pid])) {
|
71 |
+
$map[$pid] = array();
|
72 |
+
}
|
73 |
+
array_push($map[$pid], $group['id_360']);
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
}
|
78 |
|
79 |
// all attributes map
|
80 |
$mapAttributesCodeId = array();
|
81 |
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
|
82 |
+
foreach ($attributes as $attribute) {
|
83 |
+
$mapAttributesCodeId[$attribute->getAttributecode()] = $attribute->getId();
|
84 |
}
|
85 |
$mapAttributesIdCode = array_flip($mapAttributesCodeId);
|
86 |
|
87 |
// get configurable options
|
88 |
if ($product->type_id == 'configurable') {
|
89 |
+
$attributesCodes = array();
|
90 |
+
$productAttributesOptions = $product->getTypeInstance(true)->getConfigurableOptions($product);
|
91 |
+
foreach ($productAttributesOptions as $productAttributeId => $productAttributeOption) {
|
92 |
+
$attributesCodes[] = $mapAttributesIdCode[$productAttributeId];
|
93 |
+
}
|
94 |
}
|
95 |
|
96 |
// get associated products
|
97 |
$res = array();
|
98 |
if ($product->isConfigurable()) {
|
99 |
+
$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null, $product);
|
100 |
+
|
101 |
+
foreach ($childProducts as $child) {
|
102 |
+
|
103 |
+
$data = $child->getData();
|
104 |
+
$p = Mage::getModel('catalog/product')->load($data['entity_id']);
|
105 |
+
|
106 |
+
$pairs = array();
|
107 |
+
$labels = array();
|
108 |
+
|
109 |
+
foreach ($attributesCodes as $code) { // $code is e.g. color or size
|
110 |
+
$pairs[] = $mapAttributesCodeId[$code] . ':' . $data[$code]; // generate pairs of attribures
|
111 |
+
$attr = $product->getResource()->getAttribute($code);
|
112 |
+
|
113 |
+
// We need to get default label value and not language value - getAllOptions(false, true) will return default values
|
114 |
+
// http://docs.magentocommerce.com/Mage_Eav/Mage_Eav_Model_Entity_Attribute_Source_Table.html
|
115 |
+
$option_label = $ax->findDefaultLabelValue($attr->getSource()->getAllOptions(false, true), $data[$code]);
|
116 |
+
|
117 |
+
if ($option_label == false) {
|
118 |
+
// This would return language specific values
|
119 |
+
$option_label = $attr->getSource()->getOptionText($data[$code]);
|
120 |
+
}
|
121 |
+
|
122 |
+
array_push($labels, trim($option_label));
|
123 |
+
}
|
124 |
+
|
125 |
+
$idx = implode(',', $pairs);
|
126 |
+
$res[$idx] = array();
|
127 |
+
|
128 |
+
$obj = null;
|
129 |
+
$cnt = 0;
|
130 |
+
|
131 |
+
// add native images
|
132 |
+
foreach ($p->getMediaGalleryImages() as $image) {
|
133 |
+
$tmp = parse_url($image->getUrl());
|
134 |
+
if (!$obj) {
|
135 |
+
$obj = new stdClass;
|
136 |
+
}
|
137 |
+
$params = new stdClass;
|
138 |
+
$params->img = $tmp['path'];
|
139 |
+
array_push($imagesJsonAll, $tmp['path']);
|
140 |
+
$params->title = '';
|
141 |
+
$obj->$cnt = $params;
|
142 |
+
$cnt++;
|
143 |
+
}
|
144 |
+
|
145 |
+
// add related images via labels (images from configurable product)
|
146 |
+
foreach ($product->getMediaGalleryImages() as $image) {
|
147 |
+
if ($image->label_default != '' && in_array(trim($image->label_default), $labels)) {
|
148 |
+
$tmp = parse_url($image->getUrl());
|
149 |
+
if (!$obj) {
|
150 |
+
$obj = new stdClass;
|
151 |
+
}
|
152 |
+
$params = new stdClass;
|
153 |
+
$params->img = $tmp['path'];
|
154 |
+
array_push($imagesJsonAll, $tmp['path']);
|
155 |
+
$params->title = '';
|
156 |
+
$obj->$cnt = $params;
|
157 |
+
$cnt++;
|
158 |
+
} else {
|
159 |
+
$tmp = parse_url($image->getUrl());
|
160 |
+
array_push($imagesJsonAll, $tmp['path']);
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
if ($obj != null) {
|
165 |
+
$res[$idx]['images'] = $obj;
|
166 |
+
} else {
|
167 |
+
$res[$idx]['images'] = new stdClass();
|
168 |
+
}
|
169 |
+
|
170 |
+
$extraGroups = empty($map[$data['entity_id']]) ? array() : $map[$data['entity_id']];
|
171 |
+
$res[$idx]['images360'] = Mage::helper('core')->jsonDecode(str_replace("'", '"', $ax->images360Json($data['entity_id'], $extraGroups)));
|
172 |
+
}
|
173 |
}
|
174 |
|
175 |
// Prepare json for AJAX-ZOOM
|
179 |
|
180 |
// Some images present
|
181 |
if (count($this->getGalleryImages()) > 0) {
|
182 |
+
// 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.
|
183 |
+
// You can change it by setting the radio button "Base Image" under product configuration -> Images
|
184 |
+
if (!($images360Json != '{}' && count($this->getGalleryImages()) == 1 && $product->getImage() == 'no_selection')) {
|
185 |
+
|
186 |
+
// Loop over gallery images
|
187 |
+
foreach ($this->getGalleryImages() as $image) {
|
188 |
+
|
189 |
+
$check_image = false;
|
190 |
+
|
191 |
+
if (method_exists($this, 'isGalleryImageVisible')) {
|
192 |
+
$check_image = $this->isGalleryImageVisible($image);
|
193 |
+
} else {
|
194 |
+
$check_image = true;
|
195 |
+
}
|
196 |
+
|
197 |
+
if ($check_image) {
|
198 |
+
$cnt++;
|
199 |
+
$tmp = parse_url($image->getUrl());
|
200 |
+
array_push($imagesJson, $cnt . ': {img: "' . $tmp['path'] . '", title: ""}');
|
201 |
+
}
|
202 |
+
}
|
203 |
+
}
|
204 |
+
} elseif ($conf['plugin_settings']['magentoNoImage']) { // No images present
|
205 |
+
if ($image_url = $this->helper('catalog/image')->init($product, 'image')) {
|
206 |
+
$tmp = parse_url($image_url);
|
207 |
+
array_push($imagesJson, '1: {img: "' . $tmp['path'] . '", title: ""}');
|
208 |
+
}
|
|
|
|
|
|
|
|
|
209 |
}
|
210 |
|
211 |
+
echo $this->getChildHtml('after');
|
|
|
212 |
?>
|
213 |
|
214 |
<!-- AJAX-ZOOM js block -->
|
216 |
/*!
|
217 |
* Module: jQuery AJAX-ZOOM for Magento
|
218 |
* Info: http://www.ajax-zoom.com/index.php?cid=modules&module=magento
|
219 |
+
* @copyright 2010-2017 AJAX-ZOOM, Vadim Jacobi
|
220 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
221 |
*/
|
222 |
|
223 |
+
;(function($) {
|
224 |
+
|
225 |
+
if (!jQuery.axZm_psh) {
|
226 |
+
jQuery.axZm_psh = { };
|
227 |
+
}
|
228 |
+
|
229 |
+
// Default plain images
|
230 |
+
<?php if ($conf['plugin_settings']['magentoAllImages'] == 'true'){ ?>
|
231 |
+
jQuery.axZm_psh.IMAGES_JSON = <?php echo $ax->imagesJsonAll($imagesJsonAll);?>;
|
232 |
+
<?php } else { ?>
|
233 |
+
jQuery.axZm_psh.IMAGES_JSON = {<?php echo implode(',', $imagesJson); ?>};
|
234 |
+
<?php } ?>
|
235 |
+
|
236 |
+
// Default 360
|
237 |
+
jQuery.axZm_psh.IMAGES_360_JSON = <?php echo $images360Json; ?>;
|
238 |
+
jQuery.axZm_psh.axZmPath = '<?php echo $axZmPath; ?>';
|
239 |
+
jQuery.axZm_psh.shopLang = '<?php echo substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2); ?>';
|
240 |
+
jQuery.axZm_psh.initParam = <?php echo $ajaxzoom_initParam; ?>;
|
241 |
+
jQuery.axZm_psh.divID = jQuery.axZm_psh.initParam.divID;
|
242 |
+
jQuery.axZm_psh.galleryDivID = jQuery.axZm_psh.initParam.galleryDivID;
|
243 |
+
|
244 |
+
// Colors / attributes
|
245 |
+
jQuery.axZm_psh.axAssociated = jQuery.parseJSON('<?php echo Mage::helper('core')->jsonEncode($res); ?>');
|
246 |
+
|
247 |
+
// Need that later for not reloading if images are the same
|
248 |
+
jQuery.axZm_psh.IMAGES_AND_360_LOADED = JSON.stringify({
|
249 |
+
images: jQuery.extend(true, {}, jQuery.axZm_psh.IMAGES_JSON),
|
250 |
+
images360: jQuery.extend(true, {}, jQuery.axZm_psh.IMAGES_360_JSON)
|
251 |
+
});
|
252 |
+
|
253 |
+
// Swatches
|
254 |
+
jQuery.axZm_psh.resetAxZoom = function() {
|
255 |
+
if (JSON.stringify({images: jQuery.axZm_psh.IMAGES_JSON, images360: jQuery.axZm_psh.IMAGES_360_JSON}) == jQuery.axZm_psh.IMAGES_AND_360_LOADED) {
|
256 |
+
return;
|
257 |
+
}
|
258 |
+
|
259 |
+
jQuery.axZm_psh.IMAGES_AND_360_LOADED = JSON.stringify({
|
260 |
+
images: jQuery.axZm_psh.IMAGES_JSON,
|
261 |
+
images360: jQuery.axZm_psh.IMAGES_360_JSON
|
262 |
+
});
|
263 |
+
|
264 |
+
jQuery.mouseOverZoomInit.replaceImages({
|
265 |
+
divID: jQuery.axZm_psh.divID,
|
266 |
+
galleryDivID: jQuery.axZm_psh.galleryDivID,
|
267 |
+
images: jQuery.axZm_psh.IMAGES_JSON,
|
268 |
+
images360: jQuery.axZm_psh.IMAGES_360_JSON
|
269 |
+
});
|
270 |
+
};
|
271 |
+
|
272 |
+
// Change values
|
273 |
+
jQuery.axZm_psh.updateAxZoomAction = function(idxSel, checkout) {
|
274 |
+
if (
|
275 |
+
(jQuery.isPlainObject(idxSel.images) && !jQuery.isEmptyObject(idxSel.images))
|
276 |
+
|| (jQuery.isPlainObject(idxSel.images360) && !jQuery.isEmptyObject(idxSel.images360))
|
277 |
+
) {
|
278 |
+
|
279 |
+
if (JSON.stringify({images: idxSel.images, images360: idxSel.images360}) == jQuery.axZm_psh.IMAGES_AND_360_LOADED) {
|
280 |
+
return;
|
281 |
+
}
|
282 |
+
|
283 |
+
jQuery.axZm_psh.IMAGES_AND_360_LOADED = JSON.stringify({images: idxSel.images, images360: idxSel.images360});
|
284 |
+
|
285 |
+
if (checkout) {
|
286 |
+
jQuery.axZm_psh.initParam.images = idxSel.images;
|
287 |
+
jQuery.axZm_psh.initParam.images360 = idxSel.images360;
|
288 |
+
jQuery.mouseOverZoomInit(jQuery.axZm_psh.initParam);
|
289 |
+
} else {
|
290 |
+
jQuery.mouseOverZoomInit.replaceImages( {
|
291 |
+
divID: jQuery.axZm_psh.divID,
|
292 |
+
galleryDivID: jQuery.axZm_psh.galleryDivID,
|
293 |
+
images: idxSel.images,
|
294 |
+
images360: idxSel.images360
|
295 |
+
});
|
296 |
+
}
|
297 |
+
} else { // show initial images
|
298 |
+
jQuery.axZm_psh.resetAxZoom();
|
299 |
+
}
|
300 |
+
};
|
301 |
+
|
302 |
+
jQuery.axZm_psh.updateAxZoom = function(e, check) {
|
303 |
+
var obj = jQuery(this);
|
304 |
+
var requestSet = function() {
|
305 |
+
if (!spConfig) {
|
306 |
+
return;
|
307 |
+
}
|
308 |
+
|
309 |
+
if (!check && e && e.type == 'change' && obj.val() == '') {
|
310 |
+
jQuery.axZm_psh.resetAxZoom();
|
311 |
+
return;
|
312 |
+
}
|
313 |
+
|
314 |
+
var pairs = [];
|
315 |
+
var inWhichObj = (check ? (spConfig.values ? spConfig.values : spConfig.state) : spConfig.state);
|
316 |
+
for (var k in inWhichObj) {
|
317 |
+
if (
|
318 |
+
typeof spConfig.state[k] !== 'function'
|
319 |
+
&& typeof spConfig.state[k] !== 'object'
|
320 |
+
&& (spConfig.state[k] != false
|
321 |
+
|| (spConfig.values && check))
|
322 |
+
) {
|
323 |
+
pairs.push(k + ':' + inWhichObj[k]);
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
+
var idx = pairs.join(',');
|
328 |
+
var idxSel = jQuery.axZm_psh.axAssociated[idx];
|
329 |
+
|
330 |
+
if (check) {
|
331 |
+
return idxSel;
|
332 |
+
}
|
333 |
+
|
334 |
+
if (idxSel) {
|
335 |
+
jQuery.axZm_psh.updateAxZoomAction(idxSel);
|
336 |
+
} else {
|
337 |
+
// try to find whatever
|
338 |
+
jQuery.each(jQuery.axZm_psh.axAssociated, function(k, v) {
|
339 |
+
if (k.indexOf(idx) != -1) {
|
340 |
+
jQuery.axZm_psh.updateAxZoomAction(v);
|
341 |
+
return false;
|
342 |
+
}
|
343 |
+
})
|
344 |
+
}
|
345 |
+
};
|
346 |
+
|
347 |
+
if (check) {
|
348 |
+
return requestSet();
|
349 |
+
} else {
|
350 |
+
setTimeout(function() {
|
351 |
+
requestSet();
|
352 |
+
}, 50);
|
353 |
+
}
|
354 |
+
|
355 |
+
};
|
356 |
+
|
357 |
+
// Shortcut for maybe other applications or additional functionality
|
358 |
+
// window.resetAxZoom() will reset AJAX-ZOOM to the state when article is loaded without attribute selection
|
359 |
+
window.resetAxZoom = jQuery.axZm_psh.resetAxZoom;
|
360 |
+
window.updateAxZoom = jQuery.axZm_psh.updateAxZoom;
|
361 |
+
|
362 |
+
// Init AJAX-ZOOM
|
363 |
+
jQuery.mouseOverZoomInit(jQuery.axZm_psh.initParam);
|
364 |
+
|
365 |
+
jQuery(document).ready(function() {
|
366 |
+
jQuery('.swatch-label').click(jQuery.axZm_psh.updateAxZoom); // version 1.9.1 or more
|
367 |
+
jQuery('.super-attribute-select').change(jQuery.axZm_psh.updateAxZoom);
|
368 |
+
|
369 |
+
if (window.spConfig && spConfig.values) {
|
370 |
+
var aaa = window.updateAxZoom(null, true);
|
371 |
+
if (aaa) {
|
372 |
+
jQuery.axZm_psh.updateAxZoomAction(aaa);
|
373 |
+
}
|
374 |
+
}
|
375 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
|
377 |
})(jQuery);
|
378 |
</script>
|
app/etc/modules/Ax_Zoom.xml
CHANGED
@@ -2,16 +2,16 @@
|
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/etc/modules/Ax_Zoom.xml
|
5 |
-
* Copyright: Copyright (c) 2010-
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
-
* Version: 1.
|
8 |
-
* Date:
|
9 |
-
* Review:
|
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-
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
2 |
<!--
|
3 |
/**
|
4 |
* Module: jQuery AJAX-ZOOM for Magento, /app/etc/modules/Ax_Zoom.xml
|
5 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
6 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
7 |
+
* Version: 1.3.0
|
8 |
+
* Date: 2017-06-25
|
9 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
15 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
16 |
*/
|
17 |
-->
|
js/axzoom/axzoom.css
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/axzoom.css
|
3 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
4 |
+
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.3.0
|
6 |
+
* Date: 2017-06-25
|
7 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
13 |
+
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
+
*/
|
15 |
+
|
16 |
+
/* Overwrite some css from /axZm/axZm.css */
|
17 |
+
.zFsO {
|
18 |
+
background-color: #FFFFFF;
|
19 |
+
}
|
20 |
+
|
21 |
+
.zFsOResOverlay {
|
22 |
+
background-color: #FFFFFF;
|
23 |
+
}
|
24 |
+
|
25 |
+
#axZmTempLoading {
|
26 |
+
background-image: url('axZm/icons/ajax-loader-bert.gif');
|
27 |
+
background-repeat: no-repeat;
|
28 |
+
background-position: center;
|
29 |
+
background-size: 64px 8px;
|
30 |
+
}
|
31 |
+
|
32 |
+
.axZm_spinPreloaderBar {
|
33 |
+
background-color: #0191ff;
|
34 |
+
background-image: url('axZm/icons/spin_preloader_blue_10x10.png');
|
35 |
+
}
|
36 |
+
|
37 |
+
.axZm_spinPreloaderHolder {
|
38 |
+
background-image: url('axZm/icons/tr_black_50.png');
|
39 |
+
-moz-border-radius: 0px;
|
40 |
+
-webkit-border-radius: 0px;
|
41 |
+
border-radius: 0px;
|
42 |
+
}
|
43 |
+
|
44 |
+
@media screen and (max-width: 770px) {
|
45 |
+
.axZm_mouseOverZoomContainerWrap {
|
46 |
+
border-width: 0;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
#fancybox-wrap {
|
51 |
+
z-index: 2147483646 !important;
|
52 |
+
}
|
53 |
+
|
54 |
+
body>#zFsO {
|
55 |
+
z-index: 2147483646 !important;
|
56 |
+
}
|
js/axzoom/check_fallback.js
CHANGED
@@ -1,44 +1,47 @@
|
|
1 |
/**
|
2 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_fallback.js
|
3 |
-
* Copyright: Copyright (c) 2010-
|
4 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
-
* Version: 1.
|
6 |
-
* Date:
|
7 |
-
* Review:
|
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-
|
13 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
*/
|
15 |
|
16 |
-
if (!window.mageAzJsUrl){
|
|
|
|
|
|
|
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 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
}
|
1 |
/**
|
2 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_fallback.js
|
3 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
4 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.3.0
|
6 |
+
* Date: 2017-06-25
|
7 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
13 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
*/
|
15 |
|
16 |
+
if (!window.mageAzJsUrl){
|
17 |
+
mageAzJsUrl = '/js/axzoom/';
|
18 |
+
}
|
19 |
+
|
20 |
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"check_jquery.js'%3E%3C/script%3E"));
|
21 |
|
22 |
+
if (!jQuery.isFunction(jQuery.mouseOverZoomInit)) {
|
23 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/axZm.css' %3E"));
|
24 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/skins/default/jquery.axZm.thumbSlider.css' %3E"));
|
25 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.5.css' %3E"));
|
26 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/mods/jquery.axZm.mouseOverZoomMagento.5.css' %3E"));
|
27 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/extensions/jquery.axZm.expButton.css' %3E"));
|
28 |
+
|
29 |
+
if (!jQuery.isFunction(jQuery.fancybox)){
|
30 |
+
document.writeln(unescape("%3Clink rel='stylesheet' type='text/css' href='"+mageAzJsUrl+"axZm/plugins/demo/jquery.fancybox/jquery.fancybox-1.3.4.css' %3E"));
|
31 |
+
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"));
|
32 |
+
}
|
33 |
+
|
34 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/jquery.axZm.js'%3E%3C/script%3E"));
|
35 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/lib/jquery.mousewheel.min.js'%3E%3C/script%3E"));
|
36 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmThumbSlider/lib/jquery.axZm.thumbSlider.js'%3E%3C/script%3E"));
|
37 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/spin/spin.min.js'%3E%3C/script%3E"));
|
38 |
+
|
39 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/jquery.axZm.expButton.js'%3E%3C/script%3E"));
|
40 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/jquery.axZm.imageCropLoad.js'%3E%3C/script%3E"));
|
41 |
+
|
42 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoom.5.js'%3E%3C/script%3E"));
|
43 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/axZmMouseOverZoom/jquery.axZm.mouseOverZoomInit.5.js'%3E%3C/script%3E"));
|
44 |
+
|
45 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/extensions/jquery.axZm.openAjaxZoomInFancyBox.js'%3E%3C/script%3E"));
|
46 |
+
document.writeln(unescape("%3Cscript type='text/javascript' src='"+mageAzJsUrl+"axZm/plugins/JSON/jquery.json-2.3.min.js'%3E%3C/script%3E"));
|
47 |
}
|
js/axzoom/check_jquery.js
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
/**
|
2 |
-
* Module: jQuery AJAX-ZOOM for Magento, /js/check_jquery.js
|
3 |
-
* Copyright: Copyright (c) 2010-
|
4 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
-
* Version: 1.
|
6 |
-
* Date:
|
7 |
-
* Review:
|
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-
|
13 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
*/
|
15 |
|
1 |
/**
|
2 |
+
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_jquery.js
|
3 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
4 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.3.0
|
6 |
+
* Date: 2017-06-25
|
7 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
13 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
*/
|
15 |
|
js/axzoom/check_jquery_admin.js
CHANGED
@@ -1,43 +1,43 @@
|
|
1 |
/**
|
2 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_jquery_admin.php
|
3 |
-
* Copyright: Copyright (c) 2010-
|
4 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
-
* Version: 1.
|
6 |
-
* Date:
|
7 |
-
* Review:
|
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-
|
13 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
14 |
*/
|
15 |
|
16 |
;(function(){
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
})();
|
1 |
/**
|
2 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/check_jquery_admin.php
|
3 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
4 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
5 |
+
* Version: 1.3.0
|
6 |
+
* Date: 2017-06-25
|
7 |
+
* Review: 2017-06-25
|
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-2017 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 |
+
} else {
|
40 |
+
// Include jquery-migrate 1.2.1 as it can be missing
|
41 |
+
document.write(unescape("%3Cscript type='text/javascript' src='"+basePath+"js/axzoom/jquery-migrate-1.2.1.min.js'%3E%3C/script%3E"));
|
42 |
+
}
|
43 |
})();
|
js/axzoom/lic.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/lic.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
@@ -18,30 +18,29 @@ $obj = SimpleXML_Load_String(implode('', file(dirname(dirname(dirname(__FILE__))
|
|
18 |
error_reporting(0);
|
19 |
$tmp = array();
|
20 |
|
21 |
-
if (function_exists('mysqli_connect')){
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
}
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
mysql_close($db_connect);
|
35 |
}
|
36 |
|
37 |
-
if (!empty($tmp)){
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
}
|
47 |
?>
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/lic.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
18 |
error_reporting(0);
|
19 |
$tmp = array();
|
20 |
|
21 |
+
if (function_exists('mysqli_connect')) {
|
22 |
+
$mysqli = mysqli_connect(preg_replace('/:[0-9]{1,}$/', '', (string)$obj->global->resources->default_setup->connection->host), (string)$obj->global->resources->default_setup->connection->username, (string)$obj->global->resources->default_setup->connection->password, (string)$obj->global->resources->default_setup->connection->dbname);
|
23 |
+
$data_query = mysqli_query($mysqli, "SELECT `value` FROM `" . (string)$obj->global->resources->db->table_prefix . "core_config_data` WHERE `path` = 'axzoom_options/license/lic'");
|
24 |
+
$data = mysqli_fetch_array($data_query);
|
25 |
+
$tmp = unserialize($data['value']);
|
26 |
+
mysqli_close($mysqli);
|
27 |
+
} elseif (function_exists('mysql_connect')) {
|
28 |
+
$db_connect = mysql_connect(preg_replace('/:[0-9]{1,}$/', '', (string)$obj->global->resources->default_setup->connection->host), (string)$obj->global->resources->default_setup->connection->username, (string)$obj->global->resources->default_setup->connection->password);
|
29 |
+
$db = mysql_select_db((string)$obj->global->resources->default_setup->connection->dbname, $db_connect);
|
30 |
+
$data_query = mysql_query("SELECT `value` FROM `" . (string)$obj->global->resources->db->table_prefix . "core_config_data` WHERE `path` = 'axzoom_options/license/lic'");
|
31 |
+
$data = mysql_fetch_array($data_query);
|
32 |
+
$tmp = unserialize($data['value']);
|
33 |
+
mysql_close($db_connect);
|
|
|
34 |
}
|
35 |
|
36 |
+
if (!empty($tmp)) {
|
37 |
+
foreach ($tmp as $key => $l) {
|
38 |
+
$zoom['config']['licenses'][$l['domain']] = array(
|
39 |
+
'licenceType' => $l['type'],
|
40 |
+
'licenceKey' => $l['license'],
|
41 |
+
'error200' => $l['error200'],
|
42 |
+
'error300' => $l['error300']
|
43 |
+
);
|
44 |
+
}
|
45 |
}
|
46 |
?>
|
js/axzoom/preview/cropeditor.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /jss/axzoom/preview.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /jss/axzoom/preview.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
js/axzoom/preview/hotspoteditor.php
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/preview/hotspoteditor.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/preview/hotspoteditor.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
js/axzoom/preview/index.php
CHANGED
@@ -8,4 +8,3 @@ header('Pragma: no-cache');
|
|
8 |
|
9 |
header('Location: ../');
|
10 |
exit;
|
11 |
-
?>
|
8 |
|
9 |
header('Location: ../');
|
10 |
exit;
|
|
js/axzoom/zoomConfigCustomAZ.inc.php
CHANGED
@@ -1,21 +1,19 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/zoomConfigCustomAZ.inc.php
|
4 |
-
* Copyright: Copyright (c) 2010-
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
-
* Version: 1.
|
7 |
-
* Date:
|
8 |
-
* Review:
|
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-
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
17 |
// You can also place / copy you custom parameters from /js/axzoom/axZm/zoomConfig.inc.php
|
18 |
// or /js/axzoom/zoomConfigCustom.inc.php in this file below this message.
|
19 |
// This way it would be possible to upgrade AJAX-ZOOM by fully overwriting /js/axzoom/axZm/ folder
|
20 |
-
|
21 |
-
?>
|
1 |
<?php
|
2 |
/**
|
3 |
* Module: jQuery AJAX-ZOOM for Magento, /js/axzoom/zoomConfigCustomAZ.inc.php
|
4 |
+
* Copyright: Copyright (c) 2010-2017 Vadim Jacobi
|
5 |
* License Agreement: http://www.ajax-zoom.com/index.php?cid=download
|
6 |
+
* Version: 1.3.0
|
7 |
+
* Date: 2017-06-25
|
8 |
+
* Review: 2017-06-25
|
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-2017 AJAX-ZOOM, Vadim Jacobi
|
14 |
* @license http://www.ajax-zoom.com/index.php?cid=download
|
15 |
*/
|
16 |
|
17 |
// You can also place / copy you custom parameters from /js/axzoom/axZm/zoomConfig.inc.php
|
18 |
// or /js/axzoom/zoomConfigCustom.inc.php in this file below this message.
|
19 |
// This way it would be possible to upgrade AJAX-ZOOM by fully overwriting /js/axzoom/axZm/ folder
|
|
|
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>AJAX_ZOOM</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.ajax-zoom.com/index.php?cid=download">Commercial, demoware</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Responsive product detail view mousehover zoom extension with optional 360° spins or multilevel 3D</summary>
|
10 |
<description>Responsive, jQuery based mouse over zoom for viewing high resolution product images and optionally 360° spins or multilevel 3D. Image pyramid / tiles view in responsive Fancybox or full screen on click. Upload or import 360° images over admin interface. Optional responsive thumbnails slider integration. Instant (on-the-fly) generation of all thumbnails. Works great on touch-enabled devices. Free to download, install and test.</description>
|
11 |
-
<notes>
|
12 |
<authors><author><name>AJAX-ZOOM</name><user>vadus</user><email>support@ajax-zoom.com</email></author></authors>
|
13 |
-
<date>
|
14 |
-
<time>
|
15 |
-
<contents><target name="magelocal"><dir><dir name="Ax"><dir><dir name="Zoom"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="License.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.1</min><max>5.7.99</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>AJAX_ZOOM</name>
|
4 |
+
<version>1.3.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.ajax-zoom.com/index.php?cid=download">Commercial, demoware</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Responsive product detail view mousehover zoom extension with optional 360° spins or multilevel 3D</summary>
|
10 |
<description>Responsive, jQuery based mouse over zoom for viewing high resolution product images and optionally 360° spins or multilevel 3D. Image pyramid / tiles view in responsive Fancybox or full screen on click. Upload or import 360° images over admin interface. Optional responsive thumbnails slider integration. Instant (on-the-fly) generation of all thumbnails. Works great on touch-enabled devices. Free to download, install and test.</description>
|
11 |
+
<notes>Implemented new AJAX-ZOOM mouseover extension ver. 5</notes>
|
12 |
<authors><author><name>AJAX-ZOOM</name><user>vadus</user><email>support@ajax-zoom.com</email></author></authors>
|
13 |
+
<date>2017-06-25</date>
|
14 |
+
<time>22:42:28</time>
|
15 |
+
<contents><target name="magelocal"><dir><dir name="Ax"><dir><dir name="Zoom"><file name="AzMouseoverConfig.php" hash="de8480679f6c19da150ede976000b02d"/><file name="AzMouseoverSettings.php" hash="75b7e8185df2f8c4deb85bae4538e419"/><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="License.php" hash="823741b08b2abe5bb5d380771ed0d7b0"/></dir><dir name="Form"><file name="Numberimages.php" hash="0e0433a7bd2e31e7fce215e37d70c041"/><file name="Resetbutton.php" hash="c2754c9ef5fb8aeaa244f9353a1c9dff"/></dir></dir></dir><dir name="Tabs"><file name="Tabid.php" hash="95688d270e55db954e0821c7f5b3a576"/></dir><file name="Tabs.php" hash="0239c3a73cdeb05fab451a3219bea07f"/></dir></dir><dir name="Helper"><file name="Data.php" hash="65dde38c994e4317282cb402c9f10ae2"/><file name="Head.php" hash="cce51ca9093fb52a36a7c6736893ea88"/></dir><dir name="Model"><file name="Ax360.php" hash="5886ccbae3ac0eda88245db084fc9b33"/><file name="Ax360set.php" hash="d150352d690ac0bd8efdc29a31a979bd"/><file name="Axproducts.php" hash="3dc27d0b17dcf5d5a8f801d79e5db6f9"/><file name="Azsettings.php" hash="092090f461a4e229590d73d1800848c7"/><file name="Observer.php" hash="93b99cb3774d564090bb10a469a5a87f"/><dir name="Resource"><dir name="Ax360"><file name="Collection.php" hash="7d54575bc5b18e8a16ff19f22e587998"/></dir><file name="Ax360.php" hash="87eb009cfb29575f68dd71e2702c6461"/><dir name="Ax360set"><file name="Collection.php" hash="1e8cae0d939b90c32f150390afb75eb9"/></dir><file name="Ax360set.php" hash="3906769edaf8bbed9b7f01dd8869e727"/><dir name="Axproducts"><file name="Collection.php" hash="749dc2fc678593b53b79ad6f1b81424a"/></dir><file name="Axproducts.php" hash="e990c1e0a8e36f2e98cd03b7b46b8263"/></dir></dir><dir name="controllers"><file name="AxzoomController.php" hash="d61c88a69940a52402b7305023a52a40"/></dir><dir name="etc"><file name="config.xml" hash="308e01e130f5c6dde2cf423b20e16d33"/><file name="system.xml" hash="9bce33b36232083bc5f9f9433963515c"/></dir><dir name="sql"><dir name="axzoom_setup"><file name="install-1.3.0.php" hash="985ac73d9663050c22b750db096c4a10"/><file name="upgrade-1.2.4-1.3.0.php" hash="53739c71882a7f93e6d6d2d4626e7b8a"/></dir></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="bb5d1e8ed0d0a3704d36af426304b8e9"/></dir><dir name="template"><dir name="axzoom"><file name="tab.phtml" hash="a1e992be3bafe909f4186c13fcc57b1b"/><file name="tab360-sets.phtml" hash="1f22f02ec74a156477b2d8668871cd17"/><file name="tab360-settings.phtml" hash="cc4f87fed9864c30bcc8b2470e99bbaf"/><file name="tab360.phtml" hash="5c503fba6e19fe5463a3a636a7afb0b4"/><file name="uploader.phtml" hash="db9e9c4641039bb686437f3a4ab585c9"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="axzoom.xml" hash="aedabcfafe4a15e856bb0cdd49f89a61"/></dir><dir name="template"><dir name="ax_zoom"><dir><dir name="catalog"><dir name="product"><dir name="view"><file name="media.phtml" hash="0169bfba8be9941d7739d1ea101c8cd2"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Ax_Zoom.xml" hash="f97ccc3650bce6b54a8adaf2952246bd"/></dir></dir></target><target name="magelocale"><dir><dir name="ru_RU"><file name="Ax_Zoom.csv" hash="ad9b1e1ad87a1187dbd076b43af97429"/></dir></dir></target><target name="mageweb"><dir><dir name="js"><dir name="axzoom"><file name="axzoom.css" hash="43dd2c3e73f1946ce1295f2b9f779f3e"/><file name="check_fallback.js" hash="ae5e2712e814a35c7d54d550399d2bb1"/><file name="check_jquery.js" hash="8c2c126ba14f54104d621b4de2024711"/><file name="check_jquery_admin.js" hash="edecbe9cbd24c64c0da7f330277c945d"/><file name="image_path.gif" hash="bf922e182e18a02613f26ca5eaa4c560"/><file name="jquery-1.11.3.min.js" hash="1c1e3d814cc7278f801463874463e504"/><file name="jquery-migrate-1.2.1.min.js" hash="eb05d8d73b5b13d8d84308a4751ece96"/><file name="jquery.fileupload-process.js" hash="0da6f8ef76956f6ce7842dcf8941d1fa"/><file name="jquery.fileupload-validate.js" hash="561d450d59e39724999629cae64cd80e"/><file name="jquery.fileupload.js" hash="d4b3a5c4f6e69185727cfe98f17f0239"/><file name="jquery.livequery.htc" hash="6fddf8d185aa26ca790c9f435fee8bad"/><file name="jquery.livequery.min.js" hash="295403b41c10cc54df7c580e269088ca"/><file name="jquery.ui.widget.min.js" hash="2425a542e6dde093dd85ac0b5adc0141"/><file name="lic.php" hash="495b3f17a886f8c788f09a1d7e5c40d4"/><file name="no_image-100x100.jpg" hash="ebbaa789d1a5e5b1bb6fdb9ccd683aa2"/><dir><dir name="pic"><file name="readme.txt" hash="763fdb72282a84d27d9a6c93e014775a"/></dir><dir name="preview"><file name="cropeditor.php" hash="1a4080a0d140ee5cce3b4cd84b51b908"/><file name="hotspoteditor.php" hash="c34a3fedacb418abcc00b52f73d14932"/><file name="index.php" hash="ed8e2017f76a30b7323c499c52df21d9"/><file name="preview.php" hash="ab5fe432a8e2e2aa95e600a8726a6e07"/></dir><dir name="tmp"><file name="readme.txt" hash="b17a61b9642c5d472107ab7023c5c880"/></dir><dir name="zip"><file name="readme.txt" hash="2134ad018dd3da577df745a04d22899f"/><file name=".htaccess" hash="209634bb0238704c4874c35d615ae59e"/></dir></dir><file name="zoomConfigCustomAZ.inc.php" hash="14d70459b1a5a6b85517daecf77e23f3"/></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.1</min><max>5.7.99</max></php></required></dependencies>
|
18 |
</package>
|