Explorar el Código

#3064 Paginate improvements + Groups app usage example

RomanL hace 5 años
padre
commit
beb98d0cd8

+ 5 - 0
inc/js/functions.js

@@ -127,6 +127,11 @@ function loadDynamicBlockAutoPaginate (e, iStart, iPerPage, sAdditionalUrlParams
     if ('undefined' != typeof(sAdditionalUrlParams))
         sUrl = bx_append_url_params(sUrl, sAdditionalUrlParams);
 
+	if ($(e).parents('.bx-search-result-block-pagination').length > 0){
+		$([document.documentElement, document.body]).animate({
+			scrollTop: $(e).parents('.bx-search-result-block-pagination').first().offset().top
+		}, 500);
+	}
     return loadDynamicBlockAuto(e, sUrl);
 }
 

+ 1 - 1
modules/base/general/classes/BxBaseModGeneralSearchResult.php

@@ -104,7 +104,7 @@ class BxBaseModGeneralSearchResult extends BxTemplSearchResult
         if(empty($sPagination))
             return '';
 
-        return '<div class="bx-search-result-block-pagination bx-def-margin-top">' . $sPagination . '</div>';
+        return $sPagination;
     }
 
     protected function getItemPerPageInShowCase ()

+ 1 - 1
modules/boonex/groups/classes/BxGroupsSearchResult.php

@@ -47,7 +47,7 @@ class BxGroupsSearchResult extends BxBaseModGroupsSearchResult
                     'joinFields' => array(),
                 ),
             ),
-            'paginate' => array('perPage' => getParam('bx_groups_per_page_browse'), 'start' => 0),
+            'paginate' => array('perPage' => getParam('bx_groups_per_page_browse'), 'start' => 0, 'on_top' => true, 'on_bottom' => true),
             'sorting' => 'last',
             'rss' => array(
                 'title' => '',

+ 13 - 0
template/paginate_block.html

@@ -0,0 +1,13 @@
+<div class="bx-search-result-block-pagination">
+    <bx_if:top>
+        <div class="bx-def-margin-bottom">
+         __paginate__
+		</div>
+    </bx_if:top>
+	__content__
+	<bx_if:bottom>
+		<div class="bx-def-margin-top">
+         __paginate__
+		</div>
+    </bx_if:bottom>
+</div>

+ 16 - 1
template/scripts/BxBaseSearchResult.php

@@ -90,7 +90,22 @@ class BxBaseSearchResult extends BxDolSearchResult
 
     function displaySearchBox ($sContent, $sPaginate = '')
     {
-        $sContent .= $sPaginate;
+		$sContent = BxDolTemplate::getInstance()->parseHtmlByName('paginate_block.html', array(
+			'bx_if:top' => array(
+				'condition' => isset($this->aCurrent['paginate']['on_top']) && $this->aCurrent['paginate']['on_top'] == true,
+				'content' => array(
+					'paginate' => $sPaginate
+				),
+			),
+			'bx_if:bottom' => array(
+				'condition' => !isset($this->aCurrent['paginate']['on_bottom']) || $this->aCurrent['paginate']['on_bottom'] != false,
+				'content' => array(
+					'paginate' => $sPaginate
+				),
+			),
+			'content' => $sContent
+		));
+		
         $sMenu = $this->getDesignBoxMenu();
 
         if ($this->id) {