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.4 |
Comparing to | |
See all releases |
Code changes from version 2.1.3 to 2.1.4
- app/code/community/Strategery/Infinitescroll2/Block/Config.php +29 -0
- app/code/community/Strategery/Infinitescroll2/Block/Flush.php +40 -0
- app/code/community/Strategery/Infinitescroll2/Helper/Data.php +21 -0
- app/code/community/Strategery/Infinitescroll2/Model/Catalog/Observer.php +25 -2
- app/code/community/Strategery/Infinitescroll2/controllers/CacheController.php +34 -0
- app/code/community/Strategery/Infinitescroll2/etc/config.xml +19 -2
- app/code/community/Strategery/Infinitescroll2/etc/system.xml +41 -5
- app/design/frontend/default/default/layout/strategery-infinitescroll2.xml +17 -17
- app/design/frontend/default/default/template/strategery/infinitescroll2/js.phtml +12 -3
- package.xml +15 -6
app/code/community/Strategery/Infinitescroll2/Block/Config.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* InfiniteScroll2 - 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 Miguel Balparda
|
17 |
+
*/
|
18 |
+
class Strategery_Infinitescroll2_Block_Config extends Mage_Core_Block_Text
|
19 |
+
{
|
20 |
+
|
21 |
+
public function setJsText($text)
|
22 |
+
{
|
23 |
+
$url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).$text;
|
24 |
+
$val = "<script type='text/javascript' src='$url'></script>";
|
25 |
+
$this->setData('text', $val);
|
26 |
+
return $this;
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/community/Strategery/Infinitescroll2/Block/Flush.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Strategery_Infinitescroll2_Block_Flush extends Mage_Adminhtml_Block_System_Config_Form_Field
|
3 |
+
{
|
4 |
+
|
5 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
|
6 |
+
$this->setElement($element);
|
7 |
+
$fromStore = $element->getScopeId();
|
8 |
+
$layout = $this->getLayout();
|
9 |
+
$flushTag = $element->getOriginalData('flush_tag');
|
10 |
+
$flushUrl = Mage::getUrl($element->getOriginalData('flush_url'));
|
11 |
+
$button = $layout->createBlock('adminhtml/widget_button')
|
12 |
+
->setType('button')
|
13 |
+
->setClass('scalable')
|
14 |
+
->setLabel('Flush Cache')
|
15 |
+
->setOnClick('javascript:executeFlush'.$flushTag.'();');
|
16 |
+
$buttonHTML = $button->toHtml();
|
17 |
+
$jsFunction = '
|
18 |
+
<script type="text/javascript">
|
19 |
+
function executeFlush'.$flushTag.'()
|
20 |
+
{
|
21 |
+
if(confirm("Are you sure?")) {
|
22 |
+
new Ajax.Request("'.$flushUrl.'",{
|
23 |
+
method: "get",
|
24 |
+
onSuccess: function(transport){
|
25 |
+
if (transport.responseText=="1"){
|
26 |
+
alert("Cache flushed.");
|
27 |
+
}
|
28 |
+
},
|
29 |
+
onFailure: function (transport){
|
30 |
+
alert("Error");
|
31 |
+
}
|
32 |
+
});
|
33 |
+
}
|
34 |
+
}
|
35 |
+
</script>';
|
36 |
+
$html = $layout->createBlock('core/text','flush-button')->setText($jsFunction.$buttonHTML)->toHtml();
|
37 |
+
return $html;
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
app/code/community/Strategery/Infinitescroll2/Helper/Data.php
CHANGED
@@ -174,5 +174,26 @@ class Strategery_Infinitescroll2_Helper_Data extends Mage_Core_Helper_Abstract
|
|
174 |
}
|
175 |
return $result;
|
176 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
}
|
174 |
}
|
175 |
return $result;
|
176 |
}
|
177 |
+
|
178 |
+
public function isCacheEnabled()
|
179 |
+
{
|
180 |
+
return $this->getConfigData('cache/enabled');
|
181 |
+
}
|
182 |
+
|
183 |
+
public function flushCache()
|
184 |
+
{
|
185 |
+
$result = false;
|
186 |
+
try {
|
187 |
+
Mage::getModel('core/design_package')->cleanMergedJsCss();
|
188 |
+
Mage::dispatchEvent('clean_media_cache_after');
|
189 |
+
$cache = Mage::getSingleton('core/cache');
|
190 |
+
$cache->flush("infinitescroll2");
|
191 |
+
$result = '1';
|
192 |
+
}
|
193 |
+
catch (Exception $e) {
|
194 |
+
$this->_getSession()->addError($e->getMessage());
|
195 |
+
}
|
196 |
+
return $result;
|
197 |
+
}
|
198 |
|
199 |
}
|
app/code/community/Strategery/Infinitescroll2/Model/Catalog/Observer.php
CHANGED
@@ -27,7 +27,7 @@ class Strategery_Infinitescroll2_Model_Catalog_Observer
|
|
27 |
$helper = Mage::helper('infinitescroll2');
|
28 |
// observer data:
|
29 |
$event = $observer->getEvent();
|
30 |
-
|
31 |
$lastPageNumber = $collection->getLastPageNumber();
|
32 |
if(Mage::registry('current_category') && $helper->isMemoryActive() && $lastPageNumber>1)
|
33 |
{
|
@@ -86,7 +86,7 @@ class Strategery_Infinitescroll2_Model_Catalog_Observer
|
|
86 |
$helper = Mage::helper('infinitescroll2');
|
87 |
// observer data:
|
88 |
$event = $observer->getEvent();
|
89 |
-
|
90 |
$lastPageNumber = $collection->getLastPageNumber();
|
91 |
if(Mage::registry('current_category') && $helper->isMemoryActive() && $lastPageNumber>1)
|
92 |
{
|
@@ -141,5 +141,28 @@ class Strategery_Infinitescroll2_Model_Catalog_Observer
|
|
141 |
$helper->getSession()->setData('infiniteScroll','');
|
142 |
}
|
143 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
|
145 |
}
|
27 |
$helper = Mage::helper('infinitescroll2');
|
28 |
// observer data:
|
29 |
$event = $observer->getEvent();
|
30 |
+
$collection = $this->_getCache($observer, Mage::registry('current_category')->getId());
|
31 |
$lastPageNumber = $collection->getLastPageNumber();
|
32 |
if(Mage::registry('current_category') && $helper->isMemoryActive() && $lastPageNumber>1)
|
33 |
{
|
86 |
$helper = Mage::helper('infinitescroll2');
|
87 |
// observer data:
|
88 |
$event = $observer->getEvent();
|
89 |
+
$collection = $event->getCollection();
|
90 |
$lastPageNumber = $collection->getLastPageNumber();
|
91 |
if(Mage::registry('current_category') && $helper->isMemoryActive() && $lastPageNumber>1)
|
92 |
{
|
141 |
$helper->getSession()->setData('infiniteScroll','');
|
142 |
}
|
143 |
}
|
144 |
+
|
145 |
+
public function refreshCache($observer)
|
146 |
+
{
|
147 |
+
if (Mage::app()->getRequest()->getParam("section") == "infinitescroll2") {
|
148 |
+
Mage::helper('infinitescroll2')->flushCache();
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
protected function _getCache ($observer, $categoryId)
|
153 |
+
{
|
154 |
+
$collection = $observer->getCollection();
|
155 |
+
if(Mage::helper('infinitescroll2')->isCacheEnabled())
|
156 |
+
{
|
157 |
+
$cache = Mage::getSingleton('core/cache');
|
158 |
+
if ($cacheCollection = $cache->load("infinitescroll2_collection_".$categoryId)) {
|
159 |
+
$collection = $cacheCollection;
|
160 |
+
}
|
161 |
+
else {
|
162 |
+
$cache->save($collection, "infinitescroll2_collection_".$categoryId,array('infinitescroll2'));
|
163 |
+
}
|
164 |
+
}
|
165 |
+
return $collection;
|
166 |
+
}
|
167 |
|
168 |
}
|
app/code/community/Strategery/Infinitescroll2/controllers/CacheController.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* InfiniteScroll2 - 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 Damian A. Pastorini (admin@dwdesigner.com)
|
17 |
+
* @link http://www.dwdesigner.com/
|
18 |
+
*/
|
19 |
+
class Strategery_Infinitescroll2_CacheController extends Mage_Core_Controller_Front_Action
|
20 |
+
{
|
21 |
+
|
22 |
+
public function flushAction()
|
23 |
+
{
|
24 |
+
$result = false;
|
25 |
+
try {
|
26 |
+
$result = Mage::helper('infinitescroll2')->flushCache();
|
27 |
+
}
|
28 |
+
catch (Exception $e) {
|
29 |
+
$this->_getSession()->addError($e->getMessage());
|
30 |
+
}
|
31 |
+
echo $result;
|
32 |
+
}
|
33 |
+
|
34 |
+
}
|
app/code/community/Strategery/Infinitescroll2/etc/config.xml
CHANGED
@@ -25,7 +25,7 @@
|
|
25 |
<config>
|
26 |
<modules>
|
27 |
<Strategery_Infinitescroll2>
|
28 |
-
<version>2.1.
|
29 |
</Strategery_Infinitescroll2>
|
30 |
</modules>
|
31 |
<global>
|
@@ -39,7 +39,21 @@
|
|
39 |
<class>Strategery_Infinitescroll2_Model</class>
|
40 |
</infinitescroll2>
|
41 |
</models>
|
|
|
|
|
|
|
|
|
|
|
42 |
<events>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
<catalog_product_collection_load_before>
|
44 |
<observers>
|
45 |
<infinitescroll2_catalog_observer>
|
@@ -84,6 +98,9 @@
|
|
84 |
<enabled>1</enabled>
|
85 |
<debug>0</debug>
|
86 |
</general>
|
|
|
|
|
|
|
87 |
<selectors>
|
88 |
<content>div.category-products</content>
|
89 |
<navigation>div.toolbar:last</navigation>
|
@@ -133,4 +150,4 @@
|
|
133 |
</resources>
|
134 |
</acl>
|
135 |
</adminhtml>
|
136 |
-
</config>
|
25 |
<config>
|
26 |
<modules>
|
27 |
<Strategery_Infinitescroll2>
|
28 |
+
<version>2.1.4</version>
|
29 |
</Strategery_Infinitescroll2>
|
30 |
</modules>
|
31 |
<global>
|
39 |
<class>Strategery_Infinitescroll2_Model</class>
|
40 |
</infinitescroll2>
|
41 |
</models>
|
42 |
+
<blocks>
|
43 |
+
<infinitescroll2>
|
44 |
+
<class>Strategery_Infinitescroll2_Block</class>
|
45 |
+
</infinitescroll2>
|
46 |
+
</blocks>
|
47 |
<events>
|
48 |
+
<controller_action_postdispatch_adminhtml_system_config_save>
|
49 |
+
<observers>
|
50 |
+
<infinitescroll2_save_observer>
|
51 |
+
<type>singleton</type>
|
52 |
+
<class>Strategery_Infinitescroll2_Model_Catalog_Observer</class>
|
53 |
+
<method>refreshCache</method>
|
54 |
+
</infinitescroll2_save_observer>
|
55 |
+
</observers>
|
56 |
+
</controller_action_postdispatch_adminhtml_system_config_save>
|
57 |
<catalog_product_collection_load_before>
|
58 |
<observers>
|
59 |
<infinitescroll2_catalog_observer>
|
98 |
<enabled>1</enabled>
|
99 |
<debug>0</debug>
|
100 |
</general>
|
101 |
+
<cache>
|
102 |
+
<enabled>1</enabled>
|
103 |
+
</cache>
|
104 |
<selectors>
|
105 |
<content>div.category-products</content>
|
106 |
<navigation>div.toolbar:last</navigation>
|
150 |
</resources>
|
151 |
</acl>
|
152 |
</adminhtml>
|
153 |
+
</config>
|
app/code/community/Strategery/Infinitescroll2/etc/system.xml
CHANGED
@@ -23,10 +23,16 @@
|
|
23 |
*/
|
24 |
-->
|
25 |
<config>
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
<sections>
|
27 |
<infinitescroll2 translate="label" module="infinitescroll2">
|
28 |
<label>Infinite Scroll 2</label>
|
29 |
-
<tab>
|
30 |
<frontend_type>text</frontend_type>
|
31 |
<sort_order>120</sort_order>
|
32 |
<show_in_default>1</show_in_default>
|
@@ -61,10 +67,40 @@
|
|
61 |
</debug>
|
62 |
</fields>
|
63 |
</general>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
<selectors translate="label">
|
65 |
<label>Selectors</label>
|
66 |
<frontend_type>text</frontend_type>
|
67 |
-
<sort_order>
|
68 |
<show_in_default>1</show_in_default>
|
69 |
<show_in_website>1</show_in_website>
|
70 |
<show_in_store>1</show_in_store>
|
@@ -114,7 +150,7 @@
|
|
114 |
<design translate="label">
|
115 |
<label>Design</label>
|
116 |
<frontend_type>text</frontend_type>
|
117 |
-
<sort_order>
|
118 |
<show_in_default>1</show_in_default>
|
119 |
<show_in_website>1</show_in_website>
|
120 |
<show_in_store>1</show_in_store>
|
@@ -192,7 +228,7 @@
|
|
192 |
<memory translate="label">
|
193 |
<label>Scroll Memory</label>
|
194 |
<frontend_type>text</frontend_type>
|
195 |
-
<sort_order>
|
196 |
<show_in_default>1</show_in_default>
|
197 |
<show_in_website>1</show_in_website>
|
198 |
<show_in_store>1</show_in_store>
|
@@ -229,7 +265,7 @@
|
|
229 |
<callbacks translate="label">
|
230 |
<label>Callbacks</label>
|
231 |
<frontend_type>text</frontend_type>
|
232 |
-
<sort_order>
|
233 |
<show_in_default>1</show_in_default>
|
234 |
<show_in_website>1</show_in_website>
|
235 |
<show_in_store>1</show_in_store>
|
23 |
*/
|
24 |
-->
|
25 |
<config>
|
26 |
+
<tabs>
|
27 |
+
<strategery translate="label" module="infinitescroll2">
|
28 |
+
<label>Strategery Inc. Extensions</label>
|
29 |
+
<sort_order>201</sort_order>
|
30 |
+
</strategery>
|
31 |
+
</tabs>
|
32 |
<sections>
|
33 |
<infinitescroll2 translate="label" module="infinitescroll2">
|
34 |
<label>Infinite Scroll 2</label>
|
35 |
+
<tab>strategery</tab>
|
36 |
<frontend_type>text</frontend_type>
|
37 |
<sort_order>120</sort_order>
|
38 |
<show_in_default>1</show_in_default>
|
67 |
</debug>
|
68 |
</fields>
|
69 |
</general>
|
70 |
+
<cache translate="label">
|
71 |
+
<label>Cache</label>
|
72 |
+
<frontend_type>text</frontend_type>
|
73 |
+
<sort_order>2</sort_order>
|
74 |
+
<show_in_default>1</show_in_default>
|
75 |
+
<show_in_website>1</show_in_website>
|
76 |
+
<show_in_store>1</show_in_store>
|
77 |
+
<fields>
|
78 |
+
<enabled>
|
79 |
+
<label>Enabled</label>
|
80 |
+
<frontend_type>select</frontend_type>
|
81 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
82 |
+
<sort_order>0</sort_order>
|
83 |
+
<show_in_default>1</show_in_default>
|
84 |
+
<show_in_website>1</show_in_website>
|
85 |
+
<show_in_store>1</show_in_store>
|
86 |
+
</enabled>
|
87 |
+
<flush>
|
88 |
+
<label>Full InfiniteScroll 2 Cache</label>
|
89 |
+
<frontend_type>button</frontend_type>
|
90 |
+
<frontend_model>infinitescroll2/flush</frontend_model>
|
91 |
+
<sort_order>1</sort_order>
|
92 |
+
<show_in_default>1</show_in_default>
|
93 |
+
<show_in_website>1</show_in_website>
|
94 |
+
<show_in_store>1</show_in_store>
|
95 |
+
<flush_tag>infinitescroll2</flush_tag>
|
96 |
+
<flush_url>infinitescroll2/cache/flush</flush_url>
|
97 |
+
</flush>
|
98 |
+
</fields>
|
99 |
+
</cache>
|
100 |
<selectors translate="label">
|
101 |
<label>Selectors</label>
|
102 |
<frontend_type>text</frontend_type>
|
103 |
+
<sort_order>3</sort_order>
|
104 |
<show_in_default>1</show_in_default>
|
105 |
<show_in_website>1</show_in_website>
|
106 |
<show_in_store>1</show_in_store>
|
150 |
<design translate="label">
|
151 |
<label>Design</label>
|
152 |
<frontend_type>text</frontend_type>
|
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>
|
228 |
<memory translate="label">
|
229 |
<label>Scroll Memory</label>
|
230 |
<frontend_type>text</frontend_type>
|
231 |
+
<sort_order>5</sort_order>
|
232 |
<show_in_default>1</show_in_default>
|
233 |
<show_in_website>1</show_in_website>
|
234 |
<show_in_store>1</show_in_store>
|
265 |
<callbacks translate="label">
|
266 |
<label>Callbacks</label>
|
267 |
<frontend_type>text</frontend_type>
|
268 |
+
<sort_order>6</sort_order>
|
269 |
<show_in_default>1</show_in_default>
|
270 |
<show_in_website>1</show_in_website>
|
271 |
<show_in_store>1</show_in_store>
|
app/design/frontend/default/default/layout/strategery-infinitescroll2.xml
CHANGED
@@ -53,11 +53,11 @@
|
|
53 |
</action>
|
54 |
</reference>
|
55 |
<reference name="before_body_end">
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
</reference>
|
62 |
<reference name="product_list_toolbar">
|
63 |
<action method="setTemplate" ifconfig="infinitescroll2/design/hide_toolbar">
|
@@ -88,11 +88,11 @@
|
|
88 |
</action>
|
89 |
</reference>
|
90 |
<reference name="before_body_end">
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
</reference>
|
97 |
<reference name="product_list_toolbar">
|
98 |
<action method="setTemplate" ifconfig="infinitescroll2/design/hide_toolbar">
|
@@ -117,9 +117,9 @@
|
|
117 |
</action>
|
118 |
</reference>
|
119 |
<reference name="before_body_end">
|
120 |
-
<block type="
|
121 |
-
<action method="
|
122 |
-
<text
|
123 |
</action>
|
124 |
</block>
|
125 |
</reference>
|
@@ -146,9 +146,9 @@
|
|
146 |
</action>
|
147 |
</reference>
|
148 |
<reference name="before_body_end">
|
149 |
-
<block type="
|
150 |
-
<action method="
|
151 |
-
<text
|
152 |
</action>
|
153 |
</block>
|
154 |
</reference>
|
@@ -159,4 +159,4 @@
|
|
159 |
</reference>
|
160 |
</catalogsearch_advanced_index>
|
161 |
|
162 |
-
</layout>
|
53 |
</action>
|
54 |
</reference>
|
55 |
<reference name="before_body_end">
|
56 |
+
<block type="infinitescroll2/config" name="infinitescroll2_config">
|
57 |
+
<action method="setJsText">
|
58 |
+
<text>infinitescroll2/js</text>
|
59 |
+
</action>
|
60 |
+
</block>
|
61 |
</reference>
|
62 |
<reference name="product_list_toolbar">
|
63 |
<action method="setTemplate" ifconfig="infinitescroll2/design/hide_toolbar">
|
88 |
</action>
|
89 |
</reference>
|
90 |
<reference name="before_body_end">
|
91 |
+
<block type="infinitescroll2/config" name="infinitescroll2_config">
|
92 |
+
<action method="setJsText">
|
93 |
+
<text>infinitescroll2/js</text>
|
94 |
+
</action>
|
95 |
+
</block>
|
96 |
</reference>
|
97 |
<reference name="product_list_toolbar">
|
98 |
<action method="setTemplate" ifconfig="infinitescroll2/design/hide_toolbar">
|
117 |
</action>
|
118 |
</reference>
|
119 |
<reference name="before_body_end">
|
120 |
+
<block type="infinitescroll2/config" name="infinitescroll2_config">
|
121 |
+
<action method="setJsText">
|
122 |
+
<text>infinitescroll2/js</text>
|
123 |
</action>
|
124 |
</block>
|
125 |
</reference>
|
146 |
</action>
|
147 |
</reference>
|
148 |
<reference name="before_body_end">
|
149 |
+
<block type="infinitescroll2/config" name="infinitescroll2_config">
|
150 |
+
<action method="setJsText">
|
151 |
+
<text>infinitescroll2/js</text>
|
152 |
</action>
|
153 |
</block>
|
154 |
</reference>
|
159 |
</reference>
|
160 |
</catalogsearch_advanced_index>
|
161 |
|
162 |
+
</layout>
|
app/design/frontend/default/default/template/strategery/infinitescroll2/js.phtml
CHANGED
@@ -16,11 +16,20 @@
|
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
18 |
*/
|
19 |
-
$helper =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
?>
|
21 |
jQuery(document).ready(function ($) {
|
22 |
-
$('<?php echo $
|
23 |
-
<?php echo $
|
24 |
},
|
25 |
<?php echo Mage::getStoreConfig('infinitescroll2/callbacks/processed_callback')?>
|
26 |
);
|
16 |
* @author Gabriel Somoza (me@gabrielsomoza.com)
|
17 |
* @link http://gabrielsomoza.com/
|
18 |
*/
|
19 |
+
$helper = Mage::helper('infinitescroll2');
|
20 |
+
$cache = Mage::getSingleton('core/cache');
|
21 |
+
if ($jsConfig = $cache->load("infinitescroll2_jsConfig")) {
|
22 |
+
$configData = $cache->load("infinitescroll2_configData");
|
23 |
+
} else {
|
24 |
+
$jsConfig = $helper->getJsConfig();
|
25 |
+
$configData = $helper->getConfigData('selectors/content');
|
26 |
+
$cache->save($jsData, "infinitescroll2_jsConfig", array("infinitescroll2"));
|
27 |
+
$cache->save($configData, "infinitescroll2_configData", array("infinitescroll2"));
|
28 |
+
}
|
29 |
?>
|
30 |
jQuery(document).ready(function ($) {
|
31 |
+
$('<?php echo $configData ?>').infinitescroll({
|
32 |
+
<?php echo $jsConfig; ?>
|
33 |
},
|
34 |
<?php echo Mage::getStoreConfig('infinitescroll2/callbacks/processed_callback')?>
|
35 |
);
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Strategery_InfiniteScroll2</name>
|
4 |
-
<version>2.1.
|
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>
|
@@ -11,20 +11,29 @@
|
|
11 |
This extension is for when the user reaches the end of the current product list, the next page is loaded automatically by AJAX after the end of the list.
|
12 |
Easy to install and configure, this module works 100% out of the box with Magento's default theme, and also gives to you the posibility to configurate the custom selectors of your custom theme.
|
13 |
Now you can get a more friendly UI by helping the user to save clicks and time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
Installation:
|
15 |
Download from Magento Connect.
|
16 |
Configure the selectos for your theme on System / Configuration seccion.
|
17 |
Refresh your Magento cache.
|
18 |
Scroll to infinity and beyond!
|
|
|
19 |
Configuration:
|
20 |
-
If you have a different theme other than the default, you will need to configure the plugin by going to
|
21 |
-
|
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-
|
26 |
-
<time>15:
|
27 |
-
<contents><target name="mageetc"><dir name="modules"><file name="Strategery_Infinitescroll2.xml" hash="8724cb82b6d47b9996610029e302e5d4"/></dir></target><target name="magecommunity"><dir name="Strategery"><dir name="Infinitescroll2"><dir name="Helper"><file name="Data.php" hash="
|
28 |
<compatible/>
|
29 |
<dependencies/>
|
30 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Strategery_InfiniteScroll2</name>
|
4 |
+
<version>2.1.4</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>
|
11 |
This extension is for when the user reaches the end of the current product list, the next page is loaded automatically by AJAX after the end of the list.
|
12 |
Easy to install and configure, this module works 100% out of the box with Magento's default theme, and also gives to you the posibility to configurate the custom selectors of your custom theme.
|
13 |
Now you can get a more friendly UI by helping the user to save clicks and time.
|
14 |
+

|
15 |
+
Demo:
|
16 |
+
http://demo.usestrategery.com/infinite-scroll
|
17 |
+
Admin:
|
18 |
+
http://demo.usestrategery.com/infinite-scroll/admin
|
19 |
+
User: demo
|
20 |
+
Password: demo1234
|
21 |
+

|
22 |
Installation:
|
23 |
Download from Magento Connect.
|
24 |
Configure the selectos for your theme on System / Configuration seccion.
|
25 |
Refresh your Magento cache.
|
26 |
Scroll to infinity and beyond!
|
27 |
+

|
28 |
Configuration:
|
29 |
+
If you have a different theme other than the default, you will need to copy the default theme files to your custom theme folder and configure the plugin by going to System / Configuration / Catalog / Infinite Scroll.
|
30 |
+
NOTE: If you have another JS module that adds some custom behavior to the product list, remember to use our callback function to add that behavior to the products loaded by InfiniteScroll.</description>
|
31 |
<notes>Automatic load next page of current product list.
|
32 |
Support for Magento 1.3 up to 1.7</notes>
|
33 |
<authors><author><name>Damian Alberto Pastorini</name><user>auto-converted</user><email>damian.pastorini@usestrategery.com</email></author></authors>
|
34 |
+
<date>2012-12-07</date>
|
35 |
+
<time>15:35:55</time>
|
36 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Strategery_Infinitescroll2.xml" hash="8724cb82b6d47b9996610029e302e5d4"/></dir></target><target name="magecommunity"><dir name="Strategery"><dir name="Infinitescroll2"><dir name="Block"><file name="Config.php" hash="a587b8e8ed1ab41594bd0db6e320358b"/><file name="Flush.php" hash="d04139875ed190aec2431a7a83deaa21"/></dir><dir name="Helper"><file name="Data.php" hash="05de0d81682ca71b7d34e82e1ba2be60"/></dir><dir name="Model"><dir name="Catalog"><file name="Observer.php" hash="6a870e5e00433debb70b9a33153ecbbc"/></dir></dir><dir name="controllers"><file name="CacheController.php" hash="1029bfa5495cfcf02cad62aa8a40ace3"/><file name="JsController.php" hash="3d97abe7a35b69bb70e6bb3ab1414f47"/></dir><dir name="etc"><file name="config.xml" hash="5369d11a4686aa51acddf43e4e3c3792"/><file name="system.xml" hash="b07bf39a7ec5fa96a192749e9afa3e4b"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="strategery-infinitescroll2.xml" hash="f8c0447f74f31b576d9e9cee89c99b8f"/></dir><dir name="template"><dir name="strategery"><dir name="infinitescroll2"><file name="js.phtml" hash="85f7a4b3265da1693c03ff97ac17094e"/><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="88a5a092c68911819302952e2128fe34"/></dir><file name="https.js" hash="be476c35fecb93b0a88625d8bc8a128b"/><file name="jquery.infinitescroll.js" hash="862b580a996c3f7a9daa1fcc1fae808d"/><file name="jquery.infinitescroll.min.js" hash="24131ba057a50077af7a97dfa1fcde30"/></dir><file name="jquery.latest.min.js" hash="7ffe78e450bedfa8878241c3abc5edba"/></dir></dir></target></contents>
|
37 |
<compatible/>
|
38 |
<dependencies/>
|
39 |
</package>
|