[TYPO3-german] ifEmpty und warp: required defekt?

Gero - WebGears.de support at webgears.de
Fri Mar 20 11:59:20 CET 2009


Daniela Waranie schrieb:
> Hallo newsgroup,
> 
> leider habe ich heute ein Brett vor dem Kopf.
> Ich möchte via TypoScript eine Ausgabe für ein TemplaVoila Page Template
> erzeugen.
> 
> Das gemappte (TypoScript Object Path) heißt lib.header_logo.
> Ich habe ein weiteres Feld (field_header_logo), welches nicht gemappt
> ist als Editing Type "Image field" angelegt.
> 
> Der Output in lib.header_logo soll abhängig davon sein, ob in
> field_header_logo ein Bild ausgewählt wurde. Wenn kein Bild im BE
> ausgewählt wurde, dann soll das Default-Bild "header_logo.gif" genommen
> werden.
> 
> Also mache ich das so:
> switchdefault_header_logo = TEXT
> switchdefault_header_logo.field = field_header_logo
> switchdefault_header_logo.ifEmpty =
> fileadmin/templates/images/header_logo.gif
> 
> Das funktioniert bzgl. Default Bild auch soweit.
> Wenn jedoch ein Bild im BE ausgewählt wird wird der Dateiname auch in
> den Output geschrieben, es fehlt jedoch der path dahin
> (uploads/tx_templavoila/), der jedoch nur notwendig ist wenn ein Bild im
> BE ausgewählt wird.
> 
> Also habe ich es mit diesem probiert:
> switchdefault_header_logo = TEXT
> switchdefault_header_logo.wrap = uploads/tx_templavoila/|
> switchdefault_header_logo.required = 1
> switchdefault_header_logo.field = field_header_logo
> switchdefault_header_logo.ifEmpty =
> fileadmin/templates/images/header_logo.gif
> Leider wird jetzt der wrap immer ausgeführt, also auch wenn kein Wert in
> field_header_logo angegeben ist. Ist required defekt, oder wie mache ich
> das richtig?
> 
> Lieben Gruß
> Daniela Waranie

Hallo Daniela,

versuch´s mal damit:


----- TS Constants -----

topLogoPath = /uploads/media

--


----- TS Setup -----

# CSS Dynamic
css = PAGE
css {
   typeNum = 100
   config {
     disableAllHeaderCode = 1
     additionalHeaders = Content-type: text/css
   }
   10 = TEMPLATE
   10.template = FILE
   10.template.file = fileadmin/css/mod/dynamic.css

   # topLogo
   10.marks.TOPLOGO = TEXT
   10.marks.TOPLOGO.data = levelmedia: -1, slide
   10.marks.TOPLOGO.if.isTrue.data = levelmedia: -1, slide
   10.marks.TOPLOGO.if.value = {page:media}
   10.marks.TOPLOGO.if.insertData = 1
   10.marks.TOPLOGO.wrap = background-image: url({$topLogoPath}/|);
}

--


----- dynamic.css -----

#header {
   ###TOPLOGO###
}

--

eingebunden wird das ganze dann mit:

page.headerData.20 = TEXT
page.headerData.20.dataWrap = <link rel="stylesheet" type="text/css" 
href="index.php?id={field:uid}&type=100" />|

levelmedia: -1, slide    vererbt das header pic

ich Parse damit eine CSS datei die mit Markern versehen ist.
somit kann ich per css ein header pic per default setzen, welches
dann vom TS überschrieben wird, falls ein bild vorhanden.

vor allem kann man damit nicht nur Bilder austauschen...
man kann sozusagen per Constants css dateien beeinflussen.

LG Gero

























More information about the TYPO3-german mailing list