2017-11-10 2 views
0

Hallo Ich versuche, Paginator innerhalb einer Zelle verwenden der Paginator funktioniert Rigth aber der PaginatorHelper in der Vorlage der Zelle funktioniert einfach nicht.Verwenden Sie PaginatorHelper in Zellen CakePhp 3

Ich bin mit CakePHP 3.5

Hier ist mein Code

src/Blick/Cell/FinderCell.php

namespace App\View\Cell; 
use Cake\View\Cell; 
use Cake\Datasource\Paginator; 
class FinderCell extends Cell { 

    public function display() { 
     $this->loadModel('Pokemon'); 
     $paginador = new Paginator(); 

     $pokemons = $paginador->paginate(
      $this->Pokemon->find() 
     ); 

     $this->set(compact('pokemons')); 
    } 
} 

src/Template/Cell/Finder/display.ctp

<?php 
foreach ($pokemons as $pokemon) : 
?> 
<div class="tipo form large-2 medium-2 columns content"> 
    <?php echo $this->Html->image($pokemon->pokemon_image) ?> 
</div> 
<?php endforeach; ?> 

<div class="paginator"> 
    <ul class="pagination"> 
     <?= $this->Paginator->prev('<< Anterior') ?> 
     <?= $this->Paginator->numbers() ?> 
     <?= $this->Paginator->next('Siguiente >>') ?> 
    </ul> 
    <p><?= $this->Paginator->counter() ?></p> 
</div> 

ich dieses

enter image description here

Antwort

1

Wenn der Helfer verwenden möchten, dann müssen Sie entweder das Request-Objekt mit den Paginierung Parameter füllen, die, was die Komponente paginator ist, würde für Sie normalerweise tun:

// ... 

$this->request = $this->request->withParam(
    'paging', 
    $paginator->getPagingParams() + (array)$this->request->getParam('paging') 
); 

$this->set(compact('pokemons')); 

oder paginator helper, die wiederum die Parameter auf dem Anforderungsobjekt setzt:

// ... 

$pagingParams = $paginator->getPagingParams(); 

$this->set(compact('pokemons', 'pagingParams')); 
$this->Paginator->options(['paging' => $pagingParams]); 

Siehe auch