Hallo zusammen,
ich suche nach einer Möglichkeit, per TS eine Liste aller verwendeten pid's zu erstellen, die der Reihenfolge der Seitenstruktur entspricht und die ich hinterher quasi als Array verwenden kann, um die Inhalte der jeweiligen Seite auszulesen.
Ich brauche also nicht die Header der Seiten, sondern die pid's der Seiten selbst.
Ziel ist, mit Hilfe des plaintext-plugins dann einen reinen Textabzug aller Seiten zu erzeugen.
Hat jemand eine Idee?
Danke, suit4
Nichts leichter als das:
lib.allids = HMENU
lib.allids {
entryLevel = 0
1 = TMENU
1.NO = 1
1.NO {
doNotShowLink = 1
before.cObject = TEXT
before.cObject.dataWrap = {field:uid}
}
2 < .1
3 < .1
4 < .1
5 < .1
### falls du mehr Ebenen hast, halt so weiter ###
Du musst halt bei dem dataWrap noch ein Trennzeichen einfügen, das du haben willst, sonst reiht er dir die IDs nahtlos aneinander...
Gruß
Christian
Hi Kitsunet,
das hat schon sehr gut geholfen. Hab eine kleine Korrektur vorgenommen:
lib.allids = HMENU
lib.allids {
entryLevel = 0
1 = TMENU
1.expAll = 1
1.NO = 1
1.NO {
doNotShowLink = 1
before.cObject = TEXT
before.cObject.dataWrap = {field:uid},
wrapItemAndSub =|
}
2 < .1
3 < .1
[...]
10 < .1
}
Damit sind dann auch alle Unterebenen aufgeklappt und icherhalte eine kommaseparierte Lsite mit alle verwendeten und sichtbaren pid's.
Schön, das.
Kann ich das ganze jetzt auch als Wert übergeben an Records.source?
So jedenfalls geht das leider nicht.
marks.MULTICONTENT = RECORDS
marks.MULTICONTENT {
tables = tt_content
source < lib.allids
dontCheckPid = 1
[...]
}
Ich will die Lsite ja gerne als Array verwenden ...
Ist das lösbar?
Danke, suit4
mist, expAll habe ich doch glatt vergessen...
marks.MULTICONTENT {
tables = tt_content
source.stdWrap.cObject < lib.allids
dontCheckPid = 1
#...
ok, soweit klappt das schon ganz gut ...
einzige Problem ist jetzt, dass der Output irgendwie nicht der Reihenfolge der pid's entspricht, die an source übergeben werden. Ausserdem scheinen nicht alle Inhalte angezeigt zu werden ... gibt's da eine längemäßige Beschränkung für die kommaseparierten Listen, die man als source angeben kann?
Teilweise bekomme ich Inhalte auch doppelt, die sitemap etwa, teilweise sind Inhalte anderer Sprachen dabei .. da muss ich mir noch mal gedanken machen.
Derweil auf jedenfall großen Dank für die Hilfe.
suit4