Есть тип материала "Фотоальбом", который содержит поле "Изображение" и ограниченным количеством значений.
То-есть обычная надо содержащая множество изображений. Вопрос в том, как вывести пагинацию, чтобы отображалось по 6 фото.
Как вариант - отдельный шаблон для этого типа материалов, обрабатывающий какой-нибудь GET-параметр и выводящий нужную страницу + ссылки на след/пред страницы.
Комментарии
Как вариант - отдельный шаблон для этого типа материалов, обрабатывающий какой-нибудь GET-параметр и выводящий нужную страницу + ссылки на след/пред страницы.
Даю кусок из своего модуля. Может есть более элегантное решение, хз. Пейджер с таблицей, источник - обычный массив
<?php
$chunks = array_chunk($data['zones'][$zone_id]['geopoints'], $limit);
$links = array();
$empty = t('Nothing to display');
$rows
= array();if (!empty($data['zones'][$zone_id]['geopoints'])) {
$chunk = empty($_GET['page']) ? $chunks[0] : $chunks[$_GET['page']];
foreach (
$chunk as $geopoint_id) {$geopoint = _geopoint_load($geopoint_id);
$links[] = array(
'title' => t('Delete'),
'href' => 'admin/commerce/config/shipping/carriers/' . $variables['carrier']['name'] . '/zones/' . $zone_id . '/geopoints/' . $geopoint_id . '/delete',
'query' => array('destination' => $_GET['q'], 'token' => drupal_get_token()),
);
$rows[] = array(
array('data' => check_plain($geopoint->id)),
array('data' => check_plain($geopoint->city)),
array('data' => check_plain($geopoint->state)),
array('data' => check_plain($geopoint->country)),
array('data' => theme('links', array('links' => $links,'attributes' => array('class' => array('links', 'inline'))))),
);
}
}
if (!empty($data['zones'][$zone_id]['geopoints'])) {
$total = count($data['zones'][$zone_id]['geopoints']);
pager_default_initialize($total, $limit);
}
return theme('table', array(
'rows' => $rows,
'header' => $header,
'empty' => $empty)) . theme('pager'); ?>
решается очень просто этим модулем
http://drupal.org/project/cck_pager
Огромное спасибо за модуль. То что нужно.
А мне спасибо за код?
вот так вот