Version Notes
Automatic load next page of current product list.
Support for Magento 1.3 up to 1.7
Download this release
Release Info
Developer | Magento Core Team |
Extension | Strategery_InfiniteScroll2 |
Version | 2.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.0.6 to 2.1.0
- app/code/community/Strategery/Infinitescroll2/Helper/Data.php +0 -99
- app/code/community/Strategery/Infinitescroll2/controllers/JsController.php +0 -25
- app/code/community/Strategery/Infinitescroll2/etc/config.xml +0 -101
- app/code/community/Strategery/Infinitescroll2/etc/system.xml +0 -210
- app/{etc/modules/Strategery_Infinitescroll2.xml → design/frontend/base/default/template/strategery/infinitescroll2/js.phtml} +9 -12
- app/design/frontend/base/default/template/strategery/infinitescroll2/toolbar.phtml +55 -0
- app/design/frontend/default/default/layout/strategery-infinitescroll2.xml +0 -87
- app/design/frontend/default/default/template/strategery/infinitescroll2/js.phtml +3 -2
- app/design/frontend/default/default/template/strategery/infinitescroll2/toolbar.phtml +4 -0
- js/jquery/infinitescroll2/behaviors/{infinitescroll2-magento.js → infinitescroll-magento.js} +2 -2
- js/jquery/infinitescroll2/{jquery.infinitescroll2.js → jquery.infinitescroll.js} +12 -10
- js/jquery/infinitescroll2/{jquery.infinitescroll2.min.js → jquery.infinitescroll.min.js} +5 -5
- package.xml +6 -6
app/code/community/Strategery/Infinitescroll2/Helper/Data.php
DELETED
@@ -1,99 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* InfiniteScroll - Magento Integration
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Academic Free License (AFL 3.0),
|
9 |
-
* available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-3.0.php
|
11 |
-
*
|
12 |
-
* @category Strategery
|
13 |
-
* @package Strategery_Infinitescroll2
|
14 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
15 |
-
* @copyright Copyright (c) 2011 Strategery Inc. (http://usestrategery.com)
|
16 |
-
*
|
17 |
-
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
18 |
-
* @link http://gabrielsomoza.com/
|
19 |
-
*/
|
20 |
-
class Strategery_Infinitescroll2_Helper_Data extends Mage_Core_Helper_Abstract {
|
21 |
-
|
22 |
-
protected $_optionsMap;
|
23 |
-
|
24 |
-
public function __construct() {
|
25 |
-
$this->_optionsMap = array(
|
26 |
-
'loading' => array
|
27 |
-
(
|
28 |
-
'data' => '',
|
29 |
-
'type' => 'object',
|
30 |
-
'sub-items' => array
|
31 |
-
(
|
32 |
-
'finishedMsg'=>array('data' => 'design/done_text', 'type' => 'string'),
|
33 |
-
'img'=>array('data' => 'design/loading_img', 'type' => 'string'),
|
34 |
-
'msgText'=>array('data' => 'design/loading_text', 'type' => 'string'),
|
35 |
-
'selector'=>array('data' => 'selectors/loading', 'type' => 'string-JSIE8FIX'),
|
36 |
-
)
|
37 |
-
),
|
38 |
-
'navSelector' => array('data' => 'selectors/navigation', 'type' => 'string'),
|
39 |
-
'nextSelector' => array('data' => 'selectors/next', 'type' => 'string'),
|
40 |
-
'itemSelector' => array('data' => 'selectors/items', 'type' => 'string'),
|
41 |
-
'debug' => array('data' => 'general/debug', 'type' => 'boolean'),
|
42 |
-
'animate' => array('data' => 'design/animate', 'type' => 'boolean'),
|
43 |
-
'extraScrollPx' => array('data' => 'design/extra_scroll_px', 'type' => 'integer'),
|
44 |
-
'doneText' => array('data' => 'design/done_text', 'type' => 'string'),
|
45 |
-
'bufferPx' => array('data' => 'design/buffer_px', 'type' => 'integer'),
|
46 |
-
'callback' => array('data' => 'callbacks/processed_callback', 'type' => 'function'),
|
47 |
-
'behavior' => array('data' => 'magento', 'type'=>'literal-JSIE8FIX')
|
48 |
-
);
|
49 |
-
}
|
50 |
-
|
51 |
-
public function getConfigData($node) {
|
52 |
-
return Mage::getStoreConfig('infinitescroll2/' . $node);
|
53 |
-
}
|
54 |
-
|
55 |
-
public function getJsConfig($optionsMap=false) {
|
56 |
-
if(!$optionsMap){
|
57 |
-
$optionsMap=$this->_optionsMap;
|
58 |
-
}
|
59 |
-
$result='';
|
60 |
-
foreach ($optionsMap as $jsOption => $config) {
|
61 |
-
$colon=',';
|
62 |
-
$jsIE8Fix=strpos($config['type'],'-JSIE8FIX');
|
63 |
-
if($jsIE8Fix!==false){
|
64 |
-
$colon='';
|
65 |
-
$config['type']=substr($config['type'],0,$jsIE8Fix);
|
66 |
-
}
|
67 |
-
if ($value = $this->getConfigData($config['data']) || $config['type']=='object' || $config['type']=='literal') {
|
68 |
-
switch ($config['type']) {
|
69 |
-
case 'string':
|
70 |
-
$value = '"' . $this->getConfigData($config['data']) . '"'; // wrap in double quotes
|
71 |
-
break;
|
72 |
-
case 'boolean':
|
73 |
-
$value = $value == 1 ? 'true' : 'false';
|
74 |
-
break;
|
75 |
-
case 'object':
|
76 |
-
$value='""';
|
77 |
-
if(is_array($config['sub-items']))
|
78 |
-
{
|
79 |
-
$value="{\n";
|
80 |
-
foreach($config['sub-items'] as $name=>$subItem)
|
81 |
-
{
|
82 |
-
$value .= $this->getJsConfig(array($name=>$subItem));
|
83 |
-
}
|
84 |
-
$value.='}';
|
85 |
-
}
|
86 |
-
break;
|
87 |
-
case 'literal':
|
88 |
-
$value = '"' . $config['data'] . '"';
|
89 |
-
break;
|
90 |
-
default:
|
91 |
-
// nothing
|
92 |
-
}
|
93 |
-
$result .= "'{$jsOption}': {$value}$colon\n";
|
94 |
-
}
|
95 |
-
}
|
96 |
-
return $result;
|
97 |
-
}
|
98 |
-
|
99 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Strategery/Infinitescroll2/controllers/JsController.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* InfiniteScroll - Magento Integration
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Academic Free License (AFL 3.0),
|
8 |
-
* available through the world-wide-web at this URL:
|
9 |
-
* http://opensource.org/licenses/afl-3.0.php
|
10 |
-
*
|
11 |
-
* @category Strategery
|
12 |
-
* @package Strategery_Infinitescroll2
|
13 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
14 |
-
* @copyright Copyright (c) 2011 Strategery Inc. (http://usestrategery.com)
|
15 |
-
*
|
16 |
-
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
-
* @link http://gabrielsomoza.com/
|
18 |
-
*/
|
19 |
-
class Strategery_Infinitescroll2_JsController extends Mage_Core_Controller_Front_Action {
|
20 |
-
public function indexAction() {
|
21 |
-
$this->getResponse()->setHeader('Content-Type', 'text/javascript');
|
22 |
-
$this->loadLayout();
|
23 |
-
$this->renderLayout();
|
24 |
-
}
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Strategery/Infinitescroll2/etc/config.xml
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* InfiniteScroll - Magento Integration
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Academic Free License (AFL 3.0),
|
9 |
-
* available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-3.0.php
|
11 |
-
*
|
12 |
-
* @category Strategery
|
13 |
-
* @package Strategery_Infinitescroll2
|
14 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
15 |
-
* @copyright Copyright (c) 2011 Strategery Inc. (http://usestrategery.com)
|
16 |
-
*
|
17 |
-
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
18 |
-
* @link http://gabrielsomoza.com/
|
19 |
-
*/
|
20 |
-
-->
|
21 |
-
<config>
|
22 |
-
<modules>
|
23 |
-
<Strategery_Infinitescroll2>
|
24 |
-
<version>2.0.6</version>
|
25 |
-
</Strategery_Infinitescroll2>
|
26 |
-
</modules>
|
27 |
-
<global>
|
28 |
-
<helpers>
|
29 |
-
<infinitescroll2>
|
30 |
-
<class>Strategery_Infinitescroll2_Helper</class>
|
31 |
-
</infinitescroll2>
|
32 |
-
</helpers>
|
33 |
-
</global>
|
34 |
-
<frontend>
|
35 |
-
<routers>
|
36 |
-
<infinitescroll2>
|
37 |
-
<use>standard</use>
|
38 |
-
<args>
|
39 |
-
<module>Strategery_Infinitescroll2</module>
|
40 |
-
<frontName>infinitescroll2</frontName>
|
41 |
-
</args>
|
42 |
-
</infinitescroll2>
|
43 |
-
</routers>
|
44 |
-
<layout>
|
45 |
-
<updates>
|
46 |
-
<infinitescroll2>
|
47 |
-
<file>strategery-infinitescroll2.xml</file>
|
48 |
-
</infinitescroll2>
|
49 |
-
</updates>
|
50 |
-
</layout>
|
51 |
-
</frontend>
|
52 |
-
<default>
|
53 |
-
<infinitescroll2>
|
54 |
-
<general>
|
55 |
-
<enabled>1</enabled>
|
56 |
-
<debug>0</debug>
|
57 |
-
</general>
|
58 |
-
<selectors>
|
59 |
-
<content>div.category-products</content>
|
60 |
-
<navigation>div.toolbar:last</navigation>
|
61 |
-
<next>div.pages a.next:first</next>
|
62 |
-
<items>ul.products-grid</items>
|
63 |
-
<loading>div.category-products</loading>
|
64 |
-
</selectors>
|
65 |
-
<design>
|
66 |
-
<loading_img>http://www.infinite-scroll.com/loading.gif</loading_img>
|
67 |
-
<loading_text><![CDATA[<em>Loading the next set of posts...</em>]]></loading_text>
|
68 |
-
<done_text><![CDATA[<em>Congratulations, you've reached the end of the internet.</em>]]></done_text>
|
69 |
-
<animate>0</animate>
|
70 |
-
<local_mode>0</local_mode>
|
71 |
-
<extra_scroll_px>150</extra_scroll_px>
|
72 |
-
<buffer_px>150</buffer_px>
|
73 |
-
</design>
|
74 |
-
<callbacks>
|
75 |
-
<processed_callback><![CDATA[function(elements){decorateGeneric($$('ul.products-grid'),['odd','even','first','last']);}]]></processed_callback>
|
76 |
-
</callbacks>
|
77 |
-
</infinitescroll2>
|
78 |
-
</default>
|
79 |
-
<adminhtml>
|
80 |
-
<acl>
|
81 |
-
<resources>
|
82 |
-
<admin>
|
83 |
-
<children>
|
84 |
-
<system>
|
85 |
-
<children>
|
86 |
-
<config>
|
87 |
-
<children>
|
88 |
-
<infinitescroll2 translate="title" module="infinitescroll2">
|
89 |
-
<title>Infinite Scroll</title>
|
90 |
-
<sort_order>50</sort_order>
|
91 |
-
</infinitescroll2>
|
92 |
-
</children>
|
93 |
-
</config>
|
94 |
-
</children>
|
95 |
-
</system>
|
96 |
-
</children>
|
97 |
-
</admin>
|
98 |
-
</resources>
|
99 |
-
</acl>
|
100 |
-
</adminhtml>
|
101 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Strategery/Infinitescroll2/etc/system.xml
DELETED
@@ -1,210 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* InfiniteScroll - Magento Integration
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Academic Free License (AFL 3.0),
|
9 |
-
* available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-3.0.php
|
11 |
-
*
|
12 |
-
* @category Strategery
|
13 |
-
* @package Strategery_Infinitescroll2
|
14 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
15 |
-
* @copyright Copyright (c) 2011 Strategery Inc. (http://usestrategery.com)
|
16 |
-
*
|
17 |
-
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
18 |
-
* @link http://gabrielsomoza.com/
|
19 |
-
*/
|
20 |
-
-->
|
21 |
-
<config>
|
22 |
-
<sections>
|
23 |
-
<infinitescroll2 translate="label" module="infinitescroll2">
|
24 |
-
<label>Infinite Scroll</label>
|
25 |
-
<tab>catalog</tab>
|
26 |
-
<frontend_type>text</frontend_type>
|
27 |
-
<sort_order>120</sort_order>
|
28 |
-
<show_in_default>1</show_in_default>
|
29 |
-
<show_in_website>1</show_in_website>
|
30 |
-
<show_in_store>1</show_in_store>
|
31 |
-
<groups>
|
32 |
-
<general translate="label">
|
33 |
-
<label>General</label>
|
34 |
-
<frontend_type>text</frontend_type>
|
35 |
-
<sort_order>1</sort_order>
|
36 |
-
<show_in_default>1</show_in_default>
|
37 |
-
<show_in_website>1</show_in_website>
|
38 |
-
<show_in_store>1</show_in_store>
|
39 |
-
<fields>
|
40 |
-
<enabled>
|
41 |
-
<label>Enabled</label>
|
42 |
-
<frontend_type>select</frontend_type>
|
43 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
44 |
-
<sort_order>0</sort_order>
|
45 |
-
<show_in_default>1</show_in_default>
|
46 |
-
<show_in_website>1</show_in_website>
|
47 |
-
<show_in_store>1</show_in_store>
|
48 |
-
</enabled>
|
49 |
-
<debug>
|
50 |
-
<label>Debug Mode</label>
|
51 |
-
<frontend_type>select</frontend_type>
|
52 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
53 |
-
<sort_order>1</sort_order>
|
54 |
-
<show_in_default>1</show_in_default>
|
55 |
-
<show_in_website>1</show_in_website>
|
56 |
-
<show_in_store>1</show_in_store>
|
57 |
-
</debug>
|
58 |
-
</fields>
|
59 |
-
</general>
|
60 |
-
<selectors translate="label">
|
61 |
-
<label>Selectors</label>
|
62 |
-
<frontend_type>text</frontend_type>
|
63 |
-
<sort_order>2</sort_order>
|
64 |
-
<show_in_default>1</show_in_default>
|
65 |
-
<show_in_website>1</show_in_website>
|
66 |
-
<show_in_store>1</show_in_store>
|
67 |
-
<fields>
|
68 |
-
<content>
|
69 |
-
<label>Content</label>
|
70 |
-
<sort_order>1</sort_order>
|
71 |
-
<show_in_default>1</show_in_default>
|
72 |
-
<show_in_website>1</show_in_website>
|
73 |
-
<show_in_store>1</show_in_store>
|
74 |
-
<comment>Selector for the element that surrounds the items you will be loading more of.</comment>
|
75 |
-
</content>
|
76 |
-
<navigation>
|
77 |
-
<label>Navigation</label>
|
78 |
-
<sort_order>2</sort_order>
|
79 |
-
<show_in_default>1</show_in_default>
|
80 |
-
<show_in_website>1</show_in_website>
|
81 |
-
<show_in_store>1</show_in_store>
|
82 |
-
<comment>Selector for the paged navigation.</comment>
|
83 |
-
</navigation>
|
84 |
-
<next>
|
85 |
-
<label>Next</label>
|
86 |
-
<sort_order>3</sort_order>
|
87 |
-
<show_in_default>1</show_in_default>
|
88 |
-
<show_in_website>1</show_in_website>
|
89 |
-
<show_in_store>1</show_in_store>
|
90 |
-
<comment>Selector for the link to the next page.</comment>
|
91 |
-
</next>
|
92 |
-
<items>
|
93 |
-
<label>Items</label>
|
94 |
-
<sort_order>4</sort_order>
|
95 |
-
<show_in_default>1</show_in_default>
|
96 |
-
<show_in_website>1</show_in_website>
|
97 |
-
<show_in_store>1</show_in_store>
|
98 |
-
<comment>Selector for all items you'll retrieve.</comment>
|
99 |
-
</items>
|
100 |
-
<loading>
|
101 |
-
<label>Loading</label>
|
102 |
-
<sort_order>5</sort_order>
|
103 |
-
<show_in_default>1</show_in_default>
|
104 |
-
<show_in_website>1</show_in_website>
|
105 |
-
<show_in_store>1</show_in_store>
|
106 |
-
<comment>Selector for loading message and bar.</comment>
|
107 |
-
</loading>
|
108 |
-
</fields>
|
109 |
-
</selectors>
|
110 |
-
<design translate="label">
|
111 |
-
<label>Design</label>
|
112 |
-
<frontend_type>text</frontend_type>
|
113 |
-
<sort_order>3</sort_order>
|
114 |
-
<show_in_default>1</show_in_default>
|
115 |
-
<show_in_website>1</show_in_website>
|
116 |
-
<show_in_store>1</show_in_store>
|
117 |
-
<fields>
|
118 |
-
<loading_img>
|
119 |
-
<label>Loading Image</label>
|
120 |
-
<sort_order>1</sort_order>
|
121 |
-
<show_in_default>1</show_in_default>
|
122 |
-
<show_in_website>1</show_in_website>
|
123 |
-
<show_in_store>1</show_in_store>
|
124 |
-
</loading_img>
|
125 |
-
<loading_text>
|
126 |
-
<label>Loading Text</label>
|
127 |
-
<sort_order>2</sort_order>
|
128 |
-
<show_in_default>1</show_in_default>
|
129 |
-
<show_in_website>1</show_in_website>
|
130 |
-
<show_in_store>1</show_in_store>
|
131 |
-
</loading_text>
|
132 |
-
<done_text>
|
133 |
-
<label>Done Text</label>
|
134 |
-
<sort_order>3</sort_order>
|
135 |
-
<show_in_default>1</show_in_default>
|
136 |
-
<show_in_website>1</show_in_website>
|
137 |
-
<show_in_store>1</show_in_store>
|
138 |
-
</done_text>
|
139 |
-
<animate>
|
140 |
-
<label>Animate</label>
|
141 |
-
<frontend_type>select</frontend_type>
|
142 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
143 |
-
<sort_order>4</sort_order>
|
144 |
-
<show_in_default>1</show_in_default>
|
145 |
-
<show_in_website>1</show_in_website>
|
146 |
-
<show_in_store>1</show_in_store>
|
147 |
-
<comment>Automatically scroll the page when new content loads.</comment>
|
148 |
-
</animate>
|
149 |
-
<hide_toolbar>
|
150 |
-
<label>Hide Toolbar</label>
|
151 |
-
<frontend_type>select</frontend_type>
|
152 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
153 |
-
<sort_order>4</sort_order>
|
154 |
-
<show_in_default>1</show_in_default>
|
155 |
-
<show_in_website>1</show_in_website>
|
156 |
-
<show_in_store>1</show_in_store>
|
157 |
-
</hide_toolbar>
|
158 |
-
<local_mode>
|
159 |
-
<label>Local Mode</label>
|
160 |
-
<frontend_type>select</frontend_type>
|
161 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
162 |
-
<sort_order>5</sort_order>
|
163 |
-
<show_in_default>1</show_in_default>
|
164 |
-
<show_in_website>1</show_in_website>
|
165 |
-
<show_in_store>1</show_in_store>
|
166 |
-
<comment>Instead of watching the entire window scrolling, watch only the element this plugin was called on (set in Selectors->Content).</comment>
|
167 |
-
</local_mode>
|
168 |
-
<extra_scroll_px>
|
169 |
-
<label>Extra Scroll (px)</label>
|
170 |
-
<validate>validate-digits</validate>
|
171 |
-
<sort_order>6</sort_order>
|
172 |
-
<show_in_default>1</show_in_default>
|
173 |
-
<show_in_website>1</show_in_website>
|
174 |
-
<show_in_store>1</show_in_store>
|
175 |
-
<comment>Number of pixels the page will scroll in addition to the height of the loaded DIV. Animate must be 'yes' in order for this to take effect.</comment>
|
176 |
-
</extra_scroll_px>
|
177 |
-
<buffer_px>
|
178 |
-
<label>Buffer (px)</label>
|
179 |
-
<validate>validate-digits</validate>
|
180 |
-
<sort_order>7</sort_order>
|
181 |
-
<show_in_default>1</show_in_default>
|
182 |
-
<show_in_website>1</show_in_website>
|
183 |
-
<show_in_store>1</show_in_store>
|
184 |
-
<comment>Set an offset before page end from which the content will start to load. A high number will load the next page a long time before the user reaches the bottom of the screen.</comment>
|
185 |
-
</buffer_px>
|
186 |
-
</fields>
|
187 |
-
</design>
|
188 |
-
<callbacks translate="label">
|
189 |
-
<label>Callbacks</label>
|
190 |
-
<frontend_type>text</frontend_type>
|
191 |
-
<sort_order>4</sort_order>
|
192 |
-
<show_in_default>1</show_in_default>
|
193 |
-
<show_in_website>1</show_in_website>
|
194 |
-
<show_in_store>1</show_in_store>
|
195 |
-
<fields>
|
196 |
-
<processed_callback>
|
197 |
-
<label>Processed Callback</label>
|
198 |
-
<frontend_type>textarea</frontend_type>
|
199 |
-
<sort_order>1</sort_order>
|
200 |
-
<show_in_default>1</show_in_default>
|
201 |
-
<show_in_website>1</show_in_website>
|
202 |
-
<show_in_store>1</show_in_store>
|
203 |
-
<comment><![CDATA[This function will be called right after appending new elements to the container and setting up animations. Default: function(){}]]></comment>
|
204 |
-
</processed_callback>
|
205 |
-
</fields>
|
206 |
-
</callbacks>
|
207 |
-
</groups>
|
208 |
-
</infinitescroll2>
|
209 |
-
</sections>
|
210 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/{etc/modules/Strategery_Infinitescroll2.xml → design/frontend/base/default/template/strategery/infinitescroll2/js.phtml}
RENAMED
@@ -1,6 +1,5 @@
|
|
1 |
-
<?
|
2 |
-
|
3 |
-
/*
|
4 |
* InfiniteScroll - Magento Integration
|
5 |
*
|
6 |
* NOTICE OF LICENSE
|
@@ -17,12 +16,10 @@
|
|
17 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
18 |
* @link http://gabrielsomoza.com/
|
19 |
*/
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
</modules>
|
28 |
-
</config>
|
1 |
+
<?php
|
2 |
+
/**
|
|
|
3 |
* InfiniteScroll - Magento Integration
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
18 |
*/
|
19 |
+
$helper = $this->helper('infinitescroll2');
|
20 |
+
?>
|
21 |
+
jQuery(document).ready(function ($) {
|
22 |
+
$('<?php echo $helper->getConfigData('selectors/content') ?>').infinitescroll({
|
23 |
+
<?php echo $helper->getJsConfig(); ?>
|
24 |
+
});
|
25 |
+
});
|
|
|
|
app/design/frontend/base/default/template/strategery/infinitescroll2/toolbar.phtml
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* InfiniteScroll - Magento Integration
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0),
|
8 |
+
* available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
*
|
11 |
+
* @category Strategery
|
12 |
+
* @package Strategery_Infinitescroll2
|
13 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
14 |
+
* @copyright Copyright (c) 2011 Strategery Inc. (http://usestrategery.com)
|
15 |
+
*
|
16 |
+
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
+
* @link http://gabrielsomoza.com/
|
18 |
+
*
|
19 |
+
* Update 2.0.0
|
20 |
+
* @author Damian A. Pastorini (admin@dwdesigner.com)
|
21 |
+
* @link http://www.dwdesigner.com/
|
22 |
+
*/
|
23 |
+
?>
|
24 |
+
<?php if(Mage::getVersion()>1.3): ?>
|
25 |
+
<?php if($this->getCollection()->getSize()): ?>
|
26 |
+
<div class="toolbar" style="display:none;">
|
27 |
+
<?php echo $this->getPagerHtml() ?>
|
28 |
+
</div>
|
29 |
+
<?php endif ?>
|
30 |
+
<?php else: ?>
|
31 |
+
<?php if($this->getCollection()->getSize() && $this->getLastPageNum()>1): ?>
|
32 |
+
<table class="pager" cellspacing="0" style="display:none;">
|
33 |
+
<tr>
|
34 |
+
<td class="pages">
|
35 |
+
<strong><?php echo $this->__('Page:') ?></strong>
|
36 |
+
<ol>
|
37 |
+
<?php if (!$this->isFirstPage()): ?>
|
38 |
+
<li><a href="<?php echo $this->getPreviousPageUrl() ?>"><img src="<?php echo $this->getSkinUrl('images/pager_arrow_left.gif') ?>" alt="<?php echo $this->__('Previous') ?>" /></a></li>
|
39 |
+
<?php endif ?>
|
40 |
+
<?php foreach ($this->getPages() as $_page): ?>
|
41 |
+
<?php if ($this->isPageCurrent($_page)): ?>
|
42 |
+
<li><span class="on"><?php echo $_page ?></span></li>
|
43 |
+
<?php else: ?>
|
44 |
+
<li><a href="<?php echo $this->getPageUrl($_page) ?>"><?php echo $_page ?></a></li>
|
45 |
+
<?php endif ?>
|
46 |
+
<?php endforeach;; ?>
|
47 |
+
<?php if (!$this->isLastPage()): ?>
|
48 |
+
<li><a href="<?php echo $this->getNextPageUrl() ?>"><img src="<?php echo $this->getSkinUrl('images/pager_arrow_right.gif') ?>" alt="<?php echo $this->__('Next') ?>" /></a></li>
|
49 |
+
<?php endif ?>
|
50 |
+
</ol>
|
51 |
+
</td>
|
52 |
+
</tr>
|
53 |
+
</table>
|
54 |
+
<?php endif ?>
|
55 |
+
<?php endif; ?>
|
app/design/frontend/default/default/layout/strategery-infinitescroll2.xml
DELETED
@@ -1,87 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* InfiniteScroll - Magento Integration
|
5 |
-
*
|
6 |
-
* NOTICE OF LICENSE
|
7 |
-
*
|
8 |
-
* This source file is subject to the Academic Free License (AFL 3.0),
|
9 |
-
* available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-3.0.php
|
11 |
-
*
|
12 |
-
* @category Strategery
|
13 |
-
* @package Strategery_Infinitescroll2
|
14 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
15 |
-
* @copyright Copyright (c) 2011 Strategery Inc. (http://usestrategery.com)
|
16 |
-
*
|
17 |
-
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
18 |
-
* @link http://gabrielsomoza.com/
|
19 |
-
*/
|
20 |
-
-->
|
21 |
-
<layout version="0.1.0">
|
22 |
-
<infinitescroll2_js_index>
|
23 |
-
<reference name="root">
|
24 |
-
<action method="setTemplate" ifconfig="infinitescroll2/general/enabled">
|
25 |
-
<template>strategery/infinitescroll2/js.phtml</template>
|
26 |
-
</action>
|
27 |
-
</reference>
|
28 |
-
</infinitescroll2_js_index>
|
29 |
-
|
30 |
-
<catalog_category_default>
|
31 |
-
<reference name="head">
|
32 |
-
<action method="addItem" ifconfig="infinitescroll2/general/enabled">
|
33 |
-
<type>js</type>
|
34 |
-
<name>jquery/jquery.latest.min.js</name>
|
35 |
-
</action>
|
36 |
-
<action method="addItem" ifconfig="infinitescroll2/general/enabled">
|
37 |
-
<type>js</type>
|
38 |
-
<name>jquery/infinitescroll2/jquery.infinitescroll2.js</name>
|
39 |
-
</action>
|
40 |
-
<action method="addItem" ifconfig="infinitescroll2/general/enabled">
|
41 |
-
<type>js</type>
|
42 |
-
<name>jquery/infinitescroll2/behaviors/infinitescroll2-magento.js</name>
|
43 |
-
</action>
|
44 |
-
</reference>
|
45 |
-
<reference name="before_body_end">
|
46 |
-
<block type="core/text" name="infinitescroll2_config">
|
47 |
-
<action method="setText">
|
48 |
-
<text><![CDATA[<script type="text/javascript" src="/infinitescroll2/js"></script>]]></text>
|
49 |
-
</action>
|
50 |
-
</block>
|
51 |
-
</reference>
|
52 |
-
<reference name="product_list_toolbar">
|
53 |
-
<action method="setTemplate" ifconfig="infinitescroll2/design/hide_toolbar">
|
54 |
-
<template>strategery/infinitescroll2/toolbar.phtml</template>
|
55 |
-
</action>
|
56 |
-
</reference>
|
57 |
-
</catalog_category_default>
|
58 |
-
|
59 |
-
<catalog_category_layered>
|
60 |
-
<reference name="head">
|
61 |
-
<action method="addItem" ifconfig="infinitescroll2/general/enabled">
|
62 |
-
<type>js</type>
|
63 |
-
<name>jquery/jquery.latest.min.js</name>
|
64 |
-
</action>
|
65 |
-
<action method="addItem" ifconfig="infinitescroll2/general/enabled">
|
66 |
-
<type>js</type>
|
67 |
-
<name>jquery/infinitescroll2/jquery.infinitescroll2.js</name>
|
68 |
-
</action>
|
69 |
-
<action method="addItem" ifconfig="infinitescroll2/general/enabled">
|
70 |
-
<type>js</type>
|
71 |
-
<name>jquery/infinitescroll2/behaviors/infinitescroll2-magento.js</name>
|
72 |
-
</action>
|
73 |
-
</reference>
|
74 |
-
<reference name="before_body_end">
|
75 |
-
<block type="core/text" name="infinitescroll2_config">
|
76 |
-
<action method="setText">
|
77 |
-
<text><![CDATA[<script type="text/javascript" src="/infinitescroll2/js"></script>]]></text>
|
78 |
-
</action>
|
79 |
-
</block>
|
80 |
-
</reference>
|
81 |
-
<reference name="product_list_toolbar">
|
82 |
-
<action method="setTemplate" ifconfig="infinitescroll2/design/hide_toolbar">
|
83 |
-
<template>strategery/infinitescroll2/toolbar.phtml</template>
|
84 |
-
</action>
|
85 |
-
</reference>
|
86 |
-
</catalog_category_layered>
|
87 |
-
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/default/default/template/strategery/infinitescroll2/js.phtml
CHANGED
@@ -16,9 +16,10 @@
|
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
18 |
*/
|
19 |
-
$helper = $this->helper('infinitescroll2');
|
|
|
20 |
jQuery(document).ready(function ($) {
|
21 |
-
$('<?php echo $helper->getConfigData('selectors/content') ?>').
|
22 |
<?php echo $helper->getJsConfig(); ?>
|
23 |
});
|
24 |
});
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
18 |
*/
|
19 |
+
$helper = $this->helper('infinitescroll2');
|
20 |
+
?>
|
21 |
jQuery(document).ready(function ($) {
|
22 |
+
$('<?php echo $helper->getConfigData('selectors/content') ?>').infinitescroll({
|
23 |
<?php echo $helper->getJsConfig(); ?>
|
24 |
});
|
25 |
});
|
app/design/frontend/default/default/template/strategery/infinitescroll2/toolbar.phtml
CHANGED
@@ -15,6 +15,10 @@
|
|
15 |
*
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
|
|
|
|
|
|
|
|
18 |
*/
|
19 |
?>
|
20 |
<?php if(Mage::getVersion()>1.3): ?>
|
15 |
*
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
18 |
+
*
|
19 |
+
* Update 2.0.0
|
20 |
+
* @author Damian A. Pastorini (admin@dwdesigner.com)
|
21 |
+
* @link http://www.dwdesigner.com/
|
22 |
*/
|
23 |
?>
|
24 |
<?php if(Mage::getVersion()>1.3): ?>
|
js/jquery/infinitescroll2/behaviors/{infinitescroll2-magento.js → infinitescroll-magento.js}
RENAMED
@@ -19,7 +19,7 @@
|
|
19 |
Behavior for Magento
|
20 |
--------------------------------
|
21 |
INFINITE SCROLL:
|
22 |
-
+ https://github.com/paulirish/
|
23 |
+ version 2.0b2.110617
|
24 |
+ Copyright 2011 Paul Irish & Luke Shumard
|
25 |
+ Licensed under the MIT license
|
@@ -27,7 +27,7 @@
|
|
27 |
*/
|
28 |
(function($){
|
29 |
$(document).ready(function(){
|
30 |
-
$.extend($.
|
31 |
_loadcallback_magento: function infscr_loadcallback_magento (box,data) {
|
32 |
var opts = this.options,
|
33 |
callback = this.options.callback, // GLOBAL OBJECT FOR CALLBACK
|
19 |
Behavior for Magento
|
20 |
--------------------------------
|
21 |
INFINITE SCROLL:
|
22 |
+
+ https://github.com/paulirish/infinitescroll/
|
23 |
+ version 2.0b2.110617
|
24 |
+ Copyright 2011 Paul Irish & Luke Shumard
|
25 |
+ Licensed under the MIT license
|
27 |
*/
|
28 |
(function($){
|
29 |
$(document).ready(function(){
|
30 |
+
$.extend($.infinitescroll.prototype,{
|
31 |
_loadcallback_magento: function infscr_loadcallback_magento (box,data) {
|
32 |
var opts = this.options,
|
33 |
callback = this.options.callback, // GLOBAL OBJECT FOR CALLBACK
|
js/jquery/infinitescroll2/{jquery.infinitescroll2.js → jquery.infinitescroll.js}
RENAMED
@@ -13,14 +13,14 @@
|
|
13 |
|
14 |
(function (window, $, undefined) {
|
15 |
|
16 |
-
$.
|
17 |
|
18 |
this.element = $(element);
|
19 |
this._create(options, callback);
|
20 |
|
21 |
};
|
22 |
|
23 |
-
$.
|
24 |
loading: {
|
25 |
finished: undefined,
|
26 |
finishedMsg: "<em>Congratulations, you've reached the end of the internet.</em>",
|
@@ -60,7 +60,7 @@
|
|
60 |
};
|
61 |
|
62 |
|
63 |
-
$.
|
64 |
|
65 |
/*
|
66 |
----------------------------
|
@@ -109,7 +109,7 @@
|
|
109 |
// If selectors from options aren't valid, return false
|
110 |
if (!this._validate(options)) { return false; }
|
111 |
// Define options and shorthand
|
112 |
-
var opts = this.options = $.extend(true, {}, $.
|
113 |
// get the relative URL - everything past the domain name.
|
114 |
relurl = /(.*?\/\/).*?(\/.*)/,
|
115 |
path = $(opts.nextSelector).attr('href');
|
@@ -487,9 +487,11 @@
|
|
487 |
|
488 |
// if we're dealing with a table we can't use DIVs
|
489 |
box = $(opts.contentSelector).is('table') ? $('<tbody/>') : $('<div/>');
|
490 |
-
|
491 |
desturl = path.join(opts.state.currPage);
|
492 |
-
|
|
|
|
|
493 |
method = (opts.dataType == 'html' || opts.dataType == 'json') ? opts.dataType : 'html+callback';
|
494 |
if (opts.appendCallback && opts.dataType == 'html') method += '+callback'
|
495 |
|
@@ -600,7 +602,7 @@
|
|
600 |
|
601 |
*/
|
602 |
|
603 |
-
$.fn.
|
604 |
|
605 |
|
606 |
var thisCall = typeof options;
|
@@ -614,7 +616,7 @@
|
|
614 |
|
615 |
this.each(function () {
|
616 |
|
617 |
-
var instance = $.data(this, '
|
618 |
|
619 |
if (!instance) {
|
620 |
// not setup yet
|
@@ -638,7 +640,7 @@
|
|
638 |
|
639 |
this.each(function () {
|
640 |
|
641 |
-
var instance = $.data(this, '
|
642 |
|
643 |
if (instance) {
|
644 |
|
@@ -648,7 +650,7 @@
|
|
648 |
} else {
|
649 |
|
650 |
// initialize new instance
|
651 |
-
$.data(this, '
|
652 |
|
653 |
}
|
654 |
|
13 |
|
14 |
(function (window, $, undefined) {
|
15 |
|
16 |
+
$.infinitescroll = function infscr(options, callback, element) {
|
17 |
|
18 |
this.element = $(element);
|
19 |
this._create(options, callback);
|
20 |
|
21 |
};
|
22 |
|
23 |
+
$.infinitescroll.defaults = {
|
24 |
loading: {
|
25 |
finished: undefined,
|
26 |
finishedMsg: "<em>Congratulations, you've reached the end of the internet.</em>",
|
60 |
};
|
61 |
|
62 |
|
63 |
+
$.infinitescroll.prototype = {
|
64 |
|
65 |
/*
|
66 |
----------------------------
|
109 |
// If selectors from options aren't valid, return false
|
110 |
if (!this._validate(options)) { return false; }
|
111 |
// Define options and shorthand
|
112 |
+
var opts = this.options = $.extend(true, {}, $.infinitescroll.defaults, options),
|
113 |
// get the relative URL - everything past the domain name.
|
114 |
relurl = /(.*?\/\/).*?(\/.*)/,
|
115 |
path = $(opts.nextSelector).attr('href');
|
487 |
|
488 |
// if we're dealing with a table we can't use DIVs
|
489 |
box = $(opts.contentSelector).is('table') ? $('<tbody/>') : $('<div/>');
|
490 |
+
|
491 |
desturl = path.join(opts.state.currPage);
|
492 |
+
|
493 |
+
desturl += '&scrollCall=1';
|
494 |
+
|
495 |
method = (opts.dataType == 'html' || opts.dataType == 'json') ? opts.dataType : 'html+callback';
|
496 |
if (opts.appendCallback && opts.dataType == 'html') method += '+callback'
|
497 |
|
602 |
|
603 |
*/
|
604 |
|
605 |
+
$.fn.infinitescroll = function infscr_init(options, callback) {
|
606 |
|
607 |
|
608 |
var thisCall = typeof options;
|
616 |
|
617 |
this.each(function () {
|
618 |
|
619 |
+
var instance = $.data(this, 'infinitescroll');
|
620 |
|
621 |
if (!instance) {
|
622 |
// not setup yet
|
640 |
|
641 |
this.each(function () {
|
642 |
|
643 |
+
var instance = $.data(this, 'infinitescroll');
|
644 |
|
645 |
if (instance) {
|
646 |
|
650 |
} else {
|
651 |
|
652 |
// initialize new instance
|
653 |
+
$.data(this, 'infinitescroll', new $.infinitescroll(options, callback, this));
|
654 |
|
655 |
}
|
656 |
|
js/jquery/infinitescroll2/{jquery.infinitescroll2.min.js → jquery.infinitescroll.min.js}
RENAMED
@@ -2,7 +2,7 @@
|
|
2 |
--------------------------------
|
3 |
Infinite Scroll
|
4 |
--------------------------------
|
5 |
-
+ https://github.com/paulirish/
|
6 |
+ version 2.0b2.110713
|
7 |
+ Copyright 2011 Paul Irish & Luke Shumard
|
8 |
+ Licensed under the MIT license
|
@@ -11,11 +11,11 @@
|
|
11 |
|
12 |
*/
|
13 |
|
14 |
-
(function(window,$,undefined){$.
|
15 |
if(binding!=='bind'&&binding!=='unbind'){this._debug('Binding value '+binding+' not valid')
|
16 |
return false;}
|
17 |
if(binding=='unbind'){(this.options.binder).unbind('smartscroll.infscr.'+instance.options.infid);}else{(this.options.binder)[binding]('smartscroll.infscr.'+instance.options.infid,function(){instance.scroll();});};this._debug('Binding',binding);},_create:function infscr_create(options,callback){if(!this._validate(options)){return false;}
|
18 |
-
var opts=this.options=$.extend(true,{},$.
|
19 |
opts.path=this._determinepath(path);opts.loading.msg=$('<div id="infscr-loading"><img alt="Loading..." src="'+opts.loading.img+'" /><div>'+opts.loading.msgText+'</div></div>');(new Image()).src=opts.loading.img;opts.pixelsFromNavToBottom=$(document).height()-$(opts.navSelector).offset().top;opts.loading.start=opts.loading.start||function(){$(opts.navSelector).hide();opts.loading.msg.appendTo(opts.loading.selector).show(opts.loading.speed,function(){beginAjax(opts);});};opts.loading.finished=opts.loading.finished||function(){opts.loading.msg.fadeOut('normal');};opts.callback=function(instance,data){if(!!opts.behavior&&instance['_callback_'+opts.behavior]!==undefined){instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0],data);}
|
20 |
if(callback){callback.call($(opts.contentSelector)[0],data);}};this._setup();},_debug:function infscr_debug(){if(this.options.debug){return window.console&&console.log.call(console,arguments);}},_determinepath:function infscr_determinepath(path){var opts=this.options;if(!!opts.behavior&&this['_determinepath_'+opts.behavior]!==undefined){this['_determinepath_'+opts.behavior].call(this,path);return;}
|
21 |
if(!!opts.pathParse){this._debug('pathParse manual');return opts.pathParse;}else if(path.match(/^(.*?)\b2\b(.*?$)/)){path=path.match(/^(.*?)\b2\b(.*?$)/).slice(1);}else if(path.match(/^(.*?)2(.*?$)/)){if(path.match(/^(.*?page=)2(\/.*|$)/)){path=path.match(/^(.*?page=)2(\/.*|$)/).slice(1);return path;}
|
@@ -40,8 +40,8 @@ return true;}},bind:function infscr_bind(){this._binding('bind');},destroy:funct
|
|
40 |
switch(method){case'html+callback':instance._debug('Using HTML via .load() method');box.load(desturl+' '+opts.itemSelector,null,function infscr_ajax_callback(responseText){instance._loadcallback(box,responseText);});break;case'html':case'json':instance._debug('Using '+(method.toUpperCase())+' via $.ajax() method');$.ajax({url:desturl,dataType:opts.dataType,complete:function infscr_ajax_callback(jqXHR,textStatus){condition=(typeof(jqXHR.isResolved)!=='undefined')?(jqXHR.isResolved()):(textStatus==="success"||textStatus==="notmodified");(condition)?instance._loadcallback(box,jqXHR.responseText):instance._error('end');}});break;}};if(!!opts.behavior&&this['retrieve_'+opts.behavior]!==undefined){this['retrieve_'+opts.behavior].call(this,pageNum);return;}
|
41 |
if(opts.state.isDestroyed){this._debug('Instance is destroyed');return false;};opts.state.isDuringAjax=true;opts.loading.start.call($(opts.contentSelector)[0],opts);},scroll:function infscr_scroll(){var opts=this.options,state=opts.state;if(!!opts.behavior&&this['scroll_'+opts.behavior]!==undefined){this['scroll_'+opts.behavior].call(this);return;}
|
42 |
if(state.isDuringAjax||state.isInvalidPage||state.isDone||state.isDestroyed||state.isPaused)return;if(!this._nearbottom())return;this.retrieve();},toggle:function infscr_toggle(){this._pausing();},unbind:function infscr_unbind(){this._binding('unbind');},update:function infscr_options(key){if($.isPlainObject(key)){this.options=$.extend(true,this.options,key);}}}
|
43 |
-
$.fn.
|
44 |
if(!$.isFunction(instance[options])||options.charAt(0)==="_"){return false;}
|
45 |
-
instance[options].apply(instance,args);});break;case'object':this.each(function(){var instance=$.data(this,'
|
46 |
return this;};var event=$.event,scrollTimeout;event.special.smartscroll={setup:function(){$(this).bind("scroll",event.special.smartscroll.handler);},teardown:function(){$(this).unbind("scroll",event.special.smartscroll.handler);},handler:function(event,execAsap){var context=this,args=arguments;event.type="smartscroll";if(scrollTimeout){clearTimeout(scrollTimeout);}
|
47 |
scrollTimeout=setTimeout(function(){$.event.handle.apply(context,args);},execAsap==="execAsap"?0:100);}};$.fn.smartscroll=function(fn){return fn?this.bind("smartscroll",fn):this.trigger("smartscroll",["execAsap"]);};})(window,jQuery);
|
2 |
--------------------------------
|
3 |
Infinite Scroll
|
4 |
--------------------------------
|
5 |
+
+ https://github.com/paulirish/infinitescroll
|
6 |
+ version 2.0b2.110713
|
7 |
+ Copyright 2011 Paul Irish & Luke Shumard
|
8 |
+ Licensed under the MIT license
|
11 |
|
12 |
*/
|
13 |
|
14 |
+
(function(window,$,undefined){$.infinitescroll=function infscr(options,callback,element){this.element=$(element);this._create(options,callback);};$.infinitescroll.defaults={loading:{finished:undefined,finishedMsg:"<em>Congratulations, you've reached the end of the internet.</em>",img:"http://www.infinite-scroll.com/loading.gif",msg:null,msgText:"<em>Loading the next set of posts...</em>",selector:null,speed:'fast',start:undefined},state:{isDuringAjax:false,isInvalidPage:false,isDestroyed:false,isDone:false,isPaused:false,currPage:1},callback:undefined,debug:false,behavior:undefined,binder:$(window),nextSelector:"div.navigation a:first",navSelector:"div.navigation",contentSelector:null,extraScrollPx:150,itemSelector:"div.post",animate:false,pathParse:undefined,dataType:'html',appendCallback:true,bufferPx:40,errorCallback:function(){},infid:0,pixelsFromNavToBottom:undefined,path:undefined};$.infinitescroll.prototype={_binding:function infscr_binding(binding){var instance=this,opts=instance.options;if(!!opts.behavior&&this['_binding_'+opts.behavior]!==undefined){this['_binding_'+opts.behavior].call(this);return;}
|
15 |
if(binding!=='bind'&&binding!=='unbind'){this._debug('Binding value '+binding+' not valid')
|
16 |
return false;}
|
17 |
if(binding=='unbind'){(this.options.binder).unbind('smartscroll.infscr.'+instance.options.infid);}else{(this.options.binder)[binding]('smartscroll.infscr.'+instance.options.infid,function(){instance.scroll();});};this._debug('Binding',binding);},_create:function infscr_create(options,callback){if(!this._validate(options)){return false;}
|
18 |
+
var opts=this.options=$.extend(true,{},$.infinitescroll.defaults,options),relurl=/(.*?\/\/).*?(\/.*)/,path=$(opts.nextSelector).attr('href');opts.contentSelector=opts.contentSelector||this.element;opts.loading.selector=opts.loading.selector||opts.contentSelector;if(!path){this._debug('Navigation selector not found');return;}
|
19 |
opts.path=this._determinepath(path);opts.loading.msg=$('<div id="infscr-loading"><img alt="Loading..." src="'+opts.loading.img+'" /><div>'+opts.loading.msgText+'</div></div>');(new Image()).src=opts.loading.img;opts.pixelsFromNavToBottom=$(document).height()-$(opts.navSelector).offset().top;opts.loading.start=opts.loading.start||function(){$(opts.navSelector).hide();opts.loading.msg.appendTo(opts.loading.selector).show(opts.loading.speed,function(){beginAjax(opts);});};opts.loading.finished=opts.loading.finished||function(){opts.loading.msg.fadeOut('normal');};opts.callback=function(instance,data){if(!!opts.behavior&&instance['_callback_'+opts.behavior]!==undefined){instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0],data);}
|
20 |
if(callback){callback.call($(opts.contentSelector)[0],data);}};this._setup();},_debug:function infscr_debug(){if(this.options.debug){return window.console&&console.log.call(console,arguments);}},_determinepath:function infscr_determinepath(path){var opts=this.options;if(!!opts.behavior&&this['_determinepath_'+opts.behavior]!==undefined){this['_determinepath_'+opts.behavior].call(this,path);return;}
|
21 |
if(!!opts.pathParse){this._debug('pathParse manual');return opts.pathParse;}else if(path.match(/^(.*?)\b2\b(.*?$)/)){path=path.match(/^(.*?)\b2\b(.*?$)/).slice(1);}else if(path.match(/^(.*?)2(.*?$)/)){if(path.match(/^(.*?page=)2(\/.*|$)/)){path=path.match(/^(.*?page=)2(\/.*|$)/).slice(1);return path;}
|
40 |
switch(method){case'html+callback':instance._debug('Using HTML via .load() method');box.load(desturl+' '+opts.itemSelector,null,function infscr_ajax_callback(responseText){instance._loadcallback(box,responseText);});break;case'html':case'json':instance._debug('Using '+(method.toUpperCase())+' via $.ajax() method');$.ajax({url:desturl,dataType:opts.dataType,complete:function infscr_ajax_callback(jqXHR,textStatus){condition=(typeof(jqXHR.isResolved)!=='undefined')?(jqXHR.isResolved()):(textStatus==="success"||textStatus==="notmodified");(condition)?instance._loadcallback(box,jqXHR.responseText):instance._error('end');}});break;}};if(!!opts.behavior&&this['retrieve_'+opts.behavior]!==undefined){this['retrieve_'+opts.behavior].call(this,pageNum);return;}
|
41 |
if(opts.state.isDestroyed){this._debug('Instance is destroyed');return false;};opts.state.isDuringAjax=true;opts.loading.start.call($(opts.contentSelector)[0],opts);},scroll:function infscr_scroll(){var opts=this.options,state=opts.state;if(!!opts.behavior&&this['scroll_'+opts.behavior]!==undefined){this['scroll_'+opts.behavior].call(this);return;}
|
42 |
if(state.isDuringAjax||state.isInvalidPage||state.isDone||state.isDestroyed||state.isPaused)return;if(!this._nearbottom())return;this.retrieve();},toggle:function infscr_toggle(){this._pausing();},unbind:function infscr_unbind(){this._binding('unbind');},update:function infscr_options(key){if($.isPlainObject(key)){this.options=$.extend(true,this.options,key);}}}
|
43 |
+
$.fn.infinitescroll=function infscr_init(options,callback){var thisCall=typeof options;switch(thisCall){case'string':var args=Array.prototype.slice.call(arguments,1);this.each(function(){var instance=$.data(this,'infinitescroll');if(!instance){return false;}
|
44 |
if(!$.isFunction(instance[options])||options.charAt(0)==="_"){return false;}
|
45 |
+
instance[options].apply(instance,args);});break;case'object':this.each(function(){var instance=$.data(this,'infinitescroll');if(instance){instance.update(options);}else{$.data(this,'infinitescroll',new $.infinitescroll(options,callback,this));}});break;}
|
46 |
return this;};var event=$.event,scrollTimeout;event.special.smartscroll={setup:function(){$(this).bind("scroll",event.special.smartscroll.handler);},teardown:function(){$(this).unbind("scroll",event.special.smartscroll.handler);},handler:function(event,execAsap){var context=this,args=arguments;event.type="smartscroll";if(scrollTimeout){clearTimeout(scrollTimeout);}
|
47 |
scrollTimeout=setTimeout(function(){$.event.handle.apply(context,args);},execAsap==="execAsap"?0:100);}};$.fn.smartscroll=function(fn){return fn?this.bind("smartscroll",fn):this.trigger("smartscroll",["execAsap"]);};})(window,jQuery);
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Strategery_InfiniteScroll2</name>
|
4 |
-
<version>2.0
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/afl-3.0.php">Academic Free License (AFL 3.0)</license>
|
7 |
<channel>community</channel>
|
@@ -20,11 +20,11 @@ Configuration:
|
|
20 |
If you have a different theme other than the default, you will need to configure the plugin by going to
|
21 |
System / Configuration / Catalog / Infinite Scroll.</description>
|
22 |
<notes>Automatic load next page of current product list.
|
23 |
-
Support for Magento 1.3 up to 1.
|
24 |
-
<authors><author><name>Damian
|
25 |
-
<date>2012-
|
26 |
-
<time>
|
27 |
-
<contents><target name="mageetc"><dir name="modules"><file name="
|
28 |
<compatible/>
|
29 |
<dependencies/>
|
30 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Strategery_InfiniteScroll2</name>
|
4 |
+
<version>2.1.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/afl-3.0.php">Academic Free License (AFL 3.0)</license>
|
7 |
<channel>community</channel>
|
20 |
If you have a different theme other than the default, you will need to configure the plugin by going to
|
21 |
System / Configuration / Catalog / Infinite Scroll.</description>
|
22 |
<notes>Automatic load next page of current product list.
|
23 |
+
Support for Magento 1.3 up to 1.7</notes>
|
24 |
+
<authors><author><name>Damian Alberto Pastorini</name><user>auto-converted</user><email>damian.pastorini@usestrategery.com</email></author></authors>
|
25 |
+
<date>2012-06-06</date>
|
26 |
+
<time>17:19:46</time>
|
27 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Strategery_Infinitescroll.xml" hash=""/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="strategery-infinitescroll.xml" hash=""/></dir><dir name="template"><dir name="strategery"><dir name="infinitescroll2"><file name="js.phtml" hash="e45eb017f11a203291c8c1a66eb7f606"/><file name="toolbar.phtml" hash="d16882d540e2c23501f84a64e33c67e2"/></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="strategery-infinitescroll.xml" hash=""/></dir><dir name="template"><dir name="strategery"><dir name="infinitescroll2"><file name="js.phtml" hash="e45eb017f11a203291c8c1a66eb7f606"/><file name="toolbar.phtml" hash="d16882d540e2c23501f84a64e33c67e2"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="jquery"><dir name="infinitescroll2"><dir name="behaviors"><file name="infinitescroll-magento.js" hash="de9f632d8480e67a36f884aa79d08949"/></dir><file name="jquery.infinitescroll.js" hash="50dd89bf91ee4a0eb886826cf8bbf319"/><file name="jquery.infinitescroll.min.js" hash="7cb38aca89caf614b2c3894f01d19727"/></dir><file name="jquery.latest.min.js" hash="7ffe78e450bedfa8878241c3abc5edba"/></dir></dir></target></contents>
|
28 |
<compatible/>
|
29 |
<dependencies/>
|
30 |
</package>
|