Typo3 - Das Media Feld

Aus Wikizone
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Eine Praktische Sache um z.B. Bilder für das Bildermenü einer Seite einzustellen, oder ein Bild für den Seitenheader etc.


Wenn es weg ist[Bearbeiten]

Das Media-Feld ist nur sichtbar, wenn der Seitentyp auf erweitert steht. Das heißt aber nicht daß es für andere Seiten nicht nutzbar ist. Möchte man zB eine Seite vom Typ Shortcut kann man das Feld trotzdem nutzen, wenn man den Typ kurz umstellt, das Feld befüllt und dann wiede auf Shortcut stellt.

Bestimmte Dateitypen im Media Feld zulassen oder verbieten[Bearbeiten]

In der localconf.php folgendes ergänzen:

Beispiel[Bearbeiten]

Erweiterung für xml Dateien:

PHP-Code:

$typo_db_extTableDef_script = 'extTables.php';

und in der extTables.php im Verzeichnis typo3conf/:

PHP-Code:

$GLOBALS['TCA']['pages']['columns']['media']['config']['allowed'] = 'xml';


und nun funktioniert es ...

Media Feld auswerten[Bearbeiten]

Beispiel 1[Bearbeiten]

Dateien die im Media Feld (Seiteneigenschaften erweitert > Dateien) angegeben werden, kann man beliebig verwenden. Zum Beispiel als Header Bild das mittels Marker oder Subpart angezeigt wird.

Constants

headerImageFolder = uploads/media

Setup

temp.headerImage = IMAGE
temp.headerImage {
   file.import.data = levelmedia: 9,slide
   file.import = {$headerImageFolder}
   file.import.listNum = 0
}

2. Beispiel[Bearbeiten]

page.10.subparts.TEASER
page.10.subparts.TEASER.10 = IMAGE
page.10.subparts.TEASER.10{
  
   alttext.cObject = TEXT
   alttext.cObject.value =
   titletext >
   #file.maxH = 217
   #file.maxW = 124
   file.import{
       cObject = TEXT
       // Standardbild wenn nichts eingegeben
       cObject.value = fileadmin/user_upload/teaser/header1.jpg
       cObject.override {
           required = 1
           data = levelmedia: -1, "slide"
           wrap = uploads/media/ |
           listNum = 0
      }
  }
  stdWrap.required = 1
  stdWrap.wrap = |
}

3. Beispiel Dynamisch CSS Datei erzeugen:[Bearbeiten]

css = PAGE
css {
  typeNum = 22
  config {
    additionalHeaders = Content-type: text/css
    disableAllHeaderCode = 1
  }
  stdWrap.required = 1
  stdWrap.wrap = |
  10 = TEXT
  10.value (
    .content_header_pic {
  )
  20 = TEXT
  20.data = levelmedia: -1
  20.listNum = 0
  20.wrap = background: url('uploads/media/|');
  30 = TEXT
  30.value (
    border-top: 8px solid #0D337A;
    height: 105px;
    width: 100%;
    }
  )
  30.if {
    isTrue.data = levelmedia: -1
  }
}
 
 
 
 
[...]
 
 
 
page = PAGE
 
page {
  headerData {
    16 = TEXT
    16.dataWrap = <link rel="stylesheet" type="text/css" href="index.php?id={field:uid}&type=22" />|
  }
}

4. Beispiel CSS Background Bild im Header[Bearbeiten]

Mitt page.cssInline seit Typo3 4.5

# Definition soll Inline erfolgen sonst generiert TYPO3 eine separate Datei.

config.inlineStyle2TempFile = 0

page.cssInline {
  10 = TEXT
  10 {
    wrap (
      body {
        background-image: url('uploads/media/|');  
      }
    )
    data = field:media //   levelfield: -1, media, slide   
  }
}