настройка разбивки на страницы codeigniter

Я просматриваю документацию по CI, в частности http://codeigniter.com/user_guide/libraries/pagination. HTML .

Первое, что мне запомнилось, это «Класс разбиения на страницы CodeIgniter очень прост в использовании и на 100% настраивается либо динамически, либо с помощью сохраненных настроек». но там всегда но что-то.

Моя разбивка на страницы выглядит следующим образом: Previous 1 2 3 4 ... n Next теперь для каждого из них я могу создавать открывающие HTML-теги и закрывающие HTML-теги в своем контроллере.

Например:

Предыдущий

$config['prev_tag_open'] = '<div class="previous">';

The opening tag for the "previous" link.
$config['prev_tag_close'] = '</div>';

Следующий

$config['next_tag_open'] = '<div>';

The opening tag for the "next" link.
$config['next_tag_close'] = '</div>';

И для Last first и т. Д. Теперь в моем дизайне я сделал Предыдущий плавающий влево, Следующий плавающий вправо, и у меня есть <div class="middle_pager">, который объединяет все номера страниц посередине.

Из того, что я вижу в документации, у меня нет возможности в CI поместить все номера страниц между html-тегами, у меня есть только возможность поместить каждый номер страницы внутри некоторых тегов, возможно, есть способ, но я пропустил момент. Кто-нибудь может помочь?

Спасибо


person ant    schedule 12.01.2010    source источник


Ответы (2)


Хитрость в том, что вы должны мыслить нестандартно.

Вы должны добавить открывающий тег в конец вашего «prev_tag_close».

$config['prev_tag_open'] = '<div class="previous">';

The opening tag for the "previous" link.
$config['prev_tag_close'] = '</div>**<opening tag>**';

и закрывающий тег в вашем «next_tag_open», например

$config['next_tag_open'] = '**</opening tag>**<div>';

The opening tag for the "next" link.
$config['next_tag_close'] = '</div>';

Это должно делать свое дело.

person Adnan    schedule 12.01.2010

Это вряд ли решит проблему, как бы вы справились с этой ситуацией на первой и последней странице? next_tag_open/close не будет отображаться на последней странице разбивки на страницы, а prev_tag_open/close не будет отображаться на первой странице разбивки на страницы.

Это, очевидно, приведет к поломке обоих элементов блока для этих страниц.

Итак, сегодня утром у меня была такая же проблема, и она действительно ломала мне голову. Единственное решение, которое я придумал (работает отлично), это;

Создайте div вокруг вывода -

<div class="pagination2">
    <?php echo $link; ?>
</div>

Затем используйте теги разбиения на страницы, предоставленные классом, чтобы использовать эти теги для обертывания цифровых тегов (num_tag_open/close).

$config['full_tag_open'] = '<div class="pagination">'; $config['full_tag_close'] = '</div>'; $config['num_tag_open'] = '<p>; $config['num_tag_close'] = '</p>';

Теперь перейдите в css и относительно расположите элемент внешнего блока pagination2, затем перейдите и абсолютно расположите пагинацию класса внутреннего блока, отцентрируйте его, а затем вы можете использовать отрицательное значение, чтобы нажать абсолютно позиционированные элементы nextlink или prevlink, как вы хотите. См. ниже CSS, который я использовал.

 .pagination2{
  position: relative;
  right: -10px;
  height: 45px;
  width: 500px;
  background-color:#f8f8f8;
  border: 1px solid #d3d3d3;    
  outline:none;
  }

  .pagination{
  position: absolute;
  left: 180px;
  height: 35px;
  width: 120px;
  }

  .pagination-button-previous{   
    position: absolute;
    top: 10px;
    left: -160px;
    width: 74px;
    height: 24px;
person mick    schedule 18.01.2013
comment
Добро пожаловать в переполнение стека! Спасибо за завершение этого ответа. - person Dave Clemmer; 19.01.2013