Zum Inhalt springen

border-Attribut vom <img>-tag verändern - mit Lösung

Erstellt am 21. Mai 2003 · 5 Antworten · letzte Antwort am 23. Juni 2003

Tags: Bilder, Frage, TYPO3 3

Maike ·

Hallo. Ich habe eine wahrscheinlich recht einfach zu beantwortende Frage.
Ich binde in mein Template auf jeder Seite eine andere Grafik ein. (Wie es im Tutorial unter http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=279&tx_extrepmgm_pi1[tocEl]=518&cHash=4ed5e9b1b7 auch ganz gut erklärt wird.)

Das funktioniert soweit wunderbar. In das erzeugte Image-Tag werden height, width und border als Attribute automatisch reingeschrieben. Bei height und width ist das Klasse, aber bei border möchte ich anstelle des vorkonfigurierten "border=0" ein "border=1".

Ich war schon so schlau und habe in mein Template in das <img>-Tag, das ersetzt wird, eine class="RahmenUmsBild" geschrieben, aber das <img>-Tag wird ja komplett ersetzt, und somit war die Angabe dann auch wieder verloren.

Wie referenziere ich korrekt das <img>-Tag, damit ich eine Angabe wie "border=1" oder class= quasi mit dareinwrappen kann?

In die Seite eingefügt wird es mit folgenden Zeilen aus meinem Template-Setup:

  subparts.LINKES_BILD = IMAGE
  subparts.LINKES_BILD.file {
    import.field = media
    import = uploads/media/
    import.listNum = 0
  }

Ich mach gerade meine ersten Schritte mit Typo3, also nicht sauer sein, wenn die Frage nicht besonders clever rüberkommt. Danke schonmal für die Geduld :-)

Maike ·

Niemand, der mir sagen kann, wie ich verhindern kann, dass mein <img border="1" src=".... im Template durch ein <img src=".... ersetzt wird durch Typo3?! Das kann doch eigentlich nicht so schwer sein? Gibt es vielleicht eine Einstellung, mit der ich dafür sorgen kann, dass alle Attribute innerhalb eines Tags im Template (außer src="bild.jpg") erhalten bleiben?

Benötige dringend eine Lösung... hoffentlich weiß jemand was!

Maike

Maike ·
Tetramatrix schrieb

Versuch Dich mal am Constant-Editor, vielleicht kannst du das da einstellen!?

Das habe ich auch erstmal versucht:
Bild: virtualgaucho.com/…/img_border1.gif
Brachte aber nichts.
Ich habe dann im Setup meines Template nur genau dem immer variierenden Bild (das aber logisch immer an der selben Stelle steht) einen 1 Pixel breiten Rahmen hinzugefügt mit folgendem Teil:

# das linke Rubrikenbild immer durch das im Page Header angegebene erste Bild ersetzen
  subparts.LINKES_BILD = IMAGE
  subparts.LINKES_BILD.params = border=1
  subparts.LINKES_BILD.file {
    import.field = media
    import = uploads/media/
    import.listNum = 0
  }

Der "params = border=1"-Teil ist hier der interessante, wie ihr euch denken könnt :-)
Aber... das brachte auch nicht wirklich was, denn nun wurde ein HTML-Code erzeugt, der so aussah:

<img src="bild.jpg" width="225" height="225"  border="0" border="1">

Abgesehen davon, dass das unsauberes HTML ist, wurde natürlich auch kein Rahmen angezeigt.
Aber die Tatsache, dass vor dem border="0" immer zwei Leerzeichen waren, brachte uns schließlich dazu, dem Übeltäter hartkodierter Parameter auf die Spur zu kommen.
Editiert werden muss die Datei
./typo3_src-3.5.0/tslib/class.tslib_content.php
und zwar in diesem Teil:

// This array is used to collect the image-refs on the page...
$theValue = '<img src="'.$GLOBALS["TSFE"]->absRefPrefix.$info[3].'" width="'.$info[0].'" height="'.$info[1].'"  border="0"'.($conf["params"]?" ".$conf["params"]:"").($alttext?' alt="'.$alttext.'"':'').'>';

Hier haben wir die Angabe über den Rahmen (border="0") rausgenommen, und schon sieht mein Bild mit Rahmen viiiel besser aus... *freu*

Es war zwar eine Anfängerfrage, aber bestimmt keine Anfängerantwort auf das Problem! :-)

birgitr ·

>Es war zwar eine Anfängerfrage, aber bestimmt keine Anfängerantwort auf das Problem! :-)

Irgendwie doch, denn Du hast direkt im CMS rumgepfuscht und alle Bilder, die Du jemals einladen willst, verändert.
Es geht viel einfacher:
marks.CONTENT_BILD {
10 = IMAGE
10.file {
import.field = media
import = uploads/media/
import.listNum = 0
#width = 300
#height = 450
}
10.wrap = <span style="border: 1px solid #FF0000;">|</span>
}

liebe Grüße
Birgit

Maike ·
birgitr schrieb

Irgendwie doch, denn Du hast direkt im CMS rumgepfuscht und alle Bilder, die Du jemals einladen willst, verändert.

Nnjein... ;-)

Als rumgepfuscht empfinde ich es nicht, wenn ich etwas hartkodiertes=absolut unflexibles aus dem CMS herausnehme, was da auch m. E. gar nicht reingehört. (Ich habe ja nicht im CMS border="0" durch border="1" ersetzt - das wäre wirklich blöd.)

Der Ansatz mit dem <span>-Wrap ist gut. Allerdings kombiniere ich in meinem Layout good old HTML 3.2 und HTML 4, weshalb mir das Attribut border="1" im <img>-Tag so wichtig war. Ich hätte dieses Attribut ja am liebsten aus meinem Template übernommen, aber es wurde vom Typo3 überschrieben.