Typo3 - Das Media Feld: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:
 
In der localconf.php folgendes ergänzen:
 
In der localconf.php folgendes ergänzen:
  
===Beispiel===
+
=== Beispiel ===
 
Erweiterung für xml Dateien:
 
Erweiterung für xml Dateien:
  
Zeile 23: Zeile 23:
  
 
=== Media Feld auswerten ===
 
=== Media Feld auswerten ===
 +
==== Beispiel 1 ====
 
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.
 
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.
  
Zeile 39: Zeile 40:
 
}
 
}
  
 +
</pre>
 +
 +
==== 2. Beispiel ====
 +
 +
<pre>
 +
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 = |
 +
}
 +
</pre>
 +
 +
==== 3. Beispiel Dynamisch CSS Datei erzeugen: ====
 +
 +
<pre>
 +
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" />|
 +
  }
 +
}
 +
</pre>
 +
 +
==== 4. Beispiel CSS Background Bild im Header ====
 +
Mitt page.cssInline seit Typo3 4.5
 +
<pre>
 +
# 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 
 +
  }
 +
}
 
</pre>
 
</pre>

Aktuelle Version vom 23. Januar 2014, 18:09 Uhr

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   
  }
}