4 Stimmen

Cakephp Paginator Eigene Stilisierung

Ich benutze das Paginator Component und Helper.

Mein Code-Block für das Styling sieht wie folgt aus.

            <
            1
            2
            3
            >

Wenn ich versuche, die Pagination mit dem folgenden Code zu erstellen

        Paginator->hasPrev()) echo $this->Paginator->prev('<', array('tag' => 'li', 'escape' => false)); ?>
        Paginator->numbers(array('separator' => false, 'tag' => 'li', 'currentClass' => 'active')); ?>
        Paginator->hasNext()) echo $this->Paginator->next('>', array('tag' => 'li', 'escape' => false)); ?>

Die Active-Klasse wird dem li-Tag zugewiesen, aber mein Template verwendet die active-Klasse für den a-href-Tag.

Gibt es eine Möglichkeit, dass Cake es dem a-Tag zuweist?

1voto

floriank Punkte 25405

Sie müssen die PaginatorHelper::number() Methode erweitern und überschreiben.

Verwenden Sie dann Ihren benutzerdefinierten Paginator-Helper für Ihre gesamte App, indem Sie die Alias-Funktion verwenden, um ihn als $this->Paginator in Ihren Ansichten verfügbar zu machen, um ihn in allen Ansichten zu ersetzen.

public $helpers = array(
    'Paginator' => array(
        'className' => 'MyPaginator',
    )
);

Stattdessen können Sie dies auch tun, anstatt die ganze Methode zu überschreiben:

public function numbers($options = array()) {
    $numbers = parent::numbers($options);
    /* siehe Erklärung unten */
    return $numbers;
}

Erklärung: Verwenden Sie DOM oder Regex, um das

aktive* -Element zu finden, zu ändern und durch Ihre Änderung zu ersetzen. Dies könnte der bessere Weg sein, da Sie, wenn sich das Kernverhalten ändert, nur Ihre Ersetzungslogik anpassen müssen, anstatt herauszufinden, was im Code geändert wurde und Ihre Methode aktualisieren zu müssen. Dieser Bootstrap-Paginator-Helper macht es so.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X