Zum Inhalt springen

Liste der verwendeten Page Id's erstellen

Erstellt am 17. August 2006 · 4 Antworten · letzte Antwort am 18. August 2006

Tags: Seiten & Seitenbaum, Frage

suit4 ·

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

Unbekannter Benutzer ·

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

suit4 ·

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

suit4 ·

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