Überschrift von Content-Element in TEXT-Objekt wurde Beantwortet

Autor Nachricht
Verfasst am: 09.05.2008 [11:19]
Seph

[Themenersteller]
dabei seit: 12.03.2007
Beiträge: 59

Hallo,

ich möchte in einem Textobjekt die Überschrift eines Content-Elements schreiben. Was mach ich falsch?

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.topic = TEXT
  2. temp.topic {
  3.   field=header
  4. }
Verfasst am: 10.05.2008 [00:06]
Dirk1

dabei seit: 15.03.2007
Beiträge: 51

Füg mal folgendes statement hinzu:

table = tt_content

Gruß
Dirk
Verfasst am: 12.05.2008 [14:57]
Seph

[Themenersteller]
dabei seit: 12.03.2007
Beiträge: 59

Funktioniert leider auch nicht :/

Eigentlich müsste das doch machbar sein!
Verfasst am: 12.05.2008 [15:04]
Dirk1

dabei seit: 15.03.2007
Beiträge: 51

Dann fällt mir noch ein:

select.pidInList = 4711
Oder irgendeine andere Seiten-ID deiner Wahl

select.pidInList = this

Nimmt die aktuelle Seite. Ist vielleicht nicht default.
Verfasst am: 12.05.2008 [15:13]
Dirk1

dabei seit: 15.03.2007
Beiträge: 51

Poste doch mal bitte den gesamten T3-Block
Verfasst am: 12.05.2008 [15:16]
Seph

[Themenersteller]
dabei seit: 12.03.2007
Beiträge: 59

Hi, hier das Objekt:

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.topic = TEXT
  2. temp.topic {
  3.   table=tt_content
  4.   select.pidInList = this
  5.   field=header
  6. }
Verfasst am: 12.05.2008 [15:51]
Dirk1

dabei seit: 15.03.2007
Beiträge: 51

Das was hierarchisch darüber liegt auch bitte.

Ich nehme an, das pidInList hat ebenfalls nicht funktioniert.

Das ist in sofern ein interessanter Fall, weil du etwas total naheliegendes machst was nicht funktioniert.
Ich habe das gleiche Problem übrigens völlig anders gelöst:

Typoscript:Zeilennummerierung:  An / Aus

  1. page.1.marks.NORMAL.30 = CONTENT
  2. page.1.marks.NORMAL.30 {
  3.         table = tt_content
  4.         select.orderBy = sorting asc
  5.         select.where = colPos = 0
  6.         select.pidInList = this
  7.         renderObj.stdWrap.wrap = <div class="content-wrap">|</div>
  8.        
  9.         renderObj = TEXT
  10.         renderObj = {
  11.                 field = header
  12.         }
  13. }


Mir ist an sich selber nicht ganz klar, warum an dieser Stelle diese zusätzliche Schleife über renderObj nötig ist.

Vielleicht kann sich mal einer von den großen Zauberern hier dazu äußern.

Gruß
Dirk
Verfasst am: 12.05.2008 [19:48]
SLAng


dabei seit: 20.10.2004
Beiträge: 1620

Ich habe das Topic so verstanden, dass ein bestimmtes Feld EINES Content Elments ausgelesen werden soll, nämlich das header filed des Content Objekt xy.

Hier wird aber doch in Anführungsstrichen in den Codebeispielen gezeigt wie man ALLE Content Elemente einer bestimmten Seite der Spalte normal ausliest.

Wenn du ein bestimmtest Content-Element haben willst, ist das

Typoscript:Zeilennummerierung:  An / Aus

  1. temp {
  2.         MARKER = RECORDS
  3.         MARKER {
  4.                 tables = tt_content
  5.                 source = 5
  6.         }
  7. }

Das liest dir aus der Tabelle tt_content das Inhaltselement mit der uid 5 aus...

Wie du nur an das field header kommst weis ich leider nicht.

Nichts wissen ist schlecht, nichts wissen wollen ist eine Katastrophe!
Verfasst am: 13.05.2008 [10:42]
jochen

dabei seit: 15.12.2003
Beiträge: 64

Hallo zusammen,

so kommt man an ein bestimmtes Feld aus einer Datenbanktabelle:
Typoscript:Zeilennummerierung:  An / Aus

  1. temp.topic = TEXT
  2. temp.topic.data = DB : tt_content : 5 : header

Das liefert die Überschrift des Inhaltselements (aus "tt_content") mit der uid 5.

Grüße
Jochen

[Dieser Beitrag wurde 1 mal bearbeitet. Zuletzt am 13.05.2008 um 10:43]

Jochen Fröhlich | TYPO3 Programmierung in Stuttgart
Verfasst am: 14.05.2008 [19:13]
Seph

[Themenersteller]
dabei seit: 12.03.2007
Beiträge: 59

Hallo,

vielen Dank für die Antworten und Lösungsanstöße.

Hier meine Lösung:

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.topic = CONTENT
  2. temp.topic {
  3.   table = tt_content
  4.   select {
  5.     max = 1   # nur der erste Datensatz
  6.     where = colPos = 0
  7.   }     
  8.   renderObj = TEXT
  9.   renderObj {
  10.       field = header
  11.     }
  12.   }
  13. }
  14.  
  15. # ich brauche die Überschrift nur auf der ersten Seite bzw. treeLevel 0
  16. [treeLevel = 1,2]
  17.   lib.stdheader.10 >
  18. [end]


Mit der Lösung kann ich nun die Überschrift des ersten Content-Elements einer Seite in einen Marker kopieren und diesen frei auf der Seite platzieren.

Da diese Lösung für alle Content-Elemente im treeLevel 1,2 gilt, haben die nachfolgenden Elemente keine Überschrift! Sollte kein Problem sein das mit ein paar Zeilen Script zu ändern. Für meine Seite jedoch ausreichend.

Gruss
Seph

[Dieser Beitrag wurde 3 mal bearbeitet. Zuletzt am 15.05.2008 um 10:49]




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.