Модуль Drupal Paging не показывает количество страниц - PullRequest
0 голосов
/ 01 сентября 2010

Я заканчиваю некоторые изменения в проекте drupal, который был сделан другим программистом (у меня нет с ним контакта). Я новичок и пытаюсь выяснить, как работает модуль Paging. Там нет номеров страниц, показывающих. Я полагаю, программист добавил какой-то пользовательский модуль или что-то в этом роде.

Я нашел файл с именем "pager.php" в собственной папке темы проекта с этой функцией, которая, вероятно, выполняет разбиение на страницы:

function _my_pager_link($page, $text, $class, $title) {
$query = array();
$query[] = drupal_query_string_encode(array(
    'page' => implode(',', $page)), array());
$querystring = pager_get_querystring();
if ($querystring != '') {
    $query[] = $querystring;
}
$attributes['title'] = $title;
$attributes['class'] = $class;
return l("<span>$text</span>", $_GET['q'], array('html' => TRUE,
    'attributes' => $attributes,
    'query' => count($query) ? implode('&', $query) : NULL));
}

function my_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 5) {
global $pager_page_array, $pager_total;

$curr = $pager_page_array[$element];
$total = $pager_total[$element];
$output = '';
if ($total > 1) {
    $output .= '<div class="pager">';
    if ($curr > 0) {
        $page_new = pager_load_array($curr - 1, $element, $pager_page_array);
        $output .= _my_pager_link($page_new, t('‹ previous'), 'pager-prev', t('Go to previous page'));
    }
    if ($curr < $total - 1) {
        $page_new = pager_load_array($curr + 1, $element, $pager_page_array);
        $output .= _my_pager_link($page_new, t('next ›'), 'pager-next', t('Go to next page'));
    }
    $output .= '<div class="cleaner"></div>';
    $output .= '</div>';
    }
return $output;
}

Теперь в сети есть только «предыдущая страница» и «следующая страница». Я хотел бы, чтобы это было так «предыдущая страница» ... 2 3 4 ... «следующая страница»

Как я могу добавить список страниц там?

Спасибо

Ответы [ 2 ]

0 голосов
/ 08 декабря 2010

Вам необходимо установить глобальные значения следующим образом:

global $pager_page_array, $pager_total;
$pager_page_array[0] = $your_page_count_goes_here;
$pager_total[0] = $your_page_total_goes_here;

И затем вы можете вызвать theme('pager', ...) или любую другую функцию темы подкачки, которая у вас может быть.

0 голосов
/ 01 сентября 2010

Скопируйте и вставьте http://api.drupal.org/api/function/theme_pager/6

Добавить соль и вуаля!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...