Advertisement
GoldFXTrader

pagination

Oct 12th, 2020 (edited)
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.17 KB | None | 0 0
  1. <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
  2.  
  3. /** @var array $arParams */
  4. /** @var array $arResult */
  5. /** @var CBitrixComponentTemplate $this */
  6.  
  7. $this->setFrameMode(true);
  8.  
  9.  
  10. /* 1, 2 ... 5, 6, 7 ... 15 */
  11. /***CustomPageNav start***/
  12. $nPageWindow = 6; //количество отображаемых страниц
  13. if ($arResult["NavPageNomer"] > floor($nPageWindow/2) + 1 && $arResult["NavPageCount"] > $nPageWindow)
  14. $nStartPage = $arResult["NavPageNomer"] - floor($nPageWindow/2);
  15. else
  16. $nStartPage = 1;
  17.  
  18. if ($arResult["NavPageNomer"] <= $arResult["NavPageCount"] - floor($nPageWindow/2) && $nStartPage + $nPageWindow-1 <= $arResult["NavPageCount"])
  19. $nEndPage = $nStartPage + $nPageWindow - 1;
  20. else
  21. {
  22. $nEndPage = $arResult["NavPageCount"];
  23. if($nEndPage - $nPageWindow + 1 >= 1)
  24. $nStartPage = $nEndPage - $nPageWindow + 1;
  25. }
  26. $arResult["nStartPage"] = $arResult["nStartPage"] = $nStartPage;
  27. $arResult["nEndPage"] = $arResult["nEndPage"] = $nEndPage;
  28. /***CustomPageNav end***/
  29.  
  30.  
  31.  
  32.  
  33.  
  34. if(!$arResult["NavShowAlways"])
  35. {
  36. if ($arResult["NavRecordCount"] == 0 || ($arResult["NavPageCount"] == 1 && $arResult["NavShowAll"] == false))
  37. return;
  38. }
  39.  
  40. $strNavQueryString = ($arResult["NavQueryString"] != "" ? $arResult["NavQueryString"]."&amp;" : "");
  41. $strNavQueryStringFull = ($arResult["NavQueryString"] != "" ? "?".$arResult["NavQueryString"] : "");
  42.  
  43. $colorSchemes = array(
  44. "green" => "bx-green",
  45. "yellow" => "bx-yellow",
  46. "red" => "bx-red",
  47. "blue" => "bx-blue",
  48. );
  49. if(isset($colorSchemes[$arParams["TEMPLATE_THEME"]]))
  50. {
  51. $colorScheme = $colorSchemes[$arParams["TEMPLATE_THEME"]];
  52. }
  53. else
  54. {
  55. $colorScheme = "";
  56. }
  57. ?>
  58.  
  59. <div class="bx-pagination <?=$colorScheme?>">
  60. <div class="bx-pagination-container">
  61. <ul>
  62. <?if($arResult["bDescPageNumbering"] === true):?>
  63.  
  64. <?if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]):?>
  65. <?if($arResult["bSavePage"]):?>
  66. <li class="bx-pag-prev"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></a></li>
  67. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span>1</span></a></li>
  68. <?else:?>
  69. <?if (($arResult["NavPageNomer"]+1) == $arResult["NavPageCount"]):?>
  70. <li class="bx-pag-prev"><a href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></a></li>
  71. <?else:?>
  72. <li class="bx-pag-prev"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></a></li>
  73. <?endif?>
  74. <li class=""><a href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span>1</span></a></li>
  75. <?endif?>
  76. <?else:?>
  77. <li class="bx-pag-prev"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></li>
  78. <li class="bx-active"><span>1</span></li>
  79. <?endif?>
  80.  
  81. <?
  82. $arResult["nStartPage"]--;
  83. while($arResult["nStartPage"] >= $arResult["nEndPage"]+1):
  84. ?>
  85. <?$NavRecordGroupPrint = $arResult["NavPageCount"] - $arResult["nStartPage"] + 1;?>
  86.  
  87. <?if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):?>
  88. <li class="bx-active"><span><?=$NavRecordGroupPrint?></span></li>
  89. <?else:?>
  90. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["nStartPage"]?>"><span><?=$NavRecordGroupPrint?></span></a></li>
  91. <?endif?>
  92.  
  93. <?$arResult["nStartPage"]--?>
  94. <?endwhile?>
  95.  
  96. <?if ($arResult["NavPageNomer"] > 1):?>
  97. <?if($arResult["NavPageCount"] > 1):?>
  98. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=1"><span><?=$arResult["NavPageCount"]?></span></a></li>
  99. <?endif?>
  100. <li class="bx-pag-next"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>"><span>&#8594;<?//echo GetMessage("round_nav_forward")?></span></a></li>
  101. <?else:?>
  102. <?if($arResult["NavPageCount"] > 1):?>
  103. <li class="bx-active"><span><?=$arResult["NavPageCount"]?></span></li>
  104. <?endif?>
  105. <li class="bx-pag-next"><span>&#8594;<?//echo GetMessage("round_nav_forward")?></span></li>
  106. <?endif?>
  107.  
  108. <?else:?>
  109.  
  110. <?if ($arResult["NavPageNomer"] > 1):?>
  111. <?if($arResult["bSavePage"]):?>
  112. <li class="bx-pag-prev"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></a></li>
  113. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=1"><span>1</span></a></li>
  114. <?else:?>
  115. <?if ($arResult["NavPageNomer"] > 2):?>
  116. <li class="bx-pag-prev"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]-1)?>"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></a></li>
  117. <?else:?>
  118. <li class="bx-pag-prev"><a href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></a></li>
  119. <?endif?>
  120. <li class=""><a href="<?=$arResult["sUrlPath"]?><?=$strNavQueryStringFull?>"><span>1</span></a></li>
  121. <?endif?>
  122. <?else:?>
  123. <li class="bx-pag-prev"><span>&#8592;<?//echo GetMessage("round_nav_back")?></span></li>
  124. <li class="bx-active"><span>1</span></li>
  125. <?endif?>
  126.  
  127. <?
  128. $arResult["nStartPage"]++;
  129. while($arResult["nStartPage"] <= $arResult["nEndPage"]-1):
  130. ?>
  131. <?if ($arResult["nStartPage"] == $arResult["NavPageNomer"]-2):?>
  132. <li class=""><span>...</span></li>
  133. <?endif?>
  134.  
  135. <?if ($arResult["nStartPage"] == $arResult["NavPageNomer"]):?>
  136. <li class="bx-active"><span><?=$arResult["nStartPage"]?></span></li>
  137. <?else:?>
  138.  
  139. <?if ($arResult["NavPageNomer"] <= 5):?>
  140. <?if ($arResult["nStartPage"] != $arResult["NavPageNomer"]-2):?>
  141. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["nStartPage"]?>"><span><?=$arResult["nStartPage"]?></span></a></li>
  142. <?endif?>
  143. <?endif?>
  144.  
  145.  
  146. <?if ($arResult["NavPageNomer"] > 5):?>
  147. <?if (($arResult["nStartPage"]==$arResult["NavPageNomer"]-1) OR ($arResult["nStartPage"]==$arResult["NavPageNomer"]+1)):?>
  148. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["nStartPage"]?>"><span><?=$arResult["nStartPage"]?></span></a></li>
  149. <?endif?>
  150. <?endif?>
  151.  
  152. <?endif?>
  153. <?$arResult["nStartPage"]++?>
  154. <?endwhile?>
  155.  
  156. <?if($arResult["NavPageNomer"] < $arResult["NavPageCount"]):?>
  157. <?if($arResult["NavPageCount"] > 1):?>
  158.  
  159.  
  160.  
  161. <?if (($arResult["NavPageNomer"] <= $arResult["NavPageCount"]-4) AND ($arResult["NavPageNomer"] != $arResult["NavPageCount"]-2)): // 4 ?>
  162. <li class=""><span>...</span></li>
  163. <?endif?>
  164.  
  165.  
  166. <li class=""><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=$arResult["NavPageCount"]?>"><span><?=$arResult["NavPageCount"]?></span></a></li>
  167. <?endif?>
  168.  
  169.  
  170. <li class="bx-pag-next"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>PAGEN_<?=$arResult["NavNum"]?>=<?=($arResult["NavPageNomer"]+1)?>"><span>&#8594;<?//echo GetMessage("round_nav_forward")?></span></a></li>
  171. <?else:?>
  172. <?if($arResult["NavPageCount"] > 1):?>
  173. <li class="bx-active"><span><?=$arResult["NavPageCount"]?></span></li>
  174. <?endif?>
  175.  
  176. <li class="bx-pag-next"><span>&#8594;<?//echo GetMessage("round_nav_forward")?></span></li>
  177. <?endif?>
  178. <?endif?>
  179.  
  180. <?if ($arResult["bShowAll"]):?>
  181. <?if ($arResult["NavShowAll"]):?>
  182. <li class="bx-pag-all"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>SHOWALL_<?=$arResult["NavNum"]?>=0" rel="nofollow"><span><?echo GetMessage("round_nav_pages")?></span></a></li>
  183. <?else:?>
  184. <li class="bx-pag-all"><a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?>SHOWALL_<?=$arResult["NavNum"]?>=1" rel="nofollow"><span><?echo GetMessage("round_nav_all")?></span></a></li>
  185. <?endif?>
  186. <?endif?>
  187. </ul>
  188. <div style="clear:both"></div>
  189. </div>
  190. </div>
  191.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement