Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung |
typo3:about:cobject [2014/03/25 19:25] – [CARRAY] admin | typo3:about:cobject [2020/04/29 20:20] (aktuell) – [FILE] admin |
---|
| |
^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> |
| |
===== 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^ |
^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:s |
| } |
</code> | </code> |
| |
| |
^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> |
orderBy = sorting | orderBy = sorting |
where = colPos=0 | where = colPos=0 |
| select.languageField = sys_language_uid |
} | } |
renderObj = COA | renderObj = COA |
| |
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. | 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^ | ^Eigenschaft^Datentyp^Beschreibung^ |
^file|resource / stdWrap| | | ^file|[[typo3:about:datentypen#resource|resource]] / stdWrap|Pfad und Name der gewünschten Datei.| |
^linkWrap|linkWrap / stdWrap| | | ^linkWrap|[[typo3:about:datentypen#linkwrap|linkWrap]] / stdWrap|Ermöglicht den linkWrap-Datentyp.| |
^wrap|wrap / stdWrap| | | ^wrap|[[typo3:about:datentypen#wrap|wrap]] / stdWrap|Wird nach ''linkWrap'' ausgeführt.| |
^stdwrap|stdWrap| | | ^stdwrap|stdWrap|Ermöglicht stdWrap-Funktionen. Wird nach ''linkWrap'' und ''wrap'' ausgeführt.| |
^altText titleText|string / stdWrap|**Nur für Bilddateien**: | | ^altText\\ titleText|[[typo3:about:datentypen#string|string]] / stdWrap|**Nur für Bilddateien**: Fügt das //alt// bzw. //title//-Attribut hinzu.| |
^emptyTitleHandling|string / stdWrap| | | ^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|string / stdWrap|**Nur für Bilddateien**: | | ^longdescURL|[[typo3:about:datentypen#string|string]] / stdWrap|**Nur für Bilddateien**: Fügt das //longdesc//-Attribut hinzu.| |
| |
---- | ---- |
10.source = tt_content_5,22,pages_language_overlay_10 | 10.source = tt_content_5,22,pages_language_overlay_10 |
</code>| | </code>| |
^categories|//Liste von Kategorien//|Seit TYPO3 CMS 6.0###############################| | ^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.| | ^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> | ^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> |
^stdWrap|stdWrap|Wird nach ''wrap'' ausgeführt.| | ^stdWrap|stdWrap|Wird nach ''wrap'' ausgeführt.| |
| |
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. | Mit dem folgenden Beispiel wird ein einzelnes Inhaltselement geladen, mit dem Standard-Rendering der angegebenen Tabelle. |
<code typoscript> | <code typoscript> |
10 = RECORDS | 10 = RECORDS |
10 { | 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 | source = ,tt_content_5, 22, pages_language_overlay_10 |
tables = ,tt_content, pages_language_overlay | tables = ,tt_content, pages_language_overlay |