Pagecounter auch bei nur einer Seite anzeigen lassen

  • Hallo,


    weiß einer wie ich den Pagecount auch ausgegeben bekomme wenn ich nur eine Seite von Artikeln habe?
    Ich hab die if-Abfrage schon angepasst aber $this->pagination->getPagesCounter(); gibt trotzdem nichts aus.


    <?php if (($this->params->def('show_pagination', 1) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') >= 1)) : ?>
    <div class="pagination col-xs-24 col-sm-2 col-md-4 col-md-push-20 col-lg-4 col-lg-push-20">
    <?php if ($this->params->def('show_pagination_results', 1)) : ?>
    <span class="counter pull-right"> <?php echo $this->pagination->getPagesCounter(); ?> </span>
    <?php endif; ?>
    </div>
    <?php endif; ?>


    Grüße

  • Das Anpassen der if-Anweisung ist nicht ausreichend, weil die Methode


    getPagesCounter()


    in der Klasse


    JPagination (JOOMLA/libraries/cms/pagination/pagination.php)


    auch nur etwas ausgibt, wenn es mehr als eine Page gibt. Hier gibt es auch noch eine if-Anweisung


    (if ($this->pagesTotal > 1)).


    Die darfst du aber natürlich nicht überschreiben :)


    Vielleicht hilft es dir in deinem Override das einzutragen:




    Die Ausgabe würde dann


    Page 1 of 1


    lauten, wenn es nur eine Seite gibt.

  • Hi,
    erstmal Danke!
    Wenn ich einen Corehack mache mit

    Code
    if ($this->pagesTotal >= 1)

    funktioniert es. Diesen Hack habe ich jetzt gemacht um zu sehen obs funktioniert.


    Wenn ich nun die if-Anweisung in meinem Override anpasse, wird

    Code
    $this->pagination->get('pages.total')

    irgendwie ignoriert.
    z.B. das


    dürfte ja eigentlich auf einer Seite mit nur einer Seite das zweite if nicht ausgeben und auf einer Seite wo es mehr als eine Seite gibt das erste if nicht.
    Hier mit wird aber auf einer Seite mit mehr als zwei Seiten auch das erste if ausgegeben und das dürfte ja nicht passieren.


    Ob ich $this->pagination->get('pages.total') oder $this->pagination->pagesTotal verwende ist auch jeweils egal. Auf einer Seite mit zwei Seiten bekomm ich bei beiden mit var_dump() ein float(2) ausgegeben.


    Grüße

  • Weil
    $this->params->def('show_pagination', 2) == true ist
    wird der Text bei mehr als einer Seite zweimal ausgegeben.


    Verbinde es mit einem elseif:


  • Hallo Astrid,


    das ich das am End am besten mit einem elseif mache ist klar. Ich hab die beiden ifs aktuell nur verwendet um beide Ausgaben sehen zu können.
    Aber auch mit einem Elseif wird auch auf der Seite mit mehreren Seiten Seite 1 von 1 ausgegeben. Also das $this->params->def('show_pagination', 2) killt mir die pages.total abfrage.


    Was wird den mit dem $this->params->def('show_pagination', 2) genau abgefragt?$this->params->get('show_pagination') fragt ja die Einstellung des Backends ab, aber was macht das ->def?


    Grüße

  • Hallo,


    Danke Re:Later!


    Ich habe jetzt das OR aus der Kondition rausgenommen.


    Ich hoffe ich hab mir damit jetzt kein Bein gestellt. Aber es funktioniert nun wie gewollt.


    Viele Grüße