/ 1をURLに貼り付けずに、Zend_PaginatorをURLに近づけるように変更する方法はありますか?現在、ユーザーは/ aaron/studioにアクセスします。次に、ユーザーはページングをクリックして、次のようなURLへのアクセスを開始する必要があります:/ aaron / studio / 2
私はこのルールを持っています:
$router->addRoute('studios/page', new Zend_Controller_Router_Route(':id/studio/:page',array('module' => 'default', 'controller' => 'studio', 'action' => 'view')));
/ aaron / studio / 2に移動すると、Paginatorは他のページに正しくリンクしますが、/ aaron / studioに移動すると、他のページにリンクせず、そのページだけにリンクします。
どういうわけか私がしなければならないことは、URLにページがなくてもPaginatorにその場所を認識させることです。
それが役立つ場合は、ここに私のコントローラーコードがあります:
$page = $this->_getParam('page', 1);
$from = ($page * $this->clips_per_page) - $this->clips_per_page;
$count = Model_Clip::load_by_type(array('type' => 'studio_id', 'values' => $object->id, 'to' => 0, 'to' => COUNT_HIGH, 'count' => 1, 'order' => 'd.views DESC'));
$paginator = Zend_Paginator::factory($count);
$paginator->setItemCountPerPage($this->clips_per_page);
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange(25);
$this->view->paginator = $paginator;
編集、要求に応じて私の見解をここに示します:
<?php if (count($this->paginator) && $this->paginator->count() > 1): ?>
<?php echo $this->paginationControl($this->paginator, 'Sliding', 'pagination.phtml', array('translate' => $this->translate)); ?>
<?php endif; ?>
と部分
<div class="pagination-control" style="width: auto; text-align: center; margin: 0 auto">
<div style="width: auto;">
<!-- First page link -->
<?php if (isset($this->previous)): ?>
<a href="<?php echo $this->url(array('page' => $this->first)); ?>">Start</a> |
<?php else: ?>
<!-- <span class="disabled">Start |</span> -->
<?php endif; ?>
<!-- Previous page link -->
<?php if (isset($this->previous)): ?>
<a href="<?php echo $this->url(array('page' => $this->previous)); ?>"> Previous</a> |
<?php else: ?>
<!-- <span class="disabled"> Previous |</span> -->
<?php endif; ?>
<!-- Numbered page links -->
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current): ?>
<a href="<?php echo $this->url(array('page' => $page)); ?>"><?php echo $page; ?></a>
<?php else: ?>
<span class="chosen"><?php echo $page; ?></span>
<?php endif; ?>
<?php endforeach; ?>
<!-- Next page link -->
<?php if (isset($this->next)): ?>
| <a href="<?php echo $this->url(array('page' => $this->next)); ?>">Next </a> |
<?php else: ?>
<!-- <span class="disabled">| Next |</span> -->
<?php endif; ?>
<!-- Last page link -->
<?php if (isset($this->next)): ?>
<a href="<?php echo $this->url(array('page' => $this->last)); ?>">End</a>
<?php else: ?>
<!-- <span class="disabled">End</span> -->
<?php endif; ?>
<p>
Page <?php echo $this->current; ?> of <?php echo $this->last; ?>
</p>
</div>
<p class="clear"></p>
</div>