Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

prev() and next() methods of PaginatorHelper now possible to place the '... #963

Merged
merged 1 commit into from Nov 19, 2012
Jump to file or symbol
Failed to load files and symbols.
+39 −3
Split
@@ -865,6 +865,14 @@ public function testPagingLinks() {
);
$this->assertTags($result, $expected);
+ $result = $this->Paginator->prev('<< Previous', array('tag' => false), null, array('class' => 'disabled'));
+ $expected = array(
+ 'a' => array('href' => '/index/page:1', 'rel' => 'prev', 'class' => 'prev'),
+ '&lt;&lt; Previous',
+ '/a'
+ );
+ $this->assertTags($result, $expected);
+
$result = $this->Paginator->next('Next');
$expected = array(
'span' => array('class' => 'next'),
@@ -885,6 +893,14 @@ public function testPagingLinks() {
);
$this->assertTags($result, $expected);
+ $result = $this->Paginator->next('Next', array('tag' => false));
+ $expected = array(
+ 'a' => array('href' => '/index/page:3', 'rel' => 'next', 'class' => 'next'),
+ 'Next',
+ '/a'
+ );
+ $this->assertTags($result, $expected);
+
$result = $this->Paginator->prev('<< Previous', array('escape' => true));
$expected = array(
'span' => array('class' => 'prev'),
@@ -944,6 +960,14 @@ public function testPagingLinks() {
);
$this->assertTags($result, $expected);
+ $result = $this->Paginator->prev('<< Previous', array('tag' => false), '<strong>Disabled</strong>');
+ $expected = array(
+ 'span' => array('class' => 'prev'),
+ '&lt;strong&gt;Disabled&lt;/strong&gt;',
+ '/span'
+ );
+ $this->assertTags($result, $expected);
+
$this->Paginator->request->params['paging'] = array(
'Client' => array(
'page' => 1,
@@ -1016,6 +1040,14 @@ public function testPagingLinks() {
);
$this->assertTags($result, $expected);
+ $result = $this->Paginator->next('Next', array(), null, array('tag' => false));
+ $expected = array(
+ 'span' => array('class' => 'next'),
+ 'Next',
+ '/span'
+ );
+ $this->assertTags($result, $expected);
+
$this->Paginator->request->params['paging'] = array(
'Client' => array(
'page' => 2, 'current' => 1, 'count' => 13, 'prevPage' => true,
@@ -247,7 +247,7 @@ public function sortDir($model = null, $options = array()) {
*
* ### Options:
*
- * - `tag` The tag wrapping tag you want to use, defaults to 'span'
+ * - `tag` The tag wrapping tag you want to use, defaults to 'span'. Set this to false to disable this option
* - `escape` Whether you want the contents html entity encoded, defaults to true
* - `model` The model to use, defaults to PaginatorHelper::defaultModel()
*
@@ -271,7 +271,7 @@ public function prev($title = '<< Previous', $options = array(), $disabledTitle
*
* ### Options:
*
- * - `tag` The tag wrapping tag you want to use, defaults to 'span'
+ * - `tag` The tag wrapping tag you want to use, defaults to 'span'. Set this to false to disable this option
* - `escape` Whether you want the contents html entity encoded, defaults to true
* - `model` The model to use, defaults to PaginatorHelper::defaultModel()
*
@@ -468,12 +468,16 @@ protected function _pagingLink($which, $title = null, $options = array(), $disab
${$key} = $options[$key];
unset($options[$key]);
}
- $url = array_merge(array('page' => $paging['page'] + ($which == 'Prev' ? $step * -1 : $step)), $url);
if ($this->{$check}($model)) {
+ $url = array_merge(array('page' => $paging['page'] + ($which == 'Prev' ? $step * -1 : $step)), $url);
+ if ($tag === false) {
+ return $this->link($title, $url, array_merge($options, compact('escape', 'model', 'class')));
+ }
return $this->Html->tag($tag, $this->link($title, $url, array_merge($options, compact('escape', 'model'))), compact('class'));
} else {
unset($options['rel']);
+ $tag = $tag ? $tag : $_defaults['tag'];
return $this->Html->tag($tag, $title, array_merge($options, compact('escape', 'class')));
}
}