Version Notes
This extension replaces the image gallery with the jquery inner zoom slider widget.
Download this release
Release Info
Developer | harpreet |
Extension | Mfp_ProductZoom |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Mfp/ProductZoom/Block/Index.php +8 -0
- app/code/community/Mfp/ProductZoom/Helper/Data.php +12 -0
- app/code/community/Mfp/ProductZoom/controllers/IndexController.php +22 -0
- app/code/community/Mfp/ProductZoom/etc/config.xml +62 -0
- app/code/community/Mfp/ProductZoom/etc/system.xml +41 -0
- app/design/frontend/base/default/layout/productzoom.xml +18 -0
- app/design/frontend/base/default/template/productzoom/media.phtml +78 -0
- app/etc/modules/Mfp_ProductZoom.xml +10 -0
- js/mfp/productzoom.js +5 -0
- js/mfp/zoom.carousel.min.js +47 -0
- package.xml +21 -0
- skin/frontend/base/default/css/productzoom.css +65 -0
- skin/frontend/base/default/css/zoom.carousel.css +129 -0
app/code/community/Mfp/ProductZoom/Block/Index.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Mfp_ProductZoom_Block_Index extends Mage_Core_Block_Template{
|
3 |
+
|
4 |
+
|
5 |
+
|
6 |
+
|
7 |
+
|
8 |
+
}
|
app/code/community/Mfp/ProductZoom/Helper/Data.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Mfp_ProductZoom_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
+
{
|
4 |
+
|
5 |
+
public function getUrl()
|
6 |
+
{
|
7 |
+
$base_url = Mage::getBaseUrl();
|
8 |
+
$js_url = str_replace("index.php","",$base_url);
|
9 |
+
return $js_url;
|
10 |
+
}
|
11 |
+
}
|
12 |
+
|
app/code/community/Mfp/ProductZoom/controllers/IndexController.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Mfp_ProductZoom_IndexController extends Mage_Core_Controller_Front_Action{
|
3 |
+
public function IndexAction() {
|
4 |
+
|
5 |
+
$this->loadLayout();
|
6 |
+
$this->getLayout()->getBlock("head")->setTitle($this->__("Titlename"));
|
7 |
+
$breadcrumbs = $this->getLayout()->getBlock("breadcrumbs");
|
8 |
+
$breadcrumbs->addCrumb("home", array(
|
9 |
+
"label" => $this->__("Home Page"),
|
10 |
+
"title" => $this->__("Home Page"),
|
11 |
+
"link" => Mage::getBaseUrl()
|
12 |
+
));
|
13 |
+
|
14 |
+
$breadcrumbs->addCrumb("titlename", array(
|
15 |
+
"label" => $this->__("Titlename"),
|
16 |
+
"title" => $this->__("Titlename")
|
17 |
+
));
|
18 |
+
|
19 |
+
$this->renderLayout();
|
20 |
+
|
21 |
+
}
|
22 |
+
}
|
app/code/community/Mfp/ProductZoom/etc/config.xml
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Mfp_ProductZoom>
|
5 |
+
<version>1.0.0</version>
|
6 |
+
</Mfp_ProductZoom>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<routers>
|
10 |
+
<productzoom>
|
11 |
+
<use>standard</use>
|
12 |
+
<args>
|
13 |
+
<module>Mfp_ProductZoom</module>
|
14 |
+
<frontName>productzoom</frontName>
|
15 |
+
</args>
|
16 |
+
</productzoom>
|
17 |
+
</routers>
|
18 |
+
<layout>
|
19 |
+
<updates>
|
20 |
+
<productzoom>
|
21 |
+
<file>productzoom.xml</file>
|
22 |
+
</productzoom>
|
23 |
+
</updates>
|
24 |
+
</layout>
|
25 |
+
</frontend>
|
26 |
+
<global>
|
27 |
+
<helpers>
|
28 |
+
<productzoom>
|
29 |
+
<class>Mfp_ProductZoom_Helper</class>
|
30 |
+
</productzoom>
|
31 |
+
</helpers>
|
32 |
+
<blocks>
|
33 |
+
<productzoom>
|
34 |
+
<class>Mfp_ProductZoom_Block</class>
|
35 |
+
</productzoom>
|
36 |
+
</blocks>
|
37 |
+
</global>
|
38 |
+
|
39 |
+
<adminhtml>
|
40 |
+
<acl>
|
41 |
+
<resources>
|
42 |
+
<admin>
|
43 |
+
<children>
|
44 |
+
<system>
|
45 |
+
<children>
|
46 |
+
<config>
|
47 |
+
<children>
|
48 |
+
<productzoom translate="title" module="productzoom">
|
49 |
+
<title>Product zoomer</title>
|
50 |
+
</productzoom>
|
51 |
+
</children>
|
52 |
+
</config>
|
53 |
+
</children>
|
54 |
+
</system>
|
55 |
+
</children>
|
56 |
+
</admin>
|
57 |
+
</resources>
|
58 |
+
</acl>
|
59 |
+
</adminhtml>
|
60 |
+
|
61 |
+
|
62 |
+
</config>
|
app/code/community/Mfp/ProductZoom/etc/system.xml
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<mfp translate="label">
|
5 |
+
<label>mfp</label>
|
6 |
+
<sort_order>100</sort_order>
|
7 |
+
</mfp>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<productzoom translate="label" module="productzoom">
|
11 |
+
<label>Zoom Manager</label>
|
12 |
+
<tab>mfp</tab>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<sort_order>300</sort_order>
|
15 |
+
<show_in_default>1</show_in_default>
|
16 |
+
<show_in_website>1</show_in_website>
|
17 |
+
<show_in_store>1</show_in_store>
|
18 |
+
<groups>
|
19 |
+
<general translate="label">
|
20 |
+
<label>Settings</label>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<sort_order>10</sort_order>
|
23 |
+
<show_in_default>1</show_in_default>
|
24 |
+
<show_in_website>1</show_in_website>
|
25 |
+
<show_in_store>1</show_in_store>
|
26 |
+
<fields>
|
27 |
+
<enabled translate="label">
|
28 |
+
<label>Enable Product Zoomer</label>
|
29 |
+
<frontend_type>select</frontend_type>
|
30 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
31 |
+
<sort_order>15</sort_order>
|
32 |
+
<show_in_default>1</show_in_default>
|
33 |
+
<show_in_website>1</show_in_website>
|
34 |
+
<show_in_store>1</show_in_store>
|
35 |
+
</enabled>
|
36 |
+
</fields>
|
37 |
+
</general>
|
38 |
+
</groups>
|
39 |
+
</productzoom>
|
40 |
+
</sections>
|
41 |
+
</config>
|
app/design/frontend/base/default/layout/productzoom.xml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="1.0.0">
|
3 |
+
|
4 |
+
<catalog_product_view>
|
5 |
+
<reference name="head">
|
6 |
+
<action method="addItem"><type>skin_css</type><name>css/productzoom.css</name><params/></action>
|
7 |
+
<action method="addItem"><type>skin_css</type><name>css/zoom.carousel.css</name><params/></action>
|
8 |
+
|
9 |
+
|
10 |
+
</reference>
|
11 |
+
<reference name="product.info.media">
|
12 |
+
<action method="setTemplate" ifconfig="productzoom/general/enabled"><template>productzoom/media.phtml</template></action>
|
13 |
+
</reference>
|
14 |
+
</catalog_product_view>
|
15 |
+
|
16 |
+
|
17 |
+
</layout>
|
18 |
+
|
app/design/frontend/base/default/template/productzoom/media.phtml
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magento.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magento.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package rwd_default
|
23 |
+
* @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Product media data template
|
29 |
+
*
|
30 |
+
* @see Mage_Catalog_Block_Product_View_Media
|
31 |
+
*/
|
32 |
+
|
33 |
+
/* @var $this Mage_Catalog_Block_Product_View_Media */
|
34 |
+
?>
|
35 |
+
<?php
|
36 |
+
$_product = $this->getProduct();
|
37 |
+
$_helper = $this->helper('catalog/output');
|
38 |
+
?>
|
39 |
+
<?php
|
40 |
+
$helper = Mage::helper('productzoom');
|
41 |
+
$url = $helper->getUrl();
|
42 |
+
|
43 |
+
?>
|
44 |
+
|
45 |
+
<div class="slider">
|
46 |
+
<?php
|
47 |
+
foreach ($_product->getMediaGalleryImages() as $image) {
|
48 |
+
?>
|
49 |
+
|
50 |
+
<div>
|
51 |
+
<div class="easyzoom easyzoom--overlay">
|
52 |
+
|
53 |
+
<a href="<?php echo $image->getUrl(); ?>">
|
54 |
+
<img src="<?php echo $image->getUrl(); ?>" alt="" class="normal"/>
|
55 |
+
</a>
|
56 |
+
</div>
|
57 |
+
</div> <?php } ?>
|
58 |
+
|
59 |
+
</div>
|
60 |
+
<script type="text/javascript" src="<?php echo $url; ?>js/mfp/zoom.carousel.min.js"></script>
|
61 |
+
<script type="text/javascript" src="<?php echo $url; ?>js/mfp/productzoom.js"></script>
|
62 |
+
<script type="text/javascript">
|
63 |
+
jQuery(document).ready(function() {
|
64 |
+
var navigation_type = '<?php echo $enablednav; ?>';
|
65 |
+
jQuery(".slider").owlCarousel({
|
66 |
+
singleItem:true,
|
67 |
+
navigation: true
|
68 |
+
});
|
69 |
+
});
|
70 |
+
</script>
|
71 |
+
|
72 |
+
<script>
|
73 |
+
// Instantiate EasyZoom plugin
|
74 |
+
var $easyzoom = jQuery('.easyzoom').easyZoom();
|
75 |
+
</script>
|
76 |
+
|
77 |
+
|
78 |
+
<?php echo $this->getChildHtml('after'); ?>
|
app/etc/modules/Mfp_ProductZoom.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Mfp_ProductZoom>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<version>1.0.0</version>
|
8 |
+
</Mfp_ProductZoom>
|
9 |
+
</modules>
|
10 |
+
</config>
|
js/mfp/productzoom.js
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* @name product-zoom
|
3 |
+
* @author Harpreet singh
|
4 |
+
* @version 1.0.0
|
5 |
+
*/!function(a){"use strict";function b(b,c){return this.$target=a(b),this.opts=a.extend({},i,c),void 0===this.isOpen&&this._init(),this}var c,d,e,f,g,h,i={loadingNotice:"Loading image",errorNotice:"The image could not be loaded",preventClicks:!0,onShow:void 0,onHide:void 0};b.prototype._init=function(){var b=this;this.$link=this.$target.find("a"),this.$image=this.$target.find("img"),this.$flyout=a('<div class="easyzoom-flyout" />'),this.$notice=a('<div class="easyzoom-notice" />'),this.$target.on("mouseenter.easyzoom touchstart.easyzoom",function(a){a.originalEvent.touches&&1!==a.originalEvent.touches.length||(a.preventDefault(),b.show(a))}).on("mousemove.easyzoom touchmove.easyzoom",function(a){b.isOpen&&(a.preventDefault(),b._move(a))}).on("mouseleave.easyzoom touchend.easyzoom",function(){b.isOpen&&b.hide()}),this.opts.preventClicks&&this.$target.on("click.easyzoom","a",function(a){a.preventDefault()})},b.prototype.show=function(a){var b,g,h,i,j=this;return this.isReady?(this.$target.append(this.$flyout),b=this.$target.width(),g=this.$target.height(),h=this.$flyout.width(),i=this.$flyout.height(),c=this.$zoom.width()-h,d=this.$zoom.height()-i,e=c/b,f=d/g,this.isOpen=!0,this.opts.onShow&&this.opts.onShow.call(this),void(a&&this._move(a))):void this._load(this.$link.attr("href"),function(){j.show(a)})},b.prototype._load=function(b,c){var d=this,e=new Image;this.$target.addClass("is-loading").append(this.$notice.text(this.opts.loadingNotice)),this.$zoom=a(e),e.onerror=function(){d.$notice.text(d.opts.errorNotice),d.$target.removeClass("is-loading").addClass("is-error")},e.onload=function(){0!==e.width&&(d.isReady=!0,d.$notice.detach(),d.$flyout.html(d.$zoom),d.$target.removeClass("is-loading").addClass("is-ready"),c())},e.style.position="absolute",e.src=b},b.prototype._move=function(a){if(0===a.type.indexOf("touch")){var b=a.touches||a.originalEvent.touches;g=b[0].pageX,h=b[0].pageY}else g=a.pageX||g,h=a.pageY||h;var i=this.$target.offset(),j=h-i.top,k=g-i.left,l=j*f,m=k*e;0>m||0>l||m>c||l>d?this.hide():this.$zoom.css({top:""+-1*Math.ceil(l)+"px",left:""+-1*Math.ceil(m)+"px"})},b.prototype.hide=function(){this.isOpen&&(this.$flyout.detach(),this.isOpen=!1,this.opts.onHide&&this.opts.onHide.call(this))},b.prototype.swap=function(a,b){this.hide(),this.isReady=!1,this.$target.removeClass("is-loading is-ready is-error"),this.$image.attr("src",a),this.$link.attr("href",b)},b.prototype.teardown=function(){this.hide(),this.$target.removeClass("is-loading is-ready is-error").off(".easyzoom"),delete this.$link,delete this.$zoom,delete this.$image,delete this.$notice,delete this.$flyout,delete this.isOpen,delete this.isReady},a.fn.easyZoom=function(c){return this.each(function(){var d=a.data(this,"easyZoom");d?void 0===d.isOpen&&d._init():a.data(this,"easyZoom",new b(this,c))})},"function"==typeof define&&define.amd?define(function(){return b}):"undefined"!=typeof module&&module.exports&&(module.exports=b)}(jQuery);
|
js/mfp/zoom.carousel.min.js
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});
|
2 |
+
(function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&&b.options.beforeInit.apply(this,[b.$elem]);"string"===typeof b.options.jsonPath?
|
3 |
+
(e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length;
|
4 |
+
this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&&this.transitionTypes(this.options.transitionStyle);!0===this.options.autoPlay&&
|
5 |
+
(this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&&this.options.afterInit.apply(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&&this.lazyLoad();!0===this.options.autoHeight&&this.autoHeight();this.onVisibleItems();"function"===typeof this.options.afterAction&&this.options.afterAction.apply(this,
|
6 |
+
[this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&&this.options.beforeUpdate.apply(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&&this.options.afterUpdate.apply(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}),
|
7 |
+
g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>');this.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")},
|
8 |
+
baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall=
|
9 |
+
!1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return a[0]-b[0]}),b=0;b<this.options.itemsCustom.length;b+=1)this.options.itemsCustom[b][0]<=a&&(this.options.items=this.options.itemsCustom[b][1]);else a<=this.options.itemsDesktop[0]&&!1!==this.options.itemsDesktop&&(this.options.items=this.options.itemsDesktop[1]),
|
10 |
+
a<=this.options.itemsDesktopSmall[0]&&!1!==this.options.itemsDesktopSmall&&(this.options.items=this.options.itemsDesktopSmall[1]),a<=this.options.itemsTablet[0]&&!1!==this.options.itemsTablet&&(this.options.items=this.options.itemsTablet[1]),a<=this.options.itemsTabletSmall[0]&&!1!==this.options.itemsTabletSmall&&(this.options.items=this.options.itemsTabletSmall[1]),a<=this.options.itemsMobile[0]&&!1!==this.options.itemsMobile&&(this.options.items=this.options.itemsMobile[1]);this.options.items>this.itemsAmount&&
|
11 |
+
!0===this.options.itemsScaleUp&&(this.options.items=this.itemsAmount)},response:function(){var a=this,b,e;if(!0!==a.options.responsive)return!1;e=f(g).width();a.resizer=function(){f(g).width()!==e&&(!1!==a.options.autoPlay&&g.clearInterval(a.autoPlayInterval),g.clearTimeout(b),b=g.setTimeout(function(){e=f(g).width();a.updateVars()},a.options.responsiveRefreshRate))};f(g).resize(a.resizer)},updatePosition:function(){this.jumpTo(this.currentItem);!1!==this.options.autoPlay&&this.checkAp()},appendItemsSizes:function(){var a=
|
12 |
+
this,b=0,e=a.itemsAmount-a.options.items;a.$owlItems.each(function(c){var d=f(this);d.css({width:a.itemWidth}).data("owl-item",Number(c));if(0===c%a.options.items||c===e)c>e||(b+=1);d.data("owl-roundPages",b)})},appendWrapperSizes:function(){this.$owlWrapper.css({width:this.$owlItems.length*this.itemWidth*2,left:0});this.appendItemsSizes()},calculateAll:function(){this.calculateWidth();this.appendWrapperSizes();this.loops();this.max()},calculateWidth:function(){this.itemWidth=Math.round(this.$elem.width()/
|
13 |
+
this.options.items)},max:function(){var a=-1*(this.itemsAmount*this.itemWidth-this.options.items*this.itemWidth);this.options.items>this.itemsAmount?this.maximumPixels=a=this.maximumItem=0:(this.maximumItem=this.itemsAmount-this.options.items,this.maximumPixels=a);return a},min:function(){return 0},loops:function(){var a=0,b=0,e,c;this.positionsInArray=[0];this.pagesInArray=[];for(e=0;e<this.itemsAmount;e+=1)b+=this.itemWidth,this.positionsInArray.push(-b),!0===this.options.scrollPerPage&&(c=f(this.$owlItems[e]),
|
14 |
+
c=c.data("owl-roundPages"),c!==a&&(this.pagesInArray[a]=this.positionsInArray[e],a=c))},buildControls:function(){if(!0===this.options.navigation||!0===this.options.pagination)this.owlControls=f('<div class="owl-controls"/>').toggleClass("clickable",!this.browser.isTouch).appendTo(this.$elem);!0===this.options.pagination&&this.buildPagination();!0===this.options.navigation&&this.buildButtons()},buildButtons:function(){var a=this,b=f('<div class="owl-buttons"/>');a.owlControls.append(b);a.buttonPrev=
|
15 |
+
f("<div/>",{"class":"owl-prev",html:a.options.navigationText[0]||""});a.buttonNext=f("<div/>",{"class":"owl-next",html:a.options.navigationText[1]||""});b.append(a.buttonPrev).append(a.buttonNext);b.on("touchstart.owlControls mousedown.owlControls",'div[class^="owl"]',function(a){a.preventDefault()});b.on("touchend.owlControls mouseup.owlControls",'div[class^="owl"]',function(b){b.preventDefault();f(this).hasClass("owl-next")?a.next():a.prev()})},buildPagination:function(){var a=this;a.paginationWrapper=
|
16 |
+
f('<div class="owl-pagination"/>');a.owlControls.append(a.paginationWrapper);a.paginationWrapper.on("touchend.owlControls mouseup.owlControls",".owl-page",function(b){b.preventDefault();Number(f(this).data("owl-page"))!==a.currentItem&&a.goTo(Number(f(this).data("owl-page")),!0)})},updatePagination:function(){var a,b,e,c,d,g;if(!1===this.options.pagination)return!1;this.paginationWrapper.html("");a=0;b=this.itemsAmount-this.itemsAmount%this.options.items;for(c=0;c<this.itemsAmount;c+=1)0===c%this.options.items&&
|
17 |
+
(a+=1,b===c&&(e=this.itemsAmount-this.options.items),d=f("<div/>",{"class":"owl-page"}),g=f("<span></span>",{text:!0===this.options.paginationNumbers?a:"","class":!0===this.options.paginationNumbers?"owl-numbers":""}),d.append(g),d.data("owl-page",b===c?e:c),d.data("owl-roundPages",a),this.paginationWrapper.append(d));this.checkPagination()},checkPagination:function(){var a=this;if(!1===a.options.pagination)return!1;a.paginationWrapper.find(".owl-page").each(function(){f(this).data("owl-roundPages")===
|
18 |
+
f(a.$owlItems[a.currentItem]).data("owl-roundPages")&&(a.paginationWrapper.find(".owl-page").removeClass("active"),f(this).addClass("active"))})},checkNavigation:function(){if(!1===this.options.navigation)return!1;!1===this.options.rewindNav&&(0===this.currentItem&&0===this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.addClass("disabled")):0===this.currentItem&&0!==this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.removeClass("disabled")):this.currentItem===
|
19 |
+
this.maximumItem?(this.buttonPrev.removeClass("disabled"),this.buttonNext.addClass("disabled")):0!==this.currentItem&&this.currentItem!==this.maximumItem&&(this.buttonPrev.removeClass("disabled"),this.buttonNext.removeClass("disabled")))},updateControls:function(){this.updatePagination();this.checkNavigation();this.owlControls&&(this.options.items>=this.itemsAmount?this.owlControls.hide():this.owlControls.show())},destroyControls:function(){this.owlControls&&this.owlControls.remove()},next:function(a){if(this.isTransition)return!1;
|
20 |
+
this.currentItem+=!0===this.options.scrollPerPage?this.options.items:1;if(this.currentItem>this.maximumItem+(!0===this.options.scrollPerPage?this.options.items-1:0))if(!0===this.options.rewindNav)this.currentItem=0,a="rewind";else return this.currentItem=this.maximumItem,!1;this.goTo(this.currentItem,a)},prev:function(a){if(this.isTransition)return!1;this.currentItem=!0===this.options.scrollPerPage&&0<this.currentItem&&this.currentItem<this.options.items?0:this.currentItem-(!0===this.options.scrollPerPage?
|
21 |
+
this.options.items:1);if(0>this.currentItem)if(!0===this.options.rewindNav)this.currentItem=this.maximumItem,a="rewind";else return this.currentItem=0,!1;this.goTo(this.currentItem,a)},goTo:function(a,b,e){var c=this;if(c.isTransition)return!1;"function"===typeof c.options.beforeMove&&c.options.beforeMove.apply(this,[c.$elem]);a>=c.maximumItem?a=c.maximumItem:0>=a&&(a=0);c.currentItem=c.owl.currentItem=a;if(!1!==c.options.transitionStyle&&"drag"!==e&&1===c.options.items&&!0===c.browser.support3d)return c.swapSpeed(0),
|
22 |
+
!0===c.browser.support3d?c.transition3d(c.positionsInArray[a]):c.css2slide(c.positionsInArray[a],1),c.afterGo(),c.singleItemTransition(),!1;a=c.positionsInArray[a];!0===c.browser.support3d?(c.isCss3Finish=!1,!0===b?(c.swapSpeed("paginationSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.paginationSpeed)):"rewind"===b?(c.swapSpeed(c.options.rewindSpeed),g.setTimeout(function(){c.isCss3Finish=!0},c.options.rewindSpeed)):(c.swapSpeed("slideSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},
|
23 |
+
c.options.slideSpeed)),c.transition3d(a)):!0===b?c.css2slide(a,c.options.paginationSpeed):"rewind"===b?c.css2slide(a,c.options.rewindSpeed):c.css2slide(a,c.options.slideSpeed);c.afterGo()},jumpTo:function(a){"function"===typeof this.options.beforeMove&&this.options.beforeMove.apply(this,[this.$elem]);a>=this.maximumItem||-1===a?a=this.maximumItem:0>=a&&(a=0);this.swapSpeed(0);!0===this.browser.support3d?this.transition3d(this.positionsInArray[a]):this.css2slide(this.positionsInArray[a],1);this.currentItem=
|
24 |
+
this.owl.currentItem=a;this.afterGo()},afterGo:function(){this.prevArr.push(this.currentItem);this.prevItem=this.owl.prevItem=this.prevArr[this.prevArr.length-2];this.prevArr.shift(0);this.prevItem!==this.currentItem&&(this.checkPagination(),this.checkNavigation(),this.eachMoveUpdate(),!1!==this.options.autoPlay&&this.checkAp());"function"===typeof this.options.afterMove&&this.prevItem!==this.currentItem&&this.options.afterMove.apply(this,[this.$elem])},stop:function(){this.apStatus="stop";g.clearInterval(this.autoPlayInterval)},
|
25 |
+
checkAp:function(){"stop"!==this.apStatus&&this.play()},play:function(){var a=this;a.apStatus="play";if(!1===a.options.autoPlay)return!1;g.clearInterval(a.autoPlayInterval);a.autoPlayInterval=g.setInterval(function(){a.next(!0)},a.options.autoPlay)},swapSpeed:function(a){"slideSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)):"paginationSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)):"string"!==typeof a&&this.$owlWrapper.css(this.addCssSpeed(a))},
|
26 |
+
addCssSpeed:function(a){return{"-webkit-transition":"all "+a+"ms ease","-moz-transition":"all "+a+"ms ease","-o-transition":"all "+a+"ms ease",transition:"all "+a+"ms ease"}},removeTransition:function(){return{"-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}},doTranslate:function(a){return{"-webkit-transform":"translate3d("+a+"px, 0px, 0px)","-moz-transform":"translate3d("+a+"px, 0px, 0px)","-o-transform":"translate3d("+a+"px, 0px, 0px)","-ms-transform":"translate3d("+
|
27 |
+
a+"px, 0px, 0px)",transform:"translate3d("+a+"px, 0px,0px)"}},transition3d:function(a){this.$owlWrapper.css(this.doTranslate(a))},css2move:function(a){this.$owlWrapper.css({left:a})},css2slide:function(a,b){var e=this;e.isCssFinish=!1;e.$owlWrapper.stop(!0,!0).animate({left:a},{duration:b||e.options.slideSpeed,complete:function(){e.isCssFinish=!0}})},checkBrowser:function(){var a=k.createElement("div");a.style.cssText=" -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";
|
28 |
+
a=a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);this.browser={support3d:null!==a&&1===a.length,isTouch:"ontouchstart"in g||g.navigator.msMaxTouchPoints}},moveEvents:function(){if(!1!==this.options.mouseDrag||!1!==this.options.touchDrag)this.gestures(),this.disabledEvents()},eventTypes:function(){var a=["s","e","x"];this.ev_types={};!0===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl mousedown.owl","touchmove.owl mousemove.owl","touchend.owl touchcancel.owl mouseup.owl"]:
|
29 |
+
!1===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl","touchmove.owl","touchend.owl touchcancel.owl"]:!0===this.options.mouseDrag&&!1===this.options.touchDrag&&(a=["mousedown.owl","mousemove.owl","mouseup.owl"]);this.ev_types.start=a[0];this.ev_types.move=a[1];this.ev_types.end=a[2]},disabledEvents:function(){this.$elem.on("dragstart.owl",function(a){a.preventDefault()});this.$elem.on("mousedown.disableTextSelect",function(a){return f(a.target).is("input, textarea, select, option")})},
|
30 |
+
gestures:function(){function a(a){if(void 0!==a.touches)return{x:a.touches[0].pageX,y:a.touches[0].pageY};if(void 0===a.touches){if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY};if(void 0===a.pageX)return{x:a.clientX,y:a.clientY}}}function b(a){"on"===a?(f(k).on(d.ev_types.move,e),f(k).on(d.ev_types.end,c)):"off"===a&&(f(k).off(d.ev_types.move),f(k).off(d.ev_types.end))}function e(b){b=b.originalEvent||b||g.event;d.newPosX=a(b).x-h.offsetX;d.newPosY=a(b).y-h.offsetY;d.newRelativeX=d.newPosX-h.relativePos;
|
31 |
+
"function"===typeof d.options.startDragging&&!0!==h.dragging&&0!==d.newRelativeX&&(h.dragging=!0,d.options.startDragging.apply(d,[d.$elem]));(8<d.newRelativeX||-8>d.newRelativeX)&&!0===d.browser.isTouch&&(void 0!==b.preventDefault?b.preventDefault():b.returnValue=!1,h.sliding=!0);(10<d.newPosY||-10>d.newPosY)&&!1===h.sliding&&f(k).off("touchmove.owl");d.newPosX=Math.max(Math.min(d.newPosX,d.newRelativeX/5),d.maximumPixels+d.newRelativeX/5);!0===d.browser.support3d?d.transition3d(d.newPosX):d.css2move(d.newPosX)}
|
32 |
+
function c(a){a=a.originalEvent||a||g.event;var c;a.target=a.target||a.srcElement;h.dragging=!1;!0!==d.browser.isTouch&&d.$owlWrapper.removeClass("grabbing");d.dragDirection=0>d.newRelativeX?d.owl.dragDirection="left":d.owl.dragDirection="right";0!==d.newRelativeX&&(c=d.getNewPosition(),d.goTo(c,!1,"drag"),h.targetElement===a.target&&!0!==d.browser.isTouch&&(f(a.target).on("click.disable",function(a){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();f(a.target).off("click.disable")}),
|
33 |
+
a=f._data(a.target,"events").click,c=a.pop(),a.splice(0,0,c)));b("off")}var d=this,h={offsetX:0,offsetY:0,baseElWidth:0,relativePos:0,position:null,minSwipe:null,maxSwipe:null,sliding:null,dargging:null,targetElement:null};d.isCssFinish=!0;d.$elem.on(d.ev_types.start,".owl-wrapper",function(c){c=c.originalEvent||c||g.event;var e;if(3===c.which)return!1;if(!(d.itemsAmount<=d.options.items)){if(!1===d.isCssFinish&&!d.options.dragBeforeAnimFinish||!1===d.isCss3Finish&&!d.options.dragBeforeAnimFinish)return!1;
|
34 |
+
!1!==d.options.autoPlay&&g.clearInterval(d.autoPlayInterval);!0===d.browser.isTouch||d.$owlWrapper.hasClass("grabbing")||d.$owlWrapper.addClass("grabbing");d.newPosX=0;d.newRelativeX=0;f(this).css(d.removeTransition());e=f(this).position();h.relativePos=e.left;h.offsetX=a(c).x-e.left;h.offsetY=a(c).y-e.top;b("on");h.sliding=!1;h.targetElement=c.target||c.srcElement}})},getNewPosition:function(){var a=this.closestItem();a>this.maximumItem?a=this.currentItem=this.maximumItem:0<=this.newPosX&&(this.currentItem=
|
35 |
+
a=0);return a},closestItem:function(){var a=this,b=!0===a.options.scrollPerPage?a.pagesInArray:a.positionsInArray,e=a.newPosX,c=null;f.each(b,function(d,g){e-a.itemWidth/20>b[d+1]&&e-a.itemWidth/20<g&&"left"===a.moveDirection()?(c=g,a.currentItem=!0===a.options.scrollPerPage?f.inArray(c,a.positionsInArray):d):e+a.itemWidth/20<g&&e+a.itemWidth/20>(b[d+1]||b[d]-a.itemWidth)&&"right"===a.moveDirection()&&(!0===a.options.scrollPerPage?(c=b[d+1]||b[b.length-1],a.currentItem=f.inArray(c,a.positionsInArray)):
|
36 |
+
(c=b[d+1],a.currentItem=d+1))});return a.currentItem},moveDirection:function(){var a;0>this.newRelativeX?(a="right",this.playDirection="next"):(a="left",this.playDirection="prev");return a},customEvents:function(){var a=this;a.$elem.on("owl.next",function(){a.next()});a.$elem.on("owl.prev",function(){a.prev()});a.$elem.on("owl.play",function(b,e){a.options.autoPlay=e;a.play();a.hoverStatus="play"});a.$elem.on("owl.stop",function(){a.stop();a.hoverStatus="stop"});a.$elem.on("owl.goTo",function(b,e){a.goTo(e)});
|
37 |
+
a.$elem.on("owl.jumpTo",function(b,e){a.jumpTo(e)})},stopOnHover:function(){var a=this;!0===a.options.stopOnHover&&!0!==a.browser.isTouch&&!1!==a.options.autoPlay&&(a.$elem.on("mouseover",function(){a.stop()}),a.$elem.on("mouseout",function(){"stop"!==a.hoverStatus&&a.play()}))},lazyLoad:function(){var a,b,e,c,d;if(!1===this.options.lazyLoad)return!1;for(a=0;a<this.itemsAmount;a+=1)b=f(this.$owlItems[a]),"loaded"!==b.data("owl-loaded")&&(e=b.data("owl-item"),c=b.find(".lazyOwl"),"string"!==typeof c.data("src")?
|
38 |
+
b.data("owl-loaded","loaded"):(void 0===b.data("owl-loaded")&&(c.hide(),b.addClass("loading").data("owl-loaded","checked")),(d=!0===this.options.lazyFollow?e>=this.currentItem:!0)&&e<this.currentItem+this.options.items&&c.length&&this.lazyPreload(b,c)))},lazyPreload:function(a,b){function e(){a.data("owl-loaded","loaded").removeClass("loading");b.removeAttr("data-src");"fade"===d.options.lazyEffect?b.fadeIn(400):b.show();"function"===typeof d.options.afterLazyLoad&&d.options.afterLazyLoad.apply(this,
|
39 |
+
[d.$elem])}function c(){f+=1;d.completeImg(b.get(0))||!0===k?e():100>=f?g.setTimeout(c,100):e()}var d=this,f=0,k;"DIV"===b.prop("tagName")?(b.css("background-image","url("+b.data("src")+")"),k=!0):b[0].src=b.data("src");c()},autoHeight:function(){function a(){var a=f(e.$owlItems[e.currentItem]).height();e.wrapperOuter.css("height",a+"px");e.wrapperOuter.hasClass("autoHeight")||g.setTimeout(function(){e.wrapperOuter.addClass("autoHeight")},0)}function b(){d+=1;e.completeImg(c.get(0))?a():100>=d?g.setTimeout(b,
|
40 |
+
100):e.wrapperOuter.css("height","")}var e=this,c=f(e.$owlItems[e.currentItem]).find("img"),d;void 0!==c.get(0)?(d=0,b()):a()},completeImg:function(a){return!a.complete||"undefined"!==typeof a.naturalWidth&&0===a.naturalWidth?!1:!0},onVisibleItems:function(){var a;!0===this.options.addClassActive&&this.$owlItems.removeClass("active");this.visibleItems=[];for(a=this.currentItem;a<this.currentItem+this.options.items;a+=1)this.visibleItems.push(a),!0===this.options.addClassActive&&f(this.$owlItems[a]).addClass("active");
|
41 |
+
this.owl.visibleItems=this.visibleItems},transitionTypes:function(a){this.outClass="owl-"+a+"-out";this.inClass="owl-"+a+"-in"},singleItemTransition:function(){var a=this,b=a.outClass,e=a.inClass,c=a.$owlItems.eq(a.currentItem),d=a.$owlItems.eq(a.prevItem),f=Math.abs(a.positionsInArray[a.currentItem])+a.positionsInArray[a.prevItem],g=Math.abs(a.positionsInArray[a.currentItem])+a.itemWidth/2;a.isTransition=!0;a.$owlWrapper.addClass("owl-origin").css({"-webkit-transform-origin":g+"px","-moz-perspective-origin":g+
|
42 |
+
"px","perspective-origin":g+"px"});d.css({position:"relative",left:f+"px"}).addClass(b).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endPrev=!0;d.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(d,b)});c.addClass(e).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endCurrent=!0;c.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(c,e)})},clearTransStyle:function(a,
|
43 |
+
b){a.css({position:"",left:""}).removeClass(b);this.endPrev&&this.endCurrent&&(this.$owlWrapper.removeClass("owl-origin"),this.isTransition=this.endCurrent=this.endPrev=!1)},owlStatus:function(){this.owl={userOptions:this.userOptions,baseElement:this.$elem,userItems:this.$userItems,owlItems:this.$owlItems,currentItem:this.currentItem,prevItem:this.prevItem,visibleItems:this.visibleItems,isTouch:this.browser.isTouch,browser:this.browser,dragDirection:this.dragDirection}},clearEvents:function(){this.$elem.off(".owl owl mousedown.disableTextSelect");
|
44 |
+
f(k).off(".owl owl");f(g).off("resize",this.resizer)},unWrap:function(){0!==this.$elem.children().length&&(this.$owlWrapper.unwrap(),this.$userItems.unwrap().unwrap(),this.owlControls&&this.owlControls.remove());this.clearEvents();this.$elem.attr("style",this.$elem.data("owl-originalStyles")||"").attr("class",this.$elem.data("owl-originalClasses"))},destroy:function(){this.stop();g.clearInterval(this.checkVisible);this.unWrap();this.$elem.removeData()},reinit:function(a){a=f.extend({},this.userOptions,
|
45 |
+
a);this.unWrap();this.init(a,this.$elem)},addItem:function(a,b){var e;if(!a)return!1;if(0===this.$elem.children().length)return this.$elem.append(a),this.setVars(),!1;this.unWrap();e=void 0===b||-1===b?-1:b;e>=this.$userItems.length||-1===e?this.$userItems.eq(-1).after(a):this.$userItems.eq(e).before(a);this.setVars()},removeItem:function(a){if(0===this.$elem.children().length)return!1;a=void 0===a||-1===a?-1:a;this.unWrap();this.$userItems.eq(a).remove();this.setVars()}};f.fn.owlCarousel=function(a){return this.each(function(){if(!0===
|
46 |
+
f(this).data("owl-init"))return!1;f(this).data("owl-init",!0);var b=Object.create(l);b.init(a,this);f.data(this,"owlCarousel",b)})};f.fn.owlCarousel.options={items:5,itemsCustom:!1,itemsDesktop:[1199,4],itemsDesktopSmall:[979,3],itemsTablet:[768,2],itemsTabletSmall:!1,itemsMobile:[479,1],singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1E3,autoPlay:!1,stopOnHover:!1,navigation:!1,navigationText:["prev","next"],rewindNav:!0,scrollPerPage:!1,pagination:!0,paginationNumbers:!1,
|
47 |
+
responsive:!0,responsiveRefreshRate:200,responsiveBaseWidth:g,baseClass:"owl-carousel",theme:"owl-theme",lazyLoad:!1,lazyFollow:!0,lazyEffect:"fade",autoHeight:!1,jsonPath:!1,jsonSuccess:!1,dragBeforeAnimFinish:!0,mouseDrag:!0,touchDrag:!0,addClassActive:!1,transitionStyle:!1,beforeUpdate:!1,afterUpdate:!1,beforeInit:!1,afterInit:!1,beforeMove:!1,afterMove:!1,afterAction:!1,startDragging:!1,afterLazyLoad:!1}})(jQuery,window,document);
|
package.xml
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Mfp_ProductZoom</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>This extension replaces the image gallery with the jquery inner zoom slider widget.
|
10 |
+
</summary>
|
11 |
+
<description>This extension replaces the image gallery with the jquery inner zoom slider widget.
|
12 |
+
</description>
|
13 |
+
<notes>This extension replaces the image gallery with the jquery inner zoom slider widget.
|
14 |
+
</notes>
|
15 |
+
<authors><author><name>harpreet</name><user>harpreet</user><email>harpreetsinghphp@gmail.com</email></author></authors>
|
16 |
+
<date>2016-02-26</date>
|
17 |
+
<time>14:14:29</time>
|
18 |
+
<contents><target name="magecommunity"><dir name="Mfp"><dir name="ProductZoom"><dir name="Block"><file name="Index.php" hash="7177bcc4d21b905b488000fc8b8312a1"/></dir><dir name="Helper"><file name="Data.php" hash="6c398f8de91e45daf7a2268f285804cf"/></dir><dir name="controllers"><file name="IndexController.php" hash="ccd9a790317db4d66dd28b3348f8884e"/></dir><dir name="etc"><file name="config.xml" hash="c84121237fc2fe98afb250cafd45e3d8"/><file name="system.xml" hash="fe81be2c9916fa140eded63e0b01440c"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mfp_ProductZoom.xml" hash="0fe33c8d39aca69cdf1f4448217ef18f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="productzoom.xml" hash="a8199ac4e43b363fee3aceadee3e6749"/></dir><dir name="template"><dir name="productzoom"><file name="media.phtml" hash="8cbf223710c5218b5104f2aae9a8b56e"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="productzoom.css" hash="2cefe2d1cb1f7741e90631710a4c51a4"/><file name="zoom.carousel.css" hash="f78dbe336aea03003ab9d3578d088cd8"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="mfp"><file name="productzoom.js" hash="8803185ed6b5bf4659e1305baa583e8c"/><file name="zoom.carousel.min.js" hash="88d0fe722f04973e2888b58a63aa0570"/></dir></dir></target></contents>
|
19 |
+
<compatible/>
|
20 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
21 |
+
</package>
|
skin/frontend/base/default/css/productzoom.css
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* EasyZoom core styles
|
3 |
+
*/
|
4 |
+
.easyzoom {
|
5 |
+
position: relative;
|
6 |
+
|
7 |
+
/* 'Shrink-wrap' the element */
|
8 |
+
display: inline-block;
|
9 |
+
*display: inline;
|
10 |
+
*zoom: 1;
|
11 |
+
}
|
12 |
+
|
13 |
+
.easyzoom img {
|
14 |
+
vertical-align: bottom;
|
15 |
+
}
|
16 |
+
|
17 |
+
.easyzoom.is-loading img {
|
18 |
+
cursor: progress;
|
19 |
+
}
|
20 |
+
|
21 |
+
.easyzoom.is-ready img {
|
22 |
+
cursor: crosshair;
|
23 |
+
}
|
24 |
+
|
25 |
+
.easyzoom.is-error img {
|
26 |
+
cursor: not-allowed;
|
27 |
+
}
|
28 |
+
|
29 |
+
.easyzoom-notice {
|
30 |
+
position: absolute;
|
31 |
+
top: 50%;
|
32 |
+
left: 50%;
|
33 |
+
z-index: 150;
|
34 |
+
width: 10em;
|
35 |
+
margin: -1em 0 0 -5em;
|
36 |
+
line-height: 2em;
|
37 |
+
text-align: center;
|
38 |
+
background: #FFF;
|
39 |
+
box-shadow: 0 0 10px #888;
|
40 |
+
}
|
41 |
+
|
42 |
+
.easyzoom-flyout {
|
43 |
+
position:absolute;
|
44 |
+
z-index: 100;
|
45 |
+
overflow: hidden;
|
46 |
+
background: #FFF;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* EasyZoom layout variations
|
51 |
+
*/
|
52 |
+
.easyzoom--overlay .easyzoom-flyout {
|
53 |
+
top: 0;
|
54 |
+
left: 0;
|
55 |
+
width: 100%;
|
56 |
+
height: 100%;
|
57 |
+
}
|
58 |
+
|
59 |
+
.easyzoom--adjacent .easyzoom-flyout {
|
60 |
+
top: 0;
|
61 |
+
left: 100%;
|
62 |
+
width: 100%;
|
63 |
+
height: 100%;
|
64 |
+
margin-left: 20px;
|
65 |
+
}
|
skin/frontend/base/default/css/zoom.carousel.css
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Core Owl Carousel CSS File
|
3 |
+
* v1.3.3
|
4 |
+
*/
|
5 |
+
|
6 |
+
/* clearfix */
|
7 |
+
.owl-carousel .owl-wrapper:after {
|
8 |
+
content: ".";
|
9 |
+
display: block;
|
10 |
+
clear: both;
|
11 |
+
visibility: hidden;
|
12 |
+
line-height: 0;
|
13 |
+
height: 0;
|
14 |
+
}
|
15 |
+
/* display none until init */
|
16 |
+
.owl-carousel{
|
17 |
+
display: none;
|
18 |
+
position: relative;
|
19 |
+
width: 100%;
|
20 |
+
-ms-touch-action: pan-y;
|
21 |
+
}
|
22 |
+
.owl-carousel .owl-wrapper{
|
23 |
+
display: none;
|
24 |
+
position: relative;
|
25 |
+
-webkit-transform: translate3d(0px, 0px, 0px);
|
26 |
+
}
|
27 |
+
.owl-carousel .owl-wrapper-outer{
|
28 |
+
overflow: hidden;
|
29 |
+
position: relative;
|
30 |
+
width: 100%;
|
31 |
+
text-align:center;
|
32 |
+
}
|
33 |
+
.owl-carousel .owl-wrapper-outer.autoHeight{
|
34 |
+
-webkit-transition: height 500ms ease-in-out;
|
35 |
+
-moz-transition: height 500ms ease-in-out;
|
36 |
+
-ms-transition: height 500ms ease-in-out;
|
37 |
+
-o-transition: height 500ms ease-in-out;
|
38 |
+
transition: height 500ms ease-in-out;
|
39 |
+
}
|
40 |
+
|
41 |
+
.owl-carousel .owl-item{
|
42 |
+
float: left;
|
43 |
+
}
|
44 |
+
.owl-controls .owl-page,
|
45 |
+
.owl-controls .owl-buttons div{
|
46 |
+
cursor: pointer;
|
47 |
+
}
|
48 |
+
.owl-controls {
|
49 |
+
-webkit-user-select: none;
|
50 |
+
-khtml-user-select: none;
|
51 |
+
-moz-user-select: none;
|
52 |
+
-ms-user-select: none;
|
53 |
+
user-select: none;
|
54 |
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
55 |
+
}
|
56 |
+
|
57 |
+
/* mouse grab icon */
|
58 |
+
.grabbing {
|
59 |
+
cursor:url(grabbing.png) 8 8, move;
|
60 |
+
}
|
61 |
+
|
62 |
+
/* fix */
|
63 |
+
.owl-carousel .owl-wrapper,
|
64 |
+
.owl-carousel .owl-item{
|
65 |
+
-webkit-backface-visibility: hidden;
|
66 |
+
-moz-backface-visibility: hidden;
|
67 |
+
-ms-backface-visibility: hidden;
|
68 |
+
-webkit-transform: translate3d(0,0,0);
|
69 |
+
-moz-transform: translate3d(0,0,0);
|
70 |
+
-ms-transform: translate3d(0,0,0);
|
71 |
+
}
|
72 |
+
|
73 |
+
.slider {
|
74 |
+
max-width: 960px;
|
75 |
+
margin: auto;
|
76 |
+
}
|
77 |
+
.owl-item img.normal {
|
78 |
+
width: 100%;
|
79 |
+
height: auto;
|
80 |
+
}
|
81 |
+
.easyzoom-flyout{
|
82 |
+
position: absolute;
|
83 |
+
z-index: 999999999;
|
84 |
+
}
|
85 |
+
.owl-item { zoom: 1; }
|
86 |
+
.owl-prev, .owl-next {
|
87 |
+
position: absolute;
|
88 |
+
top: 50%;
|
89 |
+
margin-top: -50px;
|
90 |
+
width: 50px;
|
91 |
+
height: 50px;
|
92 |
+
text-align: center;
|
93 |
+
background-color: #fff;
|
94 |
+
filter: Alpha(Opacity=50);
|
95 |
+
opacity: 0.5;
|
96 |
+
text-transform: uppercase;
|
97 |
+
padding-top: 14px;
|
98 |
+
}.owl-prev:hover, .owl-next:hover {
|
99 |
+
filter: Alpha(Opacity=100);/*IE7 fix*/
|
100 |
+
opacity: 1;
|
101 |
+
}
|
102 |
+
.owl-next {
|
103 |
+
right: 0px;
|
104 |
+
}
|
105 |
+
.owl-controls {
|
106 |
+
text-align: center;
|
107 |
+
}
|
108 |
+
.owl-controls .owl-page {
|
109 |
+
display: inline-block;
|
110 |
+
}
|
111 |
+
.owl-controls .owl-page span {
|
112 |
+
background-color: #333;
|
113 |
+
-webkit-border-radius: 30px;
|
114 |
+
-moz-border-radius: 30px;
|
115 |
+
border-radius: 30px;
|
116 |
+
display: block;
|
117 |
+
height: 12px;
|
118 |
+
margin: 5px 7px;
|
119 |
+
width: 12px;
|
120 |
+
filter: Alpha(Opacity=500);/*IE7 fix*/
|
121 |
+
opacity: 0.5;
|
122 |
+
}
|
123 |
+
.owl-controls .owl-page.active span, .owl-controls .owl-page:hover span {
|
124 |
+
filter: Alpha(Opacity=100);/*IE7 fix*/
|
125 |
+
opacity: 1;
|
126 |
+
}
|
127 |
+
.carousel .owl-prev, .carousel .owl-next {
|
128 |
+
background-color: #000;
|
129 |
+
}
|