Hallo Forum!
Ohne TemplaVoila kann ich ja mit diesem Snippet ...
30 = CONTENT
30 {
table = tt_content
select {
# Inhalte aus PID
pidInList = xyz
orderBy = RAND()
max = 1
languageField = sys_language_uid
}
renderObj < tt_content
renderObj.stdWrap.wrap = <div class="blabla">|</div>
renderObj.stdWrap.required = 1
}
... (danke liebes Internet/Forum/sk-typo3.de, ...) ein zufälliges Inhaltselement auslesen...
Ich hab nun 2 Dinge vor:
1. Bei einem Projekt mit TemplaVoila 1 zufälliges Element einer Seite auf allen Seiten ausgeben...
2. Alle Inhalte einer Seite in zufälliger Reihenfolge ausgeben...
Ersteres ist auch weiter kein Problem, mit einer Einschränkung: Wenn ich ein Inhaltselement lösche, steht es für das Snippet trotzdem noch zur Auswahl, weil der Inhalt ja nur aus der TV-Referenz genommen, aber nicht gelöscht wird... 😢 Kann ich das unterbinden? Dass er also nur noch "aktuelle" Inhalte verwendet?
Beim 2. scheitere ich kläglich, ich hab leider überhaupt keine Idee...
Weiß jemand Rat?
Danke,
Roman
Hallo toschntuach,
hast du das Problem schon gelöst? Ich stehe vor einem ähnlichen Problem
Mach in Dein select noch das rein:
where = deleted=0 AND hidden=0
und dann werden Dir auch die gelöschten Objekte nicht mehr angezeigt.
OHNE TemplaVoila könnt Ihr Euch den Inhalt randomized anzeigen lassen:
styles.content.get.select.orderBy = RAND()
page.20 < styles.content.get
MIT TemplaVoila? Keine Ahnung. Müsste man jetzt mal die *pi1.php von TemplaVoila durchgehen und mal schauen wo und wie dort der Content geladen wird. Vielleicht gibts ja auch einen Hook.
Stefan
Hallo,
gibt es eine Lösung für den 2. Problempunkt mit TemplaVoila? Würde mich nämlich auch interessieren.
Gruß
fkotzek4
Ich hab das ganze mal ganz grob zusammen geklickert:
10 = CONTENT
10 {
table = tt_content
select.orderBy = RAND()
select.languageField = sys_language_uid
}
Das habe ich bei mir in TemplaVoila für das ContentElement eingetragen. Keine Ahnung, ob die Sprachen sauber übernommen werden. Hab auf jeden Fall 5 CEs angelegt:
1
2
3
5
4
und sie werden mit folgendermaßen auf der Wbseite angezeigt:
5
4
2
3
1
Demnach funktioniert das Script, aber es ist nicht weiter getestet...
Stefan
Hallo,
vielen Dank für die Antwort.
Das hat mir schon sehr weiter geholfen, aber kann man das auch explizit nur für eine Seite einstellen?
Ich stehe da wohl gerade auf dem Schlauch.
Gruß
fkotzek4
Also entweder arbeitest du dann mit if und musst dann die ID der gewünschten Seite mit in das TS reinbauen oder du baust dir eine Kopie von dem Template und fügst es nur bei dieser einen Seite in die Seiteneigenschaften ein.
Hallo,
vielen Dank, das hat funktioniert.
Gruß
fkotzek4