Hallo,
in der rechten Spalte möchte ich eine zufällige Auswahl von Glossareinträgen zeigen.
Leider kann ich immer nur einen Eintrag dort anzeigen, den ich vorher auch noch bestimmen muss.
seite.10.marks.RIGHT.20 {
ltext = {DB : tx_a21glossary_main : 2 : short}
insertData = 1
ltext.substring = 0,1
value < .ltext
typolink {
parameter = 20
additionalParams = &tx_a21glossaryadvancedoutput_pi1[char]={DB : tx_a21glossary_main : 2 : short}
section = glossar{DB : tx_a21glossary_main : 2 : uid}
additionalParams.insertData = 1
}
}
Hier wird immer nur der Eintrag mit der uid 2 angezeigt.
Wie kann ich es ändern, dass zufällig immer etwa 7 Begriffe angezeigt werden, die natürlich auch nicht doppelt vorkommen sollten?
Gruß
FrankT
Am besten mit einer eigenen Funktion. Zufällige Inhalte kannst aber auch mit der PHP-Funktion rand() erzeugen, vielleicht reicht diese deinen Anforderungen?
Beispiel:
#547394
Danke freshman17,
so einfach kann es sein:
seite.10.marks.RIGHT.20 = CONTENT
seite.10.marks.RIGHT.20 {
table = tx_a21glossary_main
select {
pidInList = 58
orderBy = RAND()
where = deleted=0
selectFields=uid,short
max=7
}
renderObj = COA_INT
renderObj {
10 = TEXT
10 {
field = short
wrap=|<br>
typolink.parameter=20
typolink.additionalParams.field = short
typolink.additionalParams.wrap = &tx_a21glossaryadvancedoutput_pi1[char]=|
typolink.additionalParams.crop = 1
typolink.useCacheHash = 1
typolink.section.field = uid
typolink.section.wrap = glossar|
}
}
}
Oje,
es gibt doch noch ein Problem.
Ich nutze im Glossar den Pagebrowser.
Wird nun ein Eintrag angeklickt, der nicht auf der ersten Seite ist, dann funktioniert es nicht, weil automatisch nur die erste Seite angezeigt wird.
Hat da noch jemand eine Idee?
Zudem sind die zufälligen Einträge nicht mehr sortiert.
Kann man das renderObj irgendwie sortieren?
Gruß
Frank
Also ich würde das Ganze über ne eigene kleine Extension. Ist sicher kein großer Akt und wesentlich flexibler als die TS Geschichte.
Gruß
Michael
Hallo Michael,
für das Pagebrowser-Problem hatte ich die Extension schon angepasst.
Für das Sortier-Problem dachte ich auch schon an eine neue Extension, wollte aber diese Nuss mit TypoScript lösen, falls es geht.
Vielleicht kennt ja noch jemand eine Lösung.
Danke
Frank
Hallo,
mir ist noch eine Idee gekommen.
Um die zufälligen Einträge zu sortieren, dachte ich mir, dass ich eine ID-Liste aus dem gezeigten SELECT erzeuge.
Beispiel: 0,3,45,6,12,23,9
Damit kann ich einen zweiten SELECT erzeugen, bei dem nur die IDs abgerufen werden mit orderBy = short
Wie kann ich also eine Variable erzeugen und immer wieder ein Komma mit einer Zahl anhängen?
Gruß
FrankT