Aktuelle Informationen rund um TYPO3

Flexible runde Ecken mit TYPO3

Bilder mit runden Ecken lassen sich in TYPO3 recht einfach mit einer Bildmaske realisieren. Sollen aber Bilder mit unterschiedlichen Abmessungen ersetzt werden, ist es von Vorteil, die Bildmaske dynamisch generieren zu lassen. Benötigt werden dann nur die vier Eckmasken:

Für ein einfaches An- bzw. Abschalten der runden Ecken bedienen wir uns des kaum genutzen (und in TYPO3 4.2 standardmässig deaktivierten) Rahmen-Feldes des ‘Text mit Bild’-Inhaltselements. Hierfür überschreiben wir nicht das tt_content.image Objekt direkt, sondern die Objekte tt_content.image.20.image_frames und tt_content.textpic.20.image_frames. Mit wenigen Zeilen TSConfig aktivieren wir schließlich das Feld und fügen einen neuen Eintrag hinzu.

TypoScript Setup:

  1. styles.content.imgFrames.10 {
  2.   import.current = 1
  3.   width.field = imagewidth
  4.   mask.import.cObject = IMG_RESOURCE
  5.   mask.import.cObject.file = GIFBUILDER
  6.   mask.import.cObject.file {
  7.  
  8.     XY = [10.w],[10.h]
  9.     format = gif
  10.  
  11.     10 = IMAGE
  12.     10.file {
  13.       import.current = 1
  14.       width.field = imagewidth
  15.       maxW = {$styles.content.imgtext.maxW}
  16.       maxW.override.data = register:maxImageWidth
  17.       maxWInText = {$styles.content.imgtext.maxWInText}
  18.       maxWInText.override.data = register:maxImageWidthInText
  19.     }
  20.  
  21.     20 = BOX
  22.     20.dimensions = 0,0,[10.w],[10.h]
  23.     20.color = #FFFFFF
  24.  
  25.     30 = IMAGE
  26.     30.file = {$imagePath}cornermask_tl.gif
  27.     30.align = l,t
  28.  
  29.     40 = IMAGE
  30.     40.file = {$imagePath}cornermask_tr.gif
  31.     40.align = r,t
  32.  
  33.     50 = IMAGE
  34.     50.file = {$imagePath}cornermask_bl.gif
  35.     50.align = l,b
  36.  
  37.     60 = IMAGE
  38.     60.file = {$imagePath}cornermask_br.gif
  39.     60.align = r,b
  40.   }
  41.  
  42.   bgImg.import.cObject = IMG_RESOURCE
  43.   bgImg.import.cObject.file = GIFBUILDER
  44.   bgImg.import.cObject.file {
  45.  
  46.     XY = [10.w],[10.h]
  47.     format = gif
  48.     10 = BOX
  49.     10.dimensions = 0,0,10,10
  50.     10.color = {$bgColor}
  51.   }
  52.  
  53. }
  54.  
  55. tt_content.image.20 {
  56.  image_frames.key.field = image_frames
  57.         image_frames.10 < styles.content.imgFrames.10
  58. }
  59. tt_content.textpic.20 {
  60.   image_frames.key.field = image_frames
  61.         image_frames.10 < styles.content.imgFrames.10
  62. }

TypoScript Constants:

  1. # Pfad zu den Bildmasken
  2. imagePath = fileadmin/templates/img/
  3.  
  4. # Hintergrundfarbe der Seite
  5. bgColor = #FFFFFF

TSConfig:

  1. TCEFORM.tt_content.image_frames.disabled=0
  2. TCEFORM.tt_content.image_frames.removeItems = 1,2,3,4,5,6,7,8
  3. TCEFORM.tt_content.image_frames.addItems.10 = runde Ecken
Sozial Bookmarks: Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • MisterWong.DE
  • Technorati
  • TwitThis
  • YahooMyWeb
  • Yigg

Bisher 9 Kommentare » « Zurück zur Übersicht

  1. hype.yeebase.com 28. Juli 2008

    Flexible runde Ecken mit TYPO3…

    Bilder mit runden Ecken lassen sich in TYPO3 recht einfach mit einer Bildmaske realisieren. Sollen aber Bilder mit unterschiedlichen Abmessungen ersetzt werden, ist es von Vorteil, die Bildmaske dynamisch generieren zu lassen….

  2. Bernd Sonnensegel 28. Juli 2008

    Naja, solche runden Ecken macht man doch normalöerweise immer mit Bildern, nicht nur bei Typo3. Wüsste jetzt nicht, was daran so neu ist…

  3. andreasb 28. Juli 2008

    @Bernd:

    Sinn und Zweck dieses Scripts ist es, solche Bilder von TYPO3 dynamisch erzeugen zu lassen. Klar kannst du bei allen deinen Bildern mit Photoshop runde Ecken einfügen, wenn’s dir Spaß macht. Aber sowas kann man auch von TYPO3 erledigen lassen, wenn man sich Arbeit ersparen will.

    PS Eigentlich sollte man deinen Kommentar ja als Spam zurückweisen, aber vielleicht hilft diese Erklärung ja auch anderen Lesern weiter.

  4. Thomas 28. Juli 2008

    Ergänzendes zu Masken:
    http://www.fi-ausbilden.de/blog/2007/12/06/typo3-mit-masken-arbeiten/

  5. Typo3-Fanboy 21. August 2008

    Läuft leider bei mir nicht. Das Maskenbild wird noch richtig erzeugt, auch in Bezug auf die Größe des zu maskierenden Bildes.

    Das erzeugte Bild (via Quixexplorer im Backend im Typo3-Temp-Verzeichnis im Unterordner GB zu finden) hat die richtigen Dimensionen, ist aber leer/weiße Fläche.

    Das gerenderte Image-Tag dann leider auch?!

    Die Typo3-Installation läuft in einem Unterverzeichnis - das hat schon öfter Seiteneffekte gehabt?!

  6. ***Kommentar Spam*** 2. Oktober 2008

    Hallo Leute - danke für diesen Artikel - ich hätte jetzt dazu doch noch eine Frage - Wenn man verschiedene Größen bei den Bilder hat - kann man ja das mit der Maske vergessen!

    Also der Ansatz von oben ist SUPER - jedoch würde ich jetzt auch noch einen Rahmen um die Bilder brauchen - mit den Runden ECKEN

    Vielleicht kann mir da einer die INFOS geben!
    LG

  7. Julian 12. Mai 2009

    Wunderbares TS. Wenn ich das aber richtig sehe (und probiert habe), dann klappt es aber _nicht_ wenn man via BE die Höhe eines Bildes ändert.
    Hat jemand eine Lösung gefunden, wie man Ecken per Maske abrunden kann, ohne, dass die Ecken mitskalieren, man aber weiterhin die BE-Einstellungen imagewidth/-height verwenden kann?

  8. Stefanie 18. Februar 2010

    Ich habe das Script übernommen und im BE wird die neue Rahmen-Funktion angezeigt aber im FE wird ein Bild mit der angegebenen HG-Farbe erstellt auch super mit runden Ecken - aber eben nur einfarbig und das Bild ist verloren gegangen. Wo kann der Fehler liegen?
    Danke!

  9. albis 13. März 2010

    Wie könnte man dieses schöne script am einfachsten für die Bilder bei tt_news anwenden?

Kommentare als RSS abbonieren. · TrackBack URI

Schreib einen Kommentar

Comment spam protected by SpamBam