2016-11-16 5 views
2

Ich benutze CakePHP 3.x Paginator und ich habe eine Anfrage von Kunden.CakePHP Paginator Sprung mit mehreren Seiten

Beispiel:

  • My Paginieren Bar, stehen jetzt ist es auf Platz # 1.

<< | < | **1** 2 3 4 5 6 7 8 9 | > | >>

  • Wenn ich auf auf ">>" die Bar 10-19 zeigen und stehen auf Platz # 10

<< | < | **10** 11 12 13 14 15 16 17 18 19 | > | >>

  • Klicken Sie auf „> > "wieder wird es 20-29 zeigen und bei # 20 stehen

<< | < | **20** 21 22 23 24 25 26 27 28 29 | > | >>

  • Gleiche mit "< <", wird auf 10-19 und 1-9 zurück.

Die ">" und "<" just nächste Seite und zurück zur vorherigen Seite gelangen.

Also meine Frage ist:

  • Wie kann ich die ">>" und "< <" Taste mit CakePHP Paginierung Helfer machen?

Mein Code in view.ctp ist

<?php 
    echo $this->Paginator->first(<<); 

    echo $this->Paginator->prev('<'); 

    echo $this->Paginator->numbers(); 

    echo $this->Paginator->next('>'); 

    echo $this->Paginator->last(>>); 
?> 
+0

Verwenden single/doppelte Anführungszeichen mit '<<' and '>>' ... 'ersten ('<<')', 'letzten ('>>') ' – Poonam

+0

Entschuldigung, ich habe deine Bedeutung nicht verstanden. – TommyDo

+0

Ersetze dieses 'echo $ this-> Paginator-> zuerst (<<);' mit diesem 'echo $ this-> Paginator-> zuerst ('<<'); und dasselbe mit dem' last' – Poonam

Antwort

1

Leider gibt es keine paginator Hilfsmethode integrierte in die solche Verbindungen schaffen würde, die Sie file a feature request für das wollen kann, denke ich, es wäre ein nette Ergänzung.

Das heißt, Sie können solche Jump-Links manuell erstellen, der Paginator-Helfer bietet alles, was benötigt wird, dh die aktuelle Seitenzahl, eine Methode, um zu überprüfen, ob eine bestimmte Seite existiert, und Funktionen zum Generieren von Links aus Helfer Vorlagen.

Hier ist ein einfaches Beispiel, das einen Sprung Link für die aktuelle Seite erzeugen würde + 10 für den Fall, dass Seite existiert:

$page = $this->Paginator->current() + 10; 
if ($this->Paginator->hasPage($page)) { 
    echo $this->Paginator->templater()->format('nextActive', [ 
     'url' => $this->Paginator->generateUrl(['page' => $page]), 
     'text' => '>>', 
    ]); 
} 

Siehe auch

Templater docs are currently missing aus irgendeinem Grunde ...