2014-01-11 41 views
0

我实现无限滚动的jQuery相同的结果,手工插件在我的Drupal网站。我遇到包含曝光过滤器的视图问题。无限滚动只是附加相同的数据。jQuery的上Drupal的分页无限滚动,越来越

对于e.g:如果在页面的加载时间我们的下一个页面是“page = 2”,最后一页是5,在这种情况下,就追加“页面= 2”的目前结果的结果。

的“nextSelector”(寻呼机未来)指出仅在Drupal下一个页面。所以脚本一遍又一遍地加载下一页(例如:第2页)。

$container.infinitescroll({ 
     navSelector : \'div.item-list ul.pager\', // selector for the paged navigation 
     nextSelector : \'div.item-list li.pager-next > a\', // selector for the NEXT link (to page 2) 
     itemSelector : \'.item\', // selector for all items you\'ll retrieve 
     bufferPx: 300, 
     pixelsFromNavToBottom: \'ul.pager\', 
     loading: { 
      msgText: \''.t('Loading More...').'\', 
      finishedMsg: \''.t('No more posts.').'\', 
     }, 
     state: { 
     isDuringAjax: false, 
     isInvalidPage: false, 
     isDestroyed: false, 
     isDone: false, // For when it goes all the way through the archive. 
     isPaused: false, 
     currPage: 0 
    }, 

回答

0

该问题与无限滚动插件无关。这是由Drupal生成的URL的问题。

1

Drupal没有的网页上为WordPress的(无限滚动初始使用)和它的寻呼系统返回的结果,如果请求的页面不存在(最接近的猜测)。

添加此设置:

$container.infinitescroll({ 
    (...) 
     maxPage : 10 // your pager max pages or see below 
     state: { 
     currPage: 0 
     },  

    (...) 

如果您不能设置最大页面转换成的JavaScript,你可以“砍”的Drupal,因此不会返回任何结果页面是否出界:

$perPage = 10; 
    $total = count($results); 
    $qs_page = isset($_GET['page']) ? $_GET['page'] : 0; 
    $page = pager_default_initialize($total, $perPage, 0); 
    if ($qs_page > $page) { 
     //out of bounds !!! 
     $perPage=0; 
    } 

    $offset = $perPage * $page; 
    $results = array_slice($results, $offset, $perPage,TRUE);