2011-01-14 13 views
2

私はtemplate.phpの中に以下のtheme_pager関数を持っています。問題は、各ページ番号の後に「200の1-25の表示」が表示されることです。どのように私はそれをトップに一度だけ表示するには?theme_pagerを使ってdrupalのページ番号を変更する

function themename_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 9) { 
    global $pager_page_array, $pager_total; 
    $tags = array("", "< prev", "", "next >", ""); 

    // Calculate various markers within this pager piece: 
    // Middle is used to "center" pages around the current page. 
    $pager_middle = ceil($quantity/2); 
    // current is the page we are currently paged to 
    $pager_current = $pager_page_array[$element] + 1; 
    // first is the first page listed by this pager piece (re quantity) 
    $pager_first = $pager_current - $pager_middle + 1; 
    // last is the last page listed by this pager piece (re quantity) 
    $pager_last = $pager_current + $quantity - $pager_middle; 
    // max is the maximum page number 
    $pager_max = $pager_total[$element]; 
    // End of marker calculations. 

    // Prepare for generation loop. 
    $i = $pager_first; 
    if ($pager_last > $pager_max) { 
    // Adjust "center" if at end of query. 
    $i = $i + ($pager_max - $pager_last); 
    $pager_last = $pager_max; 
    } 
    if ($i <= 0) { 
    // Adjust "center" if at start of query. 
    $pager_last = $pager_last + (1 - $i); 
    $i = 1; 
    } 
    // End of generation loop preparation. 
    $view = views_get_current_view(); 

    // ensure view exists 
    if (!$view) return; 

    // set object property to return total rows 
    $view->get_total_rows = true; 



    // set display_id 
    $view->set_display($display_id); 

    // execute view 
    $view->execute(); 

    // acquire data from views object and $_REQUEST  
    $itemsPerPage = $view->pager['items_per_page']; 
    $currentPage = $_REQUEST['page']+1; 
    $total = $view->total_rows; 

    // start calculation  
    $start = 25*$currentPage-24; 
    $end = $itemsPerPage * $currentPage; 

    if ($end>$total) $end = $total; 

    // return html 
    $x = "<center>Displaying $start - $end of $total</center>"; 
    $li_previous = theme('pager_previous', (isset($tags[1]) ? $tags[1] : t('‹ previous')), $limit, $element, 1, $parameters); 
    $li_next = theme('pager_next', (isset($tags[3]) ? $tags[3] : t('next ›')), $limit, $element, 1, $parameters); 

    if ($pager_total[$element] > 1) { 

     if ($li_previous) { 
     $items[] = array(
     'class' => 'pager-previous', 
     'data' => $li_previous, 
    ); 
     } 

    // When there is more than one page, create the pager list. 
    if ($i != $pager_max) { 
     // Now generate the actual pager piece. 
     for (; $i <= $pager_last && $i <= $pager_max; $i++) { 
     if ($i < $pager_current) { 
      if ($pager_first > 1 && $i == $pager_first) { 
       $output = '...'.$i; 
       $stopPreEllipsis = true; 
      } else { 
       $output = $i; 
      } 
      $items[] = array(
      'class' => 'pager-item', 
      'data' => theme('pager_previous', $output, $limit, $element, ($pager_current - $i), $parameters), 
     ); 
     } 
     if ($i == $pager_current) { 
      $items[] = array(
      'class' => 'pager-current', 
      'data' => $i, 
     ); 
     } 
     if ($i > $pager_current) { 

      if ($pager_last < $pager_max && $i == $pager_last) { 
       $output = $i.'...'; 
      } else { 
       $output = $i; 
      } 

      $items[] = array(
      'class' => 'pager-item', 
      'data' => theme('pager_next', $output, $limit, $element, ($i - $pager_current), $parameters), 
     ); 
      $items[] = array(
      'class' => 'pager', 
      'data' => $x, 
     ); 
     } 
     } 
    } 
    // End generation. 
    if ($li_next) { 
     $items[] = array(
     'class' => 'pager-next', 
     'data' => $li_next, 
    ); 
    } 

    return theme('item_list', $items, NULL, 'ul', array('class' => 'pager')); 
    } 
    } 

答えて

0

削除し、これらの行:

$items[] = array(
    'class' => 'pager', 
    'data' => $x, 
); 

そして(最後の行を変更)このようなページャ項目のリストの前に$xを返す:

return $x . theme('item_list', $items, NULL, 'ul', array('class' => 'pager')); 
関連する問題