У меня есть шаблон постраничной навигации, не стандартный, его доделывали.
Проблема в том, иногда бывает что товар дублируется, тоесть:
Я открываю раздел Краски, у меня там 4 страницы красок, так вот, последний товар на первой странице, и первый товар на второй странице, очень часто бывает одинаковым(нет это не дубликат т.к. ид товара одинаковый, урл одинаковый) т.е. скрипт как,то ошибается либо в нем есть сбой. Пытался разобраться но не могу найти в чем ошибка, может кто поможет. При использовании стандартных шаблонов, то все ок.
Template.php
Script.js
Проблема в том, иногда бывает что товар дублируется, тоесть:
Я открываю раздел Краски, у меня там 4 страницы красок, так вот, последний товар на первой странице, и первый товар на второй странице, очень часто бывает одинаковым(нет это не дубликат т.к. ид товара одинаковый, урл одинаковый) т.е. скрипт как,то ошибается либо в нем есть сбой. Пытался разобраться но не могу найти в чем ошибка, может кто поможет. При использовании стандартных шаблонов, то все ок.
Template.php
Код |
---|
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); $this->setFrameMode(true); if (!$arResult["NavShowAlways"]) { if ($arResult["NavRecordCount"] == 0 || ($arResult["NavPageCount"] == 1 && $arResult["NavShowAll"] == false)) return; } ?> <? $strNavQueryString = ($arResult["NavQueryString"] != "" ? $arResult["NavQueryString"] . "&" : ""); $strNavQueryStringFull = ($arResult["NavQueryString"] != "" ? "?" . $arResult["NavQueryString"] : ""); ?> <div class="b-pagination"> <? if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]): ?> <div class="view_more"> <a href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>" class="btn"><?=GetMessage("LIKEE_ESTORE_POKAZATQ_ESE")?></a> </div> <? endif; ?> <div class="pages"> <? if ($arResult["bDescPageNumbering"] === true): $bFirst = true; if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]): if ($arResult["bSavePage"]): ?> <a class="arrow left" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>"><?= GetMessage("nav_prev") ?></a> <? else: if ($arResult["NavPageCount"] == ($arResult["NavPageNomer"] + 1)): ?> <a class="arrow left" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"><?= GetMessage("nav_prev") ?></a> <? else: ?> <a class="arrow left" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>"><?= GetMessage("nav_prev") ?></a> <? endif; endif; if ($arResult["nStartPage"] < $arResult["NavPageCount"]): $bFirst = false; if ($arResult["bSavePage"]): ?> <a class="cp_first" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["NavPageCount"] ?>">1</a> <? else: ?> <a class="cp_first" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>">1</a> <? endif; if ($arResult["nStartPage"] < ($arResult["NavPageCount"] - 1)): /*?> <span class="modern-page-dots">...</span> <?*/ ?> <a class="cp_dots" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= intVal($arResult["nStartPage"] + ($arResult["NavPageCount"] - $arResult["nStartPage"]) / 2) ?>">...</a> <? endif; endif; endif; do { $NavRecordGroupPrint = $arResult["NavPageCount"] - $arResult["nStartPage"] + 1; if ($arResult["nStartPage"] == $arResult["NavPageNomer"]): ?> <a class="<?= ($bFirst ? "cp_first " : "") ?>active" oncl ick="return false;" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"><?= $NavRecordGroupPrint ?></a> <? elseif ($arResult["nStartPage"] == $arResult["NavPageCount"] && $arResult["bSavePage"] == false): ?> <a href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>" class="<?= ($bFirst ? "cp_first" : "") ?>"><?= $NavRecordGroupPrint ?></a> <? else: ?> <a href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["nStartPage"] ?>"<? ?> class="<?= ($bFirst ? "cp_first" : "") ?>"><?= $NavRecordGroupPrint ?></a> <? endif; $arResult["nStartPage"]--; $bFirst = false; } while ($arResult["nStartPage"] >= $arResult["nEndPage"]); if ($arResult["NavPageNomer"] > 1): if ($arResult["nEndPage"] > 1): if ($arResult["nEndPage"] > 2): /*?> <span class="modern-page-dots">...</span> <?*/ ?> <a class="cp_dots" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= round($arResult["nEndPage"] / 2) ?>">...</a> <? endif; ?> <a href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=1"><?= $arResult["NavPageCount"] ?></a> <? endif; ?> <a class="arrow right" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] - 1) ?>"><?= GetMessage("nav_next") ?></a> <? endif; else: $bFirst = true; if ($arResult["NavPageNomer"] > 1): if ($arResult["bSavePage"]): ?> <a class="arrow left" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] - 1) ?>"><?= GetMessage("nav_prev") ?></a> <? else: if ($arResult["NavPageNomer"] > 2): ?> <a class="arrow left" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] - 1) ?>"><?= GetMessage("nav_prev") ?></a> <? else: ?> <a class="arrow left" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"><?= GetMessage("nav_prev") ?></a> <? endif; endif; if ($arResult["nStartPage"] > 1): $bFirst = false; if ($arResult["bSavePage"]): ?> <a class="cp_first" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=1">1</a> <? else: ?> <a class="cp_first" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>">1</a> <? endif; if ($arResult["nStartPage"] > 2): /*?> <span class="modern-page-dots">...</span> <?*/ ?> <a class="cp_dots" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= round($arResult["nStartPage"] / 2) ?>">...</a> <? endif; endif; endif; do { if ($arResult["nStartPage"] == $arResult["NavPageNomer"]): ?> <a class="<?= ($bFirst ? "cp_first " : "") ?>active" oncl ick="return false;" href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>"><?= $arResult["nStartPage"] ?></a> <? elseif ($arResult["nStartPage"] == 1 && $arResult["bSavePage"] == false): ?> <a href="<?= $arResult["sUrlPath"] ?><?= $strNavQueryStringFull ?>" class="<?= ($bFirst ? "cp_first" : "") ?>"><?= $arResult["nStartPage"] ?></a> <? else: ?> <a href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["nStartPage"] ?>"<? ?> class="<?= ($bFirst ? "cp_first" : "") ?>"><?= $arResult["nStartPage"] ?></a> <? endif; $arResult["nStartPage"]++; $bFirst = false; } while ($arResult["nStartPage"] <= $arResult["nEndPage"]); if ($arResult["NavPageNomer"] < $arResult["NavPageCount"]): if ($arResult["nEndPage"] < $arResult["NavPageCount"]): if ($arResult["nEndPage"] < ($arResult["NavPageCount"] - 1)): /*?> <span class="modern-page-dots">...</span> <?*/ ?> <a class="cp_dots" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= round($arResult["nEndPage"] + ($arResult["NavPageCount"] - $arResult["nEndPage"]) / 2) ?>">...</a> <? endif; ?> <a href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= $arResult["NavPageCount"] ?>"><?= $arResult["NavPageCount"] ?></a> <? endif; ?> <a class="arrow right" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>PAGEN_<?= $arResult["NavNum"] ?>=<?= ($arResult["NavPageNomer"] + 1) ?>"><?= GetMessage("nav_next") ?></a> <? endif; endif; if ($arResult["bShowAll"]): if ($arResult["NavShowAll"]): ?> <a class="cp_all" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>SHOWALL_<?= $arResult["NavNum"] ?>=0"><?= GetMessage("nav_paged") ?></a> <? else: ?> <a class="cp_all" href="<?= $arResult["sUrlPath"] ?>?<?= $strNavQueryString ?>SHOWALL_<?= $arResult["NavNum"] ?>=1"><?= GetMessage("nav_all") ?></a> <? endif; endif ?> </div> </div> |
Script.js
Код |
---|
$(function () { $('body').on('click', '.b-pagination .view_more a', function (e) { e.preventDefault(); var container = $(this).closest('.b-pagination-container'), pages = $(this).closest('.b-pagination'), url = $(this).attr('href'), view_more = $(this).closest('.view_more'); view_more.addClass('loading'); $.post(url, {catalog_reload: 'y'}, function (response) { var offset = pages.offset().top, items = $('.item', response), nav = $('.b-pagination', response); view_more.removeClass('loading'); if (history.pushState) { history.pushState({}, document.title, url); } pages.remove(); container.append(items); container.append(nav); $('input.quantity', container).Quantity(); $('body').animate({scrollTop: offset - 50}, 500); }); return false; }); }); |