Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:cobject

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
typo3:about:cobject [2014/03/25 19:23] admintypo3:about:cobject [2020/04/29 20:20] (aktuell) – [FILE] admin
Zeile 4: Zeile 4:
  
 ^Eigenschaft^Datentyp^Beschreibung^ ^Eigenschaft^Datentyp^Beschreibung^
-^1,2,3,4 ...|cObject|Enthält die einzelnen cObjects. Die Reihenfolge der Ausgabe erfolgt anhand der Nummerierung, unabhängig von der Reihenfolge im Setup-Feld.|+^1,2,3,4 ...|[[typo3:about:datentypen#cobject|cObject]]|Enthält die einzelnen cObjects. Die Reihenfolge der Ausgabe erfolgt anhand der Nummerierung, unabhängig von der Reihenfolge im Setup-Feld.|
 ^stdWrap-Eigenschaften|stdWrap|Ermöglicht stdWrap-Funktionen.| ^stdWrap-Eigenschaften|stdWrap|Ermöglicht stdWrap-Funktionen.|
-^<td>-params|<td>-params|Nur verfügbar, wenn das cObject diese Eigenschaft unterstützt (z.B. ''CTABLE'')|+^<td>-params|[[typo3:about:datentypen#tag_-params|<td>-params]]|Nur verfügbar, wenn das cObject diese Eigenschaft unterstützt (z.B. ''CTABLE'')|
  
 <code typoscript> <code typoscript>
Zeile 27: Zeile 27:
  
 ^Eigenschaft^Datentyp^Beschreibung^ ^Eigenschaft^Datentyp^Beschreibung^
-^key|string / stdWrap|Hier wird der Schlüsselbegriff ausgelesen. Üblicherweise werden die stdWrap-Eigenschaften verwendet, also z.B. ''key.data'' oder ''key.field''.| +^key|[[typo3:about:datentypen#string|string]] / stdWrap|Hier wird der Schlüsselbegriff ausgelesen. Üblicherweise werden die stdWrap-Eigenschaften verwendet, also z.B. ''key.data'' oder ''key.field''.| 
-^[Schlüsselbegriffe]|cObject|Die erwarteten, möglichen Ergebnisse von ''key'' werden als Namen für cObjects verwendet. Hier kann also die gewünschte Ausgabe definiert werden.| +^[Schlüsselbegriffe]|[[typo3:about:datentypen#cobject|cObject]]|Die erwarteten, möglichen Ergebnisse von ''key'' werden als Namen für cObjects verwendet. Hier kann also die gewünschte Ausgabe definiert werden.| 
-^default|cObject|Dieses cObject wird verwendet, wenn die anderen aufgeführten Schlüsselbegriffe nicht mit dem Wert aus ''key'' übereinstimmen.| +^default|[[typo3:about:datentypen#cobject|cObject]]|Dieses cObject wird verwendet, wenn die anderen aufgeführten Schlüsselbegriffe nicht mit dem Wert aus ''key'' übereinstimmen.| 
-^if|if|Identisch mit der stdWrap-Funktion ''if''. Wenn das Ergebnis //false// ist, wird das gesamte CASE-Objekt nicht gerendert.| +^if|[[typo3:about:functions:if|if]]|Identisch mit der stdWrap-Funktion ''if''. Wenn das Ergebnis //false// ist, wird das gesamte CASE-Objekt nicht gerendert.| 
-^setCurrent|string / stdWrap|Ersetzt den aktuellen Wert des Elternelements durch den folgenden String.|+^setCurrent|[[typo3:about:datentypen#string|string]] / stdWrap|Ersetzt den aktuellen Wert des Elternelements durch den folgenden String.|
 ^stdWrap|stdWrap|Ermöglicht stdWrap-Funktionen für jedes Objekt, egal wie der key-Wert lautet.| ^stdWrap|stdWrap|Ermöglicht stdWrap-Funktionen für jedes Objekt, egal wie der key-Wert lautet.|
 +
 +Im folgenden Beispiel wird unter ''key'' der Benutzername abgefragt. Stimmt er mit //johndoe// überein, wird ein personalisierter Gruß ausgegeben, sonst mit ''default'' ein allgemeiner. Mit der ''if''-Abfrage wird geprüft, ob überhaupt ein Frontend-Benutzer eingeloggt ist. Ist das nicht der Fall, erfolgt auch keine Ausgabe (eine persönliche Ansprache ließe sich natürlich sinnvoller anlegen).
  
 <code typoscript> <code typoscript>
-####### Beispiel mit Integerwert und if ###############+10 = CASE 
 +10 { 
 +  key.data = TSFE:fe_user|user|username 
 +  if.isTrue.data = TSFE:fe_user|user|username 
 +  johndoe = TEXT 
 +  johndoe.value = Willkommen, John Doe! 
 +  default = TEXT 
 +  default.value = Willkommen! 
 +
 </code> </code>
  
Zeile 42: Zeile 53:
 ===== COA, COA_INT, COBJ_ARRAY ===== ===== COA, COA_INT, COBJ_ARRAY =====
  
-Steht für //Content Object Array//. Ermöglicht das Zusammenfassen mehrerer Inhaltselemente, um sie anschließend als eines zu behandeln. ''COA'' und ''COBJ_ARRAY'' sind einander identisch. Bei ''COA_INT'' wird der Inhalt nicht im Cache gespeichert.+Steht für //Content Object Array//. Ermöglicht das Zusammenfassen mehrerer Inhaltselemente, um sie anschließend als eines zu behandeln. ''COA'' und ''COBJ_ARRAY'' sind einander identisch (''COBJ_ARRAY'' wurde in TYPO3 7.4 entfernt). Bei ''COA_INT'' wird der Inhalt nicht im Cache gespeichert.
  
 ^Eigenschaft^Datentyp^Beschreibung^ ^Eigenschaft^Datentyp^Beschreibung^
Zeile 49: Zeile 60:
 ^wrap|wrap / stdWrap|Umschließt das gesamte COA.| ^wrap|wrap / stdWrap|Umschließt das gesamte COA.|
 ^stdWrap|stdWrap|Ermöglicht stdWrap-Funktionen für das COA.| ^stdWrap|stdWrap|Ermöglicht stdWrap-Funktionen für das COA.|
 +
 +Im ersten Beispiel würde der Seiteninhalt der Spalte ''0'' durch die ''if''-Abfrage nur eingeloggten Frontend-Benutzern zur Verfügung stehen (andere Vorgehensweisen sind sinnvoller!).
  
 <code typoscript> <code typoscript>
-############ Beispiel mit COA und if ###############+10 = COA 
 +10 { 
 +  if.isTrue.data = TSFE:fe_user|user|username 
 +  10 = TEXT 
 +  10.value = Willkommen! 
 +  10.wrap = <h1>|</h1> 
 +  20 < styles.content.get 
 +
 +</code> 
 + 
 +Das zweite Beispiel mit ''COA_INT'' ermöglicht die Ausgabe der aktuellen Uhrzeit zum Zeitpunkt des Seitenaufbaus. 
 + 
 +<code typoscript> 
 +10 = COA_INT 
 +10 { 
 +  10 = TEXT 
 +  10.data = date:H:i:
 +}
 </code> </code>
  
Zeile 61: Zeile 91:
  
 ^Eigenschaft^Datentyp^Beschreibung^ ^Eigenschaft^Datentyp^Beschreibung^
-^select|select|Steuert die [[basics:sql|SQL]]-Abfrage auf die Datenbank.|+^select|[[typo3:about:functions:select|select]]|Steuert die [[basics:sql|SQL]]-Abfrage auf die Datenbank.|
 ^table|//Tabellenname//|Die Tabelle, aus der Inhalt ausgelesen werden soll. Üblicherweise ist das tt_content. Erlaubt sind nur Tabellen mit den Präfixen ''tt_'', ''tx_'', ''ttx_'', ''fe_'', ''user_'' sowie die Tabelle ''pages''.| ^table|//Tabellenname//|Die Tabelle, aus der Inhalt ausgelesen werden soll. Üblicherweise ist das tt_content. Erlaubt sind nur Tabellen mit den Präfixen ''tt_'', ''tx_'', ''ttx_'', ''fe_'', ''user_'' sowie die Tabelle ''pages''.|
 ^renderObj|cObject|Definiert die Ausgabe der Datensätze. Einzelne Felder können ausgelesen und die Ergebnisse mit stdWrap bearbeitet werden.\\ Wenn kein renderObj festgelegt wurde, setzt TYPO3 automatisch ''renderObj < [Tabellenname aus select]''. Damit werden die entsprechenden Angaben z.B. für //tt_content// aus ''css_styled_content'' ausgelesen. Wurde ''css_styled_content'' nicht inkludiert, erfolgt keine Datenausgabe im Frontend!| ^renderObj|cObject|Definiert die Ausgabe der Datensätze. Einzelne Felder können ausgelesen und die Ergebnisse mit stdWrap bearbeitet werden.\\ Wenn kein renderObj festgelegt wurde, setzt TYPO3 automatisch ''renderObj < [Tabellenname aus select]''. Damit werden die entsprechenden Angaben z.B. für //tt_content// aus ''css_styled_content'' ausgelesen. Wurde ''css_styled_content'' nicht inkludiert, erfolgt keine Datenausgabe im Frontend!|
 ^wrap|wrap|Umschließt die gesamte Ausgabe.| ^wrap|wrap|Umschließt die gesamte Ausgabe.|
-^stdWrap|stdWrap|Wird nach stdWrap ausgeführt.| +^stdWrap|stdWrap|Wird nach wrap ausgeführt.| 
-^slide|integer / stdWrap|Vererbung von Inhalt: Wenn durch ''select'' kein Inhaltselement gefunden wurde, kann hiermit entlang der rootline nach Inhalt auf anderen Seiten gesucht werden. Stoppt bei der ersten Seite mit Inhalt.\\ Mögliche Werte sind ''-1'' (bis zur root-Seite), ''1'' (nur die aktuelle Ebene) und ''2'' (eine Ebene höher). Nutze ''-1'' bei Kombination mit ''slide.collect''.| +^slide|[[typo3:about:datentypen#integer|integer]] / stdWrap|Vererbung von Inhalt: Wenn durch ''select'' kein Inhaltselement gefunden wurde, kann hiermit entlang der rootline nach Inhalt auf anderen Seiten gesucht werden. Stoppt bei der ersten Seite mit Inhalt.\\ Mögliche Werte sind ''-1'' (bis zur root-Seite), ''1'' (nur die aktuelle Ebene) und ''2'' (eine Ebene höher). Nutze ''-1'' bei Kombination mit ''slide.collect''.| 
-^slide.collect|integer / stdWrap|Kann zusätzlich zu ''.slide'' verwendet werden, um alle gefundenen Inhaltselemente auf der aktuellen Seite sowie der übergeordneten Seiten auszugeben.\\ Mögliche Werte sind ''-1'' (bis zur root-Seite) und ein positiver Wert, der die Anzahl der zu durchsuchenden Ebenen angibt.| +^slide.collect|[[typo3:about:datentypen#integer|integer]] / stdWrap|Kann zusätzlich zu ''.slide'' verwendet werden, um alle gefundenen Inhaltselemente auf der aktuellen Seite sowie der übergeordneten Seiten auszugeben.\\ Mögliche Werte sind ''-1'' (bis zur root-Seite) und ein positiver Wert, der die Anzahl der zu durchsuchenden Ebenen angibt.| 
-^slide.collectFuzzy|boolean / stdWrap|Falls bis zur festgelegten Ebene keine Inhalte gefunden wurde, sucht TYPO3 weiter entlang der rootline bis zum ersten Treffer.| +^slide.collectFuzzy|[[typo3:about:datentypen#boolean|boolean]] / stdWrap|Falls bis zur festgelegten Ebene keine Inhalte gefunden wurde, sucht TYPO3 weiter entlang der rootline bis zum ersten Treffer.| 
-^slide.collectReverse|boolean / stdWrap|Angabe nur sinnvoll zusammen mit ''.slide.collect''. Ordnet die Inhaltselemente anders an: Die Inhalte der aktuellen Seite werden zuletzt ausgegeben.|+^slide.collectReverse|[[typo3:about:datentypen#boolean|boolean]] / stdWrap|Angabe nur sinnvoll zusammen mit ''.slide.collect''. Ordnet die Inhaltselemente anders an: Die Inhalte der aktuellen Seite werden zuletzt ausgegeben.|
  
 <code typoscript> <code typoscript>
Zeile 79: Zeile 109:
     orderBy = sorting     orderBy = sorting
     where = colPos=0     where = colPos=0
 +    select.languageField = sys_language_uid
   }   }
   renderObj = COA   renderObj = COA
Zeile 96: Zeile 127:
 styles.content.getRight.slide = -1 styles.content.getRight.slide = -1
 </code> </code>
 +
 +----
 +
 +===== FILE =====
 +
 +Mit ''FILE'' wird der __Inhalt__ von Dateien eingebunden, es ist daher nicht zu verwechseln mit ''filelink''. Ein Bild würde ein //img//-Element als Wrap erhalten, die Ausgabe wäre dann identisch mit dem cObject ''IMAGE''. Sinnvoll ist eine Verwendung z.B. von HTML-Dokumenten.
 +
 +<WRAP center round important>
 +''FILE'' wurde in TYPO3 v9 [[https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.5/Deprecation-85970-FileContentObject.html|als deprecated erklärt]] und mit TYPO3 v10 entfernt! Für Bilder kann weiter das cObject ''IMAGE'' (oder ein Fluid-Viewhelper) verwendet werden. Als Alternative zu Textdokumenten kann ggf. FLUIDTEMPLATE verwendet werden.
 +</WRAP>
 +
 +
 +^Eigenschaft^Datentyp^Beschreibung^
 +^file|[[typo3:about:datentypen#resource|resource]] / stdWrap|Pfad und Name der gewünschten Datei.|
 +^linkWrap|[[typo3:about:datentypen#linkwrap|linkWrap]] / stdWrap|Ermöglicht den linkWrap-Datentyp.|
 +^wrap|[[typo3:about:datentypen#wrap|wrap]] / stdWrap|Wird nach ''linkWrap'' ausgeführt.|
 +^stdwrap|stdWrap|Ermöglicht stdWrap-Funktionen. Wird nach ''linkWrap'' und ''wrap'' ausgeführt.|
 +^altText\\ titleText|[[typo3:about:datentypen#string|string]] / stdWrap|**Nur für Bilddateien**: Fügt das //alt// bzw. //title//-Attribut hinzu.|
 +^emptyTitleHandling|[[typo3:about:datentypen#string|string]] / stdWrap|Statt ''titleText''. Mögliche Werte:\\ ''useAlt'' -> Verwendet den Inhalt des //alt//-Attributs als title.\\ ''keepEmpty'' -> Ein leeres //title//-Attribut wird verwendet.|
 +^longdescURL|[[typo3:about:datentypen#string|string]] / stdWrap|**Nur für Bilddateien**: Fügt das //longdesc//-Attribut hinzu.|
  
 ---- ----
Zeile 289: Zeile 340:
  
 ---- ----
 +===== RECORDS =====
 +
 +Ermöglicht die Ausgabe von einzelnen Datensätzen aus beliebigen Tabellen. Die Ausgabe ist abhängig von der Erreichbarkeit der Seite, auf der die Inhalte liegen. Einträge auf versteckten, zeitgesteuerten oder zugriffsgeschützten Seiten werden nicht ausgegeben (diese Prüfung kann mit ''dontCheckPid'' deaktiviert werden). Unabhängig davon werden ausgeblendete, zugriffsgeschützte oder als gelöscht markierte Datensätze ebenfalls nicht ausgegeben.
 +
 +^Eigenschaft^Datentyp^Beschreibung^
 +^tables|//Liste von Tabellen//|Liste der durchsuchten Tabellen. <code typoscript>
 +10.tables = tt_content,pages_language_overlay
 +</code>|
 +^source|//Liste von UIDs// / stdWrap|Liste der auszugebenden Datensätze. Wenn Inhalte aus mehr als einer Tabelle ausgegeben werden sollen, empfiehlt sich die Nutzung von vorangestellten Tabellennamen (z.B. //tt_content_5//). Fehlt das Tabellen-Präfix, wird von der ersten Tabelle unter ''tables'' ausgegangen. <code typoscript>
 +10.source = tt_content_5,22,pages_language_overlay_10
 +</code>|
 +^categories|//Liste von Kategorien//|Seit TYPO3 CMS 6.0|
 +^dontCheckPid|boolean|Wenn aktiviert, werden auch Einträge auf nicht erreichbaren Seiten angezeigt. Eine Verlinkung mit ''typolink'' schlägt aber weiterhin fehl.|
 +^conf.[Tabelle]|cObject|Hiermit wird das Rendering für die Ausgabe im Frontend gesteuert. Fehlt diese Angabe, wird das Top Level Object mit diesem Tabellennamen verwendet. Bei //css_styled_content// wird //tt_content// als CASE-Objekt angelegt, die Ausgabe erfolgt dann je nach CType.\\ Fehlt auch ein TLO, erfolgt keine Ausgabe! <code typoscript>
 +10.conf.tt_content = TEXT
 +10.conf.tt_content {
 +  field = header
 +}
 +10.conf.pages_language_overlay = TEXT
 +10.conf.pages_language_overlay {
 +  field = title
 +}
 +</code>|
 +^wrap|wrap / stdWrap|Ermöglicht einen Wrap für die einzelnen Datensätze.|
 +^stdWrap|stdWrap|Wird nach ''wrap'' ausgeführt.| 
 +
 +Mit dem folgenden Beispiel wird ein einzelnes Inhaltselement geladen, mit dem Standard-Rendering der angegebenen Tabelle.
 +<code typoscript>
 +10 = RECORDS
 +10 {
 +  tables = tt_content
 +  source = 28
 +}
 +</code>
 +
 +Das folgende Beispiel liest die Datensätze **5** und **22** aus //tt_content// sowie den Datensatz **10** aus //pages_language_overlay// aus und gibt deren Header bzw. Title in einer Liste aus. Die Header aus //tt_content// werden zudem verlinkt mit deren PID und einer Sprungmarke zum jeweiligen Inhaltselement.
 +
 +<code typoscript>
 +20 = RECORDS
 +20 {
 +  source = ,tt_content_5, 22, pages_language_overlay_10
 +  tables = ,tt_content, pages_language_overlay
 +  dontCheckPid = 1
 +  wrap = <ul>|</ul>
 +
 +  conf.tt_content = TEXT
 +  conf.tt_content {
 +    field = header
 +
 +    typolink.parameter = {field:pid}
 +    typolink.parameter.insertData = 1
 +    typolink.section = {field:uid}
 +    typolink.section.insertData = 1
 +    wrap = <li>|</li>
 +  }
 +
 +  conf.pages_language_overlay = TEXT
 +  conf.pages_language_overlay {
 +    field = title
 +    wrap = <li>|</li>
 +  }
 +}
 +</code>
 +
 +----
 +
 ===== RESTORE_REGISTER ===== ===== RESTORE_REGISTER =====
  
typo3/about/cobject.1395771792.txt.gz · Zuletzt geändert: 2015/12/03 19:29 (Externe Bearbeitung)