Paginierung mit weEdition8

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
e-site
webEdition Partner
webEdition Partner
Beiträge: 75
Registriert: Fr 27. Mai 2016, 09:33
Kontaktdaten:

Paginierung mit weEdition8

Beitragvon e-site » Mo 19. Feb 2018, 17:54

Hallo zusammen,
mit webEdition8 funktioniert unsere alte Paginierung nicht mehr, da einiges in $GLOBALS geändert wurde.

Code: Alles auswählen

<?php
for($n = 0; $n < $GLOBALS['lv']->anz_all; $n+= $GLOBALS['lv']->rows){
	$GLOBALS['mylv_current_start'] = $n;
	$GLOBALS['mylv_current_end'] = ($n + $GLOBALS['lv']->rows - 1 > $GLOBALS['lv']->anz_all) ? $GLOBALS['lv']->anz_all : $n + $GLOBALS['lv']->rows - 1;
	$GLOBALS['mylv_current_link'] = $_SERVER['PHP_SELF'].'?start='.($mylv_current_start);
	// Seite aktiv
	if($start==$n){
?>
<li class="active"><a href="<we:var type="global" name="mylv_current_link"/>" title="<?php echo $_SESSION['counter']; ?>"><?php echo $_SESSION['counter']++; ?><span class="sr-only">(current)</span></a></li>
<?php } else{ ?>
<li><a href="<we:var type="global" name="mylv_current_link"/>" title="<?php echo $_SESSION['counter']; ?>"><?php echo $_SESSION['counter']++; ?></a></li>
<?php
	}
}
?>
Mit we:back und we:next kann ich zwar durch die Seiten navigieren aber ich brauche wieder eine Aufzählung der Seiten, damit ich z.B direkt auf Seite 5 springen kann.

Kann einer helfen? Hat jemand einen Tipp?
Gruß Heiko

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 810
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Paginierung mit weEdition8

Beitragvon blickfang » Mo 19. Feb 2018, 18:20

Hallo Heiko,

es gibt neue Methoden die auf dem Listviewobjekt genutzt werden können:

Code: Alles auswählen

$GLOBALS['lv']->getPageNo();
$GLOBALS['lv']->getMaxPages();
$GLOBALS['lv']->getRows();
$GLOBALS['lv']->getMaxItemsPerPage();
Damit müsstest Du weiter kommen, oder? Aber Achtung, erst ab SVN 14848 verfügbar!

Viele Grüße
Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

Benutzeravatar
e-site
webEdition Partner
webEdition Partner
Beiträge: 75
Registriert: Fr 27. Mai 2016, 09:33
Kontaktdaten:

Re: Paginierung mit weEdition8

Beitragvon e-site » Mo 19. Feb 2018, 19:06

Hallo Timo,

vielen Dank. Hat mir weitergeholfen. Kommt da irgendwann noch was natives nach? Wenn es eine fertige Paginierung nur mit webEdition-Tags gäbe, wäre es schon toll. Und wie schaut es da mit den Nightly Versionen aus, kann man da immer bedenkenlos updaten?

Gruß
Heiko

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 810
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Paginierung mit weEdition8

Beitragvon blickfang » Mo 19. Feb 2018, 19:16

Hi Heiko,
bedenkenlos würde ich kein Update einspielen, egal in weches System ;-)
Hängt ja auch imme rmit den eigenen Templates zusammen, welche Update eine genauere Prüfung bedürfen. Die Nightly ist ausdrcklich nicht für eine Produktivumgebung empfohlen, mit der Nightly arbeitest Du aber auf dem jeweils aktuellen Stand der zuletzt eingecheckt wurde. Bis zum ofiziellen Release kann es Dir passieren, dass auch nochmal Dinge wieder rausfliegen, die in der nightly schon drin waren....

Paginierung wurde schon mehrfach heiss auch hier im Forum diskutiert .... die bekannten we:tags sollten weiterhin funktionieren. Mit den neuen Methoden liessen sich auch custom-Tags bauen, die dan die eigenen Anforderungen an eine Pagnierung abbilden können. Wir aber hier der finale Stand der Entwicklungsschritte ist kann ich leider spontan auch nicht sagen...
Viele Grüße
Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

Benutzeravatar
e-site
webEdition Partner
webEdition Partner
Beiträge: 75
Registriert: Fr 27. Mai 2016, 09:33
Kontaktdaten:

Re: Paginierung mit weEdition8

Beitragvon e-site » Fr 20. Jan 2023, 17:00

Hallo zusammen,

leider wird das Thema Paginierung mit webEdition 9 wieder aktuell. Der bisher bestehende Code funktioniert hier nicht mehr und ich habe eine Notlösung gefunden:

Code: Alles auswählen

<we:listviewRows to="global" nameto="listviewRows"/>
<we:listviewPageNr to="global" nameto="listviewPageNr"/>
<?php $j = 1;
	for( $i=0; $i < $listviewRows ; $i+= 3 ) {
	$active = ($j == $listviewPageNr ? ' class="active"' : ''); 
	echo "<li$active><a href='".$_SERVER['PHP_SELF']."?we_lv_start_news=$i' title='Seite $j'>$j</a></li>";
	$j++;
} ?> 
Funktioniert soweit, nur habe ich die alte Variable $GLOBALS['lv']->getMaxItemsPerPage() hier direkt mit der 5 ersetzt.
Wenn man aber rows="5" in der Listview ändert, muss man in der Paginierung auch nochmal anpassen.

Kann man irgendwo die getMaxItemsPerPage() der Listview auslesen?

Oder hat einer eine bessere Lösung/anderen Ansatz?

Grüße
Heiko

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1823
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Paginierung mit weEdition8

Beitragvon WBTMagnum » Fr 20. Jan 2023, 18:07

Hallo Heiko,

Kannst du nicht einfach die Anzahl der rows über eine Variable setzen und diese dann auch in der Paginierung nutzen?

In etwa so:

Code: Alles auswählen

<we:setVar to="global" nameto="listviewRows" value="5"/>
<we:listview ... rows="\$listviewRows">
  ...
</we:listview>
HTH,
Sascha


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 5 Gäste