Typo3 - Das Media Feld
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
}
}