Ankündigung
Einklappen
Keine Ankündigung bisher.
Next / Prev auf Detailseiten
Einklappen
X
-
Zitat von Tim Beitrag anzeigenÜber die ID des aktuellen Eintrags, kann man ebenfalls über Inserttag ermitteln lassen, verglichen mit der ID der Einträge im Array. $entry->field('id')->value(); // kommt immer mit
Hatte ich schon versucht. Wenn aber der Eintrag ID=1 gelöscht wird, ist der "erste" ja ID=2... oder hab ich da nen Denkfehler?
Einen Kommentar schreiben:
-
Über die ID des aktuellen Eintrags, kann man ebenfalls über Inserttag ermitteln lassen, verglichen mit der ID der Einträge im Array. $entry->field('id')->value(); // kommt immer mit
Einen Kommentar schreiben:
-
Hi,
ich klink mich hier mal kurz ein.
Hab erfolgreich das oben geschrieben umgesetzt. Jetzt such ich noch eine Möglichkeit eine Anzahl-Anzeige einzubauen, in etwa: "Eintrag 4 von 15"
Geht das?
Die totale Anzahl hab ich über das entspr. Insert-Tag geholt, aber wie finde ich die aktuelle Position des Eintrags im Array?
Einen Kommentar schreiben:
-
Ich habe das jetzt mal versucht so umzusetzen, indem ich das Lesermodul verwendet habe und dann noch ein weiteres Listenmodul, wo nur dein Code drin ist. Angezeigt wird aber dann nur die Pagination und nichts anderes passiert, sie springt zwar vor, aber ich kann nicht vor/zurück navigieren.
HAbe ich was falsch gemacht?
Ich habe den Fehler gefunden: Ich hatte bei der Liste noch eingetragen, dass nur ein Eintrag ausgegeben werden soll. Muss aber natürlich auf 0 stehen.Zuletzt geändert von Sukrams; 02.02.2017, 14:18.
Einen Kommentar schreiben:
-
Es sind alles CC Listen, damit kannst du hier auch filtern wie du magst.
Einen Kommentar schreiben:
-
Hallo, leider muss ich hier noch einmal nachfragen:
Es sind noch weitere Kategorien hinzugekommen, welche ich per Seitenwähler den Listen auf den entsprechenden Seiten/Kategorien zugewiesen habe.
Gehe ich nun von einer Listenseite auf eine Detailseite und möchte mich von einem Produkt zum nächsten bewegen, werden nun alle Produkte durcheinandergewürfelt.
Wie kann ich die Pagination für die Produkte auf eine Kategorie eingrenzen?
Einen Kommentar schreiben:
-
Ganz genau so! PrimaZitat von Watermusic Beitrag anzeigenDanke Tim, jetzt hab ich's... jetzt habe ich auf meiner Detailseite einen Leser-Modul untergebracht und zusätzlich das Listen-Modul mit deinem Code.
Danke nochmals für Eure Hilfe
Einen Kommentar schreiben:
-
Danke Tim, jetzt hab ich's... jetzt habe ich auf meiner Detailseite einen Leser-Modul untergebracht und zusätzlich das Listen-Modul mit deinem Code.
Danke nochmals für Eure Hilfe
Einen Kommentar schreiben:
-
Würdest du einfach nur ein Liste Modul für die Next/Prev nutzen und einfach einen Leser für deinen Detail-Eintrag müsstest du gar nicht den aktuellen rausfiltern.
Der aktuelle wäre sonst einfach
$myEntry = null;
if($entry->get('alias') == $current) { $myEntry = $this-entries[$i]; }
Einen Kommentar schreiben:
-
Vielen Dank, das mit der Url funktioniert jetzt perfekt
Da ich nun anstelle des Reader-Templates das Listen-Template mit Tims Code und den besagten Einstellungen verwende, werden nun alle Produkte auf der Detailseite ausgegeben. Ich versuche schon seit heute Mittag, dass nur das aktuelle Produkt ausgegeben wird - aber irgendwie haut es nicht hin.
Code:<?php $current = \Input::get($GLOBALS['PCT_CUSTOMCATALOG']['urlItemsParameter']); // ID oder ALIAS des aktuellen Leser Eintrags $prev = null; $next = null; // die zwei nachbareintraege finden foreach($this->entries as $i => $entry) { if($entry->get('alias') == $current) // mein alias feld, heisst "alias" { $prev = $this->entries[$i-1]; $next = $this->entries[$i+1]; } } ?> <?php if($prev): ?><a class="prev" href="<?php echo $prev->links('detail')->url; ?>">Prev</a><?php endif; ?> <?php if($next): ?><a class="next" href="<?php echo $next->links('detail')->url; ?>">Next</a><?php endif; ?> <div class="produktliste <?php echo $this->class; ?> block" <?php echo $this->cssID; ?>> <?php foreach($this->entries as $entry): ?> <div class="entry block <?php echo $entry->class; ?>"> <div class="content"> <h4><?php echo $entry->field('titel')->value(); ?></h4> <div class="kurzbeschreibung"><?php echo $entry->field('kurztext')->value(); ?></div> </div> <a href="<?php echo $entry->links('detail')->url; ?>" class="button">Details</a> </div> <?php endforeach; ?> </div>
Einen Kommentar schreiben:
-
Liste. Ins Modul Template kommt gar nicht $this->entries rein.
Einen Kommentar schreiben:
-
Welches Template muss ich denn bearbeiten? Das Listen-Template oder das Modul-Template?
Einen Kommentar schreiben:
-
Gute Idee von eblick! Macht es ohne die Pagination in der zweiten Liste und kickt alles raus, was nicht direkt vor dem aktuellen Eintrag und danach kommt.
Zweite Liste die quasi als Pagination genutzt werden soll, oder einfach direkt ins Template. In den Einstellungen alle Einträge ausgeben lassen.
PHP-Code:<?php
$current = \Input::get($GLOBALS['PCT_CUSTOMCATALOG']['urlItemsParameter']); // ID oder ALIAS des aktuellen Leser Eintrags
$prev = null;
$next = null;
// die zwei nachbareintraege finden
foreach($this->entries as $i => $entry)
{
if($entry->get('alias') == $current) // mein alias feld, heisst "alias"
{
$prev = $this->entries[$i-1];
$next = $this->entries[$i+1];
}
}
<?php if($prev): ?><a class="prev" href="<?php echo $prev->links('detail')->url; ?>">Davor</a></php endif; ?>
<?php if($next): ?><a class="next" href="<?php echo $next->links('detail')->url; ?>">Davor</a></php endif; ?>
?>Zuletzt geändert von Tim; 02.12.2015, 18:27.
Einen Kommentar schreiben:

Einen Kommentar schreiben: