moin.
ich möchte per insert tag auf die jeweils folgende seite navigieren.
der nutzer soll die seiten später duplizieren/verschieben können, da verbietet sich, eine feste ID zu vergeben.
ich finde so einen tag nirgends beschrieben ...
best
Ole
moin.
ich möchte per insert tag auf die jeweils folgende seite navigieren.
der nutzer soll die seiten später duplizieren/verschieben können, da verbietet sich, eine feste ID zu vergeben.
ich finde so einen tag nirgends beschrieben ...
best
Ole
Ahoi, wäre die „Buch-Navigation“ nicht genau die Lösung dafür?
Gesendet von iPhone mit Tapatalk Pro
Grüße, Stefko
Vielleicht raffe ich es gerade auch nicht ganz (und ein Link ist für mich die Minimaldefinition von Navigation), aber wenn Du zB ins Seitenlayout eine Buchnavigation einbaust, verlinkst du doch (ganz automatisch) auf die nächste und vorige Seite. Ebenso kannst Du problemlos Seiten verschieben/löschen/hinzufügen ohne die Navi anpassen zu müssen.
Gesendet von iPhone mit Tapatalk Pro
Geändert von Stefko (17.02.2018 um 14:01 Uhr)
Grüße, Stefko
Hallo,
vielleicht kanns Du etwas genauer definieren, was Du meinst. Ich kann es mir gerade nicht so recht vorstellen, ich hätte auch an die Buchnavigation gedacht.
Wie ist "die nächste Seite" definiert?
Gruß
Hella
Mitglied des Contao User Treffen München
Aktuelle Termine erfährst Du immer unter www.contao-bayern.de
Komm' doch mal vorbei!
es geht mir nicht um ein ui-device (wie zb eine navigation).
der user klickt auf ein galerie-vorschau-bild in einem grid aus zb 100 bildern.
per POST übermittelt ein script in meinem custom-template die singleSRC des bildes an eine (die nächste von der galerie-vorschau aus gesehen) seite, wo das bild in einem image element angezeigt wird. es ist die selbe seite für jedes der 100 bilder.
momentan habe ich die url der anzeige-seite per {{link_url::23}} im script angegeben.
würde ein redakteur der seite diese 2 seiten duplizieren, um zb andere bilder in einer galerie zu zeigen, würde der link immer noch auf die ursprüngliche zielseite führen, nicht auf die duplizierte, neue seite ...
any idea?
Ich würde dafür ein eigenes Modul bauen und darin würde ich die Zielseite auswählbar machen so kann der Benutzer einfach die Seite auswählen auf die geleitet werden soll.
Gesendet von iPhone mit Tapatalk
Die Antwort auf die erste (unvollständige) Anforderung wäre auch bei mir: Buchnavigation. Die Antwort auf die vollständige Anforderung ist mir dagegen noch nicht klar.
Beim Klick auf ein Vorschaubild geht was auf? Was ist denn die nächste von der Galerievorschau (Dein 100er Grid) aus gesehene Seite? Das wäre für mich immer dieselbe Seite, also z.B. Deine {{link_url::23}}. Okay, der Benutzer schiebt jetzt eine Impressum-Seite zwischen Galerievorschauseite und Seite 23. Dann soll der Link also auf die Impressumseite zeigen, anstatt auf Seite 23?!
Wenn das mit der Buchnavigation nicht geht, dann würde ich ein eigenes Insert-Tag programmieren und mich bei der Ermittlung der Folgeseite am Code der Buchnavigation bedienen.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
die auf die 'auslösende' seite in der seitenstruktur folgende seite meine ich:
X
__X1 [id12]
__X2 [id23]
__X3 [id 34]
wenn ich die bildvorschau zb auf seite X2 habe, dort ein bild anklicke, möchte ich auf seite X3 landen, ohne deren ID zu kennen.
analog soll das selbe gelten, wenn ich die seiten X2 und X3 dupliziere, so dass sie nun zb Y5 und Y6 währen ...
Die "nächste" Seite könntest du dir mit einer einfachen Datenbank Abfrage im Template holen.
Die DB-Abfrage würde bei mir etwa so aussehen (ungetestet):
Zuerst lade ich aus der Datenbank alle Seiten, die die gleiche Elternseite wie meine aktuelle Seite haben. Danach suche ich in den gefundenen Seiten nach der nächsthöheren Spalte sorting. Das muß dann die nächstfolgende Seite sein. Wenn keine gefunden wird, steht in $sorting immer noch der zu hohe Wert 999999 drin und $found ist immer noch 0. Wenn eine gefunden wird, enthält $sorting einen niedrigeren Wert und in $found steht die ID der gefundenen nächsten Seite.PHP-Code:
<?php
global $objPage;
$result = \Database::getInstance()->prepare("SELECT id, sorting FROM tl_page WHERE pid=?")->execute($objPage->pid);
$found = 0;
$sorting = 999999;
while($result->next())
{
if($result->sorting > $objPage->sorting && $result->sorting < $sorting)
{
$sorting = $result->sorting;
$found = $result->id;
}
}
?>
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Das geht auch ohne PHP processing .(ungetestet)PHP-Code:
$objNext = \PageModel::findBy([
'sorting > ?',
'pid = ?'
], [
$GLOBALS['objPage']->sorting,
$GLOBALS['objPage']->pid
], [
'limit' => 1
'order' => 'sorting ASC',
'return' => 'Model'
]);
@Samson1964
danke nochmal,
dein code funktioniert bei mir (ins custom template eingebaut) genau wie ich es brauche!
@ Spooky
dank auch dir – zunächst hats nicht gefunkt – aber während ich diese antwort hier zum ersten mal formulierte, ist mir mein fehler aufgefallen – nun funktioniert auch diese lösung.
natürlich ; )
danke allen tipgebern!
Geändert von Ole_B (20.02.2018 um 14:02 Uhr)
Du brauchst die id der nächsten Seite nicht die parent ID (pid). Statt {{link_url::*}} kannst du auch gleich direktoderPHP-Code:
<?= $objNext->getFrontendUrl() ?>
verwenden.PHP-Code:
<?= $objNext->getAbsoluteUrl() ?>
ich habe diese deine lösung meines 'relativer link' problems heute auch an anderer stelle, in einem ce_image-template nämlich, anwenden wollen, dort allerdings erhalte ich im FE die systemmeldung "keinen startpunkt gefunden", obwohl die URL der richtigen seite angezeigt wird (im browser-adress-feld).
woran könnte das liegen?
Das hat vermutlich nichts mit deinem Template zu tun.
Geändert von Ole_B (28.02.2018 um 15:51 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen