[TYPO3-german] [TYPO3-4.5] DIV verbergen

Hauke Haller post at haukehaller.de
Thu Feb 24 18:53:00 CET 2011


Moin,

Am 24.02.2011 16:23, schrieb Kevin Gut:
> Das subparts.content_left im codeabschnitt unten besitzt das Attribut
> required nicht, auch habe ich keine Ahnung
> auch habe ich keine Ahnung, wie ich ein IF realisieren kann, oder ein
> stdWrap erstelle

Gut, Kevin, Du bist jetzt da, wo viele sagen, dass TYPO3 doch sehr komplex sei. Ist es wohl auch - bis man verstanden hat, wies funktioniert. Dann aber geht ALLES mit TYPO3 :)
  
> ich habe irgendwo eines im Format:
> ===========
> [Bedingung]
> #dann
> [else]
> #sonst
> [end]
> ===========
> gesehen, allerdings steht da auch, dass man das innerhalb von
> geschweiften klammern nicht einsetzen kann, allersings habe ich solche
> wie man unterhalb erkennen kann.

Das sind tatsächlich Conditions. Kay meint aber was anderes, das kannst Du aber nicht wissen.

>> guck dir mal in der Doku die TSConditions an.
>> Da gibts dass Attribut required. Mit stdWrap sollte das dann relativ
>> einfach gehen ;)
>>

Du findest alles in der TSref:
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/current/

Dafür musst Du aber wissen, was Du suchst und was wo steht.

>>> Bin neu bei Typo3 und ..

>>> Ich möchte, dass das DIV (content_left)
>>> nur sichtbar ist, wenn auch ein Inhalt vorhanden ist.
>>> Die Tabelle bleibt gleich, nur das DIV soll nicht
>>> sichtbar sein
>>>
>>> Mein bisheriges Typo Script ist das folgende:
>>>    ...
>>> temp.mainTemplate = TEMPLATE

Da arbeitest Du mit einem cObject vom Typ TEMPLATE

Die verschiedenen cObjecte sind in der TSref aufgelistet:
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.2/view/1/7/

TEMPLATE steht hier:
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.2/view/1/7/#id2526887

Da steht subparts enthält ein Array von markern, denen wiederum cObjete zugewiesen werden

>>> temp.mainTemplate {
>>>...
>>>    subparts.content_left<  styles.content.getLeft
>>> }

Du weist dem Marker  styles.content.getLeft zu. Das findest Du nicht in der TSref, weil damit schon vorhandenes TypoScript wiederverwendet wird. Das vorhandene TS kannst Du Dir ansehen, wenn Du die Funktion Web>Template und Deine Rootseite wählst. Dann wählst Du im dropdownMenü die "Template Analyse" und Dir werden in einer Baumstruktur alle Templates , die Du eingebunden hast angezeigt. Du wirst auch das statische Template css_styled_content, das Du irgendwann eingebunden hast, finden. Da klickst Du drauf und kannst Dir angucken, was da so drinsteht. Und findest:

styles.content.get = CONTENT
styles.content.get {
	table = tt_content
	select.orderBy = sorting
	select.where = colPos=0
	select.languageField = sys_language_uid
}

# get content, left
styles.content.getLeft < styles.content.get
styles.content.getLeft.select.where = colPos=1

styles.content.getLeft ist also eine Kopie von styles.content.get und für styles.content.get ist als cObject CONTENT definiert.

CONTENT findest Du in der TSref hier:
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.2/view/1/7/#id2519413

Da siehst Du, dass CONTENT als Property stdWrap besitzt. Mit dem Verweis auf ->stdWrap. Also guckst Du in der TSref unter der Funktion stdWrap:
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.2/view/1/5/

Und da ist eine ewig lange Liste. stdWrap wird als das Schweizer Taschenmesser von TYPO3 bezeichnet: Damit kann man sich sogar Fußnägel schneiden.

Erstmal findest Du "wrap"
Damit packst Du Deinen Inhalt in DIVs ein:

temp.mainTemplate {
   subparts.content_left<  styles.content.getLeft
   subparts.content_left.stdWrap {
     wrap = <div class=bunt"> | </div>
   }
}

Jetzt willst Du, dass das nur passiert, wenn da auch wirklich Inhalt da ist. und guckst weiter in stdWrap..
Und findest "required" (Naja, das hast Du vor "wrap" gefunden)
required ist vom Datentyp "boolean" also 1 oder 0, soll also gelten oder nicht:
Darum:


temp.mainTemplate {
   subparts.content_left<  styles.content.getLeft
   subparts.content_left.stdWrap {
     wrap = <div class=bunt"> | </div>
     required = 1
   }
}

Viel Erfolg!

Hauke


More information about the TYPO3-german mailing list