Super, danke! Werd ich gleich mal ausprobieren.
Gruß
Susanne
Am 08.03.2013 21:33, schrieb Stefan Neufeind:
Hi,
hier mal quick-n-dirty mit split und einem CASE. Du kannst ein oder
mehrere Elemente ausfiltern (einfach leere TEXT-Elemente ausgeben -
siehe Beispiel "12") oder sie theoretisch auch durch andere Inhalte
ersetzen. Die anderen Inhalte können ihrerseits natürlich auch wieder
aus noch einem ganz anderen cObject kommen.
Zum testen auf einer Seite ein tt_content-Element anlegen, in den Titel
z.B. 17,21,7,9,4,12 einfügen. Hier im Beispiel ist die uid des Elements 429.
page = PAGE
page.10 = RECORDS
page.10 {
tables = tt_content
source = 429
conf.tt_content = TEXT
conf.tt_content {
field = header
split {
token = ,
cObjNum = 1
1.cObject = CASE
1.cObject {
key.current = 1
12 = TEXT
default = TEXT
default.current = 1
default.wrap = ,
}
}
substring = 1
}
}
Es wird die 12 ersetzt, alle anderen Elemente jeweils ausgegeben und mit
Komma am Anfang ausgegeben. Da du das erste Komma nicht brauchst noch
ein Substring drüber (erstes Zeichen abschneiden).
Und tut.
PS: Aber glücklicherweise muss man nicht immer alles in TypoScript lösen
auf dieser Welt :-)
Grüße,
Stefan
On 03/08/2013 08:39 PM, SW wrote:
Hi Stefan,
danke für deine Mühe! Das Problem ist, das man nicht weiß, an welcher
Stelle in der Liste der rauszuschmeissende Wert steht. Auch nicht, ob er
vorne steht oder nicht und auch nicht, wie viele Elemente die Liste hat.
Nicht so einfach mit split...
Ich probier mal mit meinen registern weiter, vielleicht führt das zum Ziel.
Gruß
Susanne
Am 08.03.2013 20:33, schrieb Stefan Neufeind:
Hi,
oder mit split deine Elemente teilen und diese dann per condition
Anzeigen/Nicht anzeigen?
http://wiki.typo3.org/De:TSref/split
Du hast dort für jenes Element ein ganz normales cObject, auf welches du
if etc. anwenden kannst.
Grüße,
Stefan
On 03/08/2013 08:30 PM, Stefan Neufeind wrote:
Hi,
ich dachte an "ersetze ,1, durch ," Und im Fall, daß es am Anfang steht
natürlich durch nichts. Das wäre z.B. per Regex ja kein Problem. Aber
auf 4.5 steht replacement noch nicht zur Verfügung.
"Notfalls" einfach erstmal kurz durch ne userFunc schicken und die Logik
in PHP realisieren? Ja, quick-n-dirty.
Die TypoScript-Lösung sollte sich schon auch ausknobeln lassen. Da hab
ich nur gerade nicht die Zeit zu :-)
Viel Erfolg,
Stefan
On 03/08/2013 08:12 PM, SW wrote:
Hallo Stefan,
replacement oder Regex nützt leider an dieser Stelle nichts, denn wenn
ich z.B. die Zahl 1 "rausschmeißen" will, wird ja die 1 dann auch in
10,11,12.... ersetzt.
Ach ja, falls es noch wichtig ist: ich nutze Typo3 Version 4.5
Gruß
Susanne
Am 08.03.2013 20:05, schrieb Stefan Neufeind:
On 03/08/2013 07:50 PM, SW wrote:
ich gebe eine Kommaseparierte Liste aus einem datenbankfeld aus:
10 = RECORDS
10 {
tables = meineTabelle
source = 123
conf.meineTabelle = TEXT
conf.meineTabelle.field = meinTabellenfeld
}
Die Ausgabe ist eine kommaseparierte Liste bestehend aus Ziffern:
3,7,10,25....
Aus dieser Ausgabe muss ich nun einen Wert entfernen. Substring
funktioniert nicht, da dieser Wert je nach ausgelesenem Feld nicht
immer
an der gleichen Position vorkommt.
[...]
hat vielleicht jemand eine Idee?
Vielleicht einfach per .replacement stdWrap? Mit "useRegExp = 1"
kannst
du dort sogar eine Regex nutzen (z.B. für "steht am Anfang oder hat
vorweg ein Komma") und dann einfach den Teilstring durch nichts
ersetzen?
removeFromList() ist an der Stelle tricky. Aber der Ansatz mit den
Registern klingt nett :-) Ich denke jedoch das ist mit Spatzen auf
Kanonen geschossen.
Grüße,
Stefan
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german