TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Anzahl der Unterseiten ermitteln und ausgeben


Autor Nachricht
Verfasst am: 22. 08. 2009 [16:17]
zorc68
Themenersteller
Dabei seit: 31.01.2006
Beiträge: 131
Hallo, ich möchte gerne eine Überschrift mit Gifbuilder rendern lassen. Ziel ist es bei einer Bildergalerie immer die jweilige Bildnummer und die Gesamtanzahl der Bilder darzustellen. Bsp. 1/20
Diese einzelen Seiten liegen als Untersseiten in der jeweilgen Galerieseite.
Die erste Zahl hole ich mir aus dem Navigationstitel der Seiteneigenschaften.
Meine Frage ist nun: kann ich die Gesamtanzahl der Unterseiten einer Galerie von TYPO3 ermitteln und ausgeben lassen. Mein derzeitiges TS sieht so aus. Da wo die Fragezeichen stehen, stehe ich auf dem Schlauch.
TYPOSCRIPT
TITEL = IMAGE
   	TITEL.file = GIFBUILDER
   	TITEL.file {
 
      XY = [10.w]+150 , 40
      backColor = #eeebe9   
 
      10 = TEXT
      10.text.field = subtitle
      10.text.listNum = 0
      10.text.listNum.splitChar = |
      10.fontColor = #241409
      10.fontFile = fileadmin/font/Amazone_BT.ttf
      10.align = left
      10.fontSize = 30
      10.niceText = 0,5
      10.offset = 10, 25
 
      20 = TEXT
      20.text = /
      20.text.listNum = 0
      20.text.listNum.splitChar = |
      20.fontColor = #241409
      20.fontFile = fileadmin/font/Amazone.ttf
      20.align = left
      20.fontSize = 26
      20.niceText = 0,5
      20.offset = [10.w]+20, 25
 
 
      30 = TEXT
      30.text.field = ???????????
      30.text.listNum = 0
      30.text.listNum.splitChar = |
      30.fontColor = #241409
      30.fontFile = fileadmin/font/Amazone.ttf
      30.align = left
      30.fontSize = 26
      30.niceText = 0,5
      30.offset = [10.w]+50, 25
 
 
}


Oder gibt es einen ganz anderen Ansatz dafür?
Danke Marc
Profil
Verfasst am: 22. 08. 2009 [21:22]
gmf
Dabei seit: 02.08.2009
Beiträge: 86
Das ganze musst du wohl etwas komplexer mit einem cObject lösen:

TYPOSCRIPT
...
30 = TEXT
30.text.cObject = CONTENT
30.text.cObject {
  table = pages
  select {
    selectFields = count(*) as amount
    pidInList.field = uid
  }
  renderObj = COA
  renderObj {
    50 = TEXT
    50.field = amount
  }
}
30.fontColor = #241409
30.align = left
30.fontSize = 26
30.niceText = 0,5
30.offset = [10.w]+50, 25
...


Ich denke, das sollte klappen.

Grüße,
Reinhard

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 22.08.2009 um 21:26.]
Profil
Verfasst am: 23. 08. 2009 [00:52]
zorc68
Themenersteller
Dabei seit: 31.01.2006
Beiträge: 131
Hallo Reinhard, danke für Deinen Ansatz.
bei mir wird aber nur eine Null ausgegeben. Ich habe das TS jetzt als Extension Template auf die Seite gelegt, die Ausgang für meine Unterseiten ist.
Ist das richtig?
Wenn ich es woanders positionire. Wohr weiß das Script welche Unterseiten ich zählen möchte?
Sorry für vielleicht dumme Fagen aber das cObject kenne ich noch nicht. Werde mich in den kommenden Tagen mal intensiver damit befassen.
Liebe Grüße
Marc
Profil
Verfasst am: 23. 08. 2009 [11:32]
gmf
Dabei seit: 02.08.2009
Beiträge: 86
Ich habe das Ganze mal ins Template der Rootseite geschrieben.

In

TYPOSCRIPT
pidInList.field = uid


wird "uid" durch die ID der aktuell gewählten Seite im FE ersetzt. Befinde ich mich also auf der Seite mit der ID 5 hat "uid" den Wert 5. Dadurch werden alle Unterseiten der Seite 5 selektiert und die Anzahl in "amount" geschrieben.
Wenn bei dir nur "0" ausgegeben wird, liegt es wohl daran, dass die im FE angezeigte Seite keine Unterseiten hat. Dann musst du die pidInList-Option mit einer anderen ID befüllen. Das hängt von deinem Seitenbaum ab.
Profil
Verfasst am: 23. 08. 2009 [11:47]
zorc68
Themenersteller
Dabei seit: 31.01.2006
Beiträge: 131
verstehe ich, aber die Anzahl der Gesamtseiten soll ja auf den Unterseiten der Galerie angezeigt werden, Wenn ich durch die Galerie blättere soll da stehen 1/20, 2/20 etc.
im Moment sehe ich die 20 nur auf der Seite wo ich auch die Unterseiten habe. Ich glaube da hatte ich mich falsch ausgedrückt. geht das auch.
Marc
Profil
Verfasst am: 23. 08. 2009 [16:39]
gmf
Dabei seit: 02.08.2009
Beiträge: 86
Du kannst ja einfach als field die pid statt der uid verwenden:

TYPOSCRIPT
pidInList.field = pid


Profil
Verfasst am: 23. 08. 2009 [16:43]
zorc68
Themenersteller
Dabei seit: 31.01.2006
Beiträge: 131
das wars..tausend dank..marc icon_lol.gif
Profil