Skip to content

Instantly share code, notes, and snippets.

@slywalker
Created October 5, 2011 07:25

Revisions

  1. slywalker revised this gist Oct 7, 2011. 1 changed file with 9 additions and 1 deletion.
    10 changes: 9 additions & 1 deletion pagination.ctp
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,9 @@ if (!isset($model)) {
    <?php echo $this->Paginator->first('<<', array('tag' => 'li')); ?>
    <?php echo $this->Paginator->prev('<', array(
    'tag' => 'li',
    'class' => 'prev',
    ), $this->Paginator->link('<', array()), array(
    'tag' => 'li',
    'escape' => false,
    'class' => 'prev disabled',
    )); ?>
    @@ -45,10 +47,16 @@ if (!isset($model)) {
    ?>
    <?php echo $this->Paginator->next('>', array(
    'tag' => 'li',
    'class' => 'next',
    ), $this->Paginator->link('>', array()), array(
    'tag' => 'li',
    'escape' => false,
    'class' => 'next disabled',
    )); ?>
    <?php echo $this->Paginator->last('>>', array('tag' => 'li')); ?>
    <?php echo str_replace('<>', '', $this->Html->tag('li', $this->Paginator->last('>>', array(
    'tag' => null,
    )), array(
    'class' => 'next',
    ))); ?>
    </ul>
    </div>
  2. slywalker renamed this gist Oct 5, 2011. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  3. slywalker created this gist Oct 5, 2011.
    54 changes: 54 additions & 0 deletions pasination.ctp
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,54 @@
    <?php
    if (!isset($modules)) {
    $modulus = 11;
    }
    if (!isset($model)) {
    $models = ClassRegistry::keys();
    $model = Inflector::camelize(current($models));
    }
    ?>
    <div class="pagination">
    <ul>
    <?php echo $this->Paginator->first('<<', array('tag' => 'li')); ?>
    <?php echo $this->Paginator->prev('<', array(
    'tag' => 'li',
    ), $this->Paginator->link('<', array()), array(
    'escape' => false,
    'class' => 'prev disabled',
    )); ?>
    <?php
    $page = $this->params['paging'][$model]['page'];
    $pageCount = $this->params['paging'][$model]['pageCount'];
    if ($modulus > $pageCount) {
    $modulus = $pageCount;
    }
    $start = $page - intval($modulus / 2);
    if ($start < 1) {
    $start = 1;
    }
    $end = $start + $modulus;
    if ($end > $pageCount) {
    $end = $pageCount + 1;
    $start = $end - $modulus;
    }
    for ($i = $start; $i < $end; $i++) {
    $url = array('page' => $i);
    $class = null;
    if ($i == $page) {
    $url = array();
    $class = 'active';
    }
    echo $this->Html->tag('li', $this->Paginator->link($i, $url), array(
    'class' => $class,
    ));
    }
    ?>
    <?php echo $this->Paginator->next('>', array(
    'tag' => 'li',
    ), $this->Paginator->link('>', array()), array(
    'escape' => false,
    'class' => 'next disabled',
    )); ?>
    <?php echo $this->Paginator->last('>>', array('tag' => 'li')); ?>
    </ul>
    </div>