[TYPO3-german] DIV nicht erstellen, wenn kein Menu erstellt werden kann

Hauke Haller post at haukehaller.de
Fri Mar 16 11:11:34 CET 2012


Moin Heike,

Am 16.03.2012 10:21, schrieb Michael Kasten:
> das wrap und required am ende von deinem Block:
>
>  > 3.NO.wrapItemAndSub = <li>|</li>
>  > }
>  > }
>  > page.20.marks.MENU_LINKS.wrap = <div class = "vlist">|</div>
>  > page.20.marks.MENU_LINKS.required = 1
>

Das ändert natürlich nix. Die Reihenfolge im TypoScript ist egal.

Das ist das Gleiche:

10 = TEXT
10.value = als-erstes
20 = TEXT
20.value = als
20.wrap = | -zweites

oder

20.wrap = | -zweites
20 = TEXT
10.value = als-erstes
20.value = als
10 = TEXT

gibt beides mal
„als-erstesals-zweites“
aus.

Der erste Code ist aber übersichtlicher.

Hauke



Das macht, was Du willst:
>
> oder auch mal so probieren:
>
> page.20.marks.MENU_LINKS.stdWrap {
> wrap = <div class = "vlist">|</div>
> required = 1
> }
>

Und wieso?
Wenn Du in die TSRef (TypoScript Dokumentation) guckst

http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.6.0/view/

siehst du unter COA
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.6.0/view/1/7/#id2634523

das das COA in dieser Reihenfolge diese Eigenschaften (Properties) hat:
- if
- wrap
- stdWrap
- includeLibs

in dieser Reihenfolge werden sie auch ausgeführt.

Es ist also egal ob man schreibt
COA.wrap = ...
COA.irgendeine_stdWrap_Geschichte (also z.B. required)

oder
COA.irgendeine_stdWrap_Geschichte
COA.wrap = ...

das wrap wird als erstes ausgeführt.

In Deinem Fall wird also das COA erst eingepackt und dann die stdWrap-Funkltion required geprüft.

Wenn da steht:
COA.stdWrap {
   wrap =..
   required = 1
}

dann musst du in der TSRef unter „stdWrap“ gucken, in welcher Reihenfolge da was gemacht wird.
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.6.0/view/1/5/#id2618446
Du siehst das „required“ vor„wrap“ kommt.
Also würde auch das machen, was Du willst:

COA.stdWrap {
   required = 1
   wrap =..
}


Etwas abschweifend:
Mit der 5. Version von TYPO3 wurde vieles an der TS-Sytax verbessert: Besonders ist, dass die stdWrap Eigenschaften nun fast immer anwendbar ist.
In der aktuellen Version TYPO3 6 wurde auf anderen Baustellen gearbeitet. (Die Versionen beziehen sich nun auf TYPO3 v.4, also TYPO3 4.5 und TYPO3 4.6.12(aktuell))

(Noch mehr Klammern :)

Das ist etwas, was mir, als nicht Programmierer sondern HTML-Schreiber, den Einstieg zunächst sehr schwer gemacht hat: Der Aufbau von TS. Es wird immer wieder betont, dass das TS keine Programmiersprache sei, sondern eine Konfigurations›sprache‹, dennoch lässt sich mittels TS allerhand Logik abbilden. Natürlich hat TS es keine Fähigkeiten, wie objektorientierte Sprachen und erfüllt keine anderen Paradigmen aktueller Programmiertechniken, die mit extBase und FLOW3 Einzug halten werden. (Hoffentlich wird TS dennoch so mächtig und eigen bleiben). Ich glaube, dass überlegt wurde, das die Position im TS doch Auswirkungen auf die Reihenfolge haben sollte. Vielleicht kommt das ja in TYPO3 8 (?)


Dann

Hauke










More information about the TYPO3-german mailing list