[TYPO3-german] IMAGE Object

Stefano Kowalke blueduck at gmx.net
Fri Nov 9 22:33:26 CET 2007


>> Denn in der TSRef steht auch dass IMAGE die Eigenschaft altText hat.
>> Deswegen hab ich es erst da hingeschrieben.
> 
> Ausnahmen bestätigen die Regel. Du kannst ja mit GMENU mehrere Bilder
> angeben in verschiedenen "Ebenen", darum würde es wenig Sinn machen
> altText auszuwerten, da nicht klar ist, von welchem IMAGE der Wert
> verwendet werden soll.

Ich dachte die altText-Eigenschaft bezieht sich immer auf das jeweilige
IMAGE-Object. 

5 = IMAGE
5.file = Datei1
5.altText = AltText /*bezieht sich auf Datei1*/
5.10 = IMAGE
5.10.file Datei2
5.10.altText = AltText2 /*bezieht sich auf Datei2*/

So ist doch klar welcher Alttext zu welchem Image gehört, oder wie meinst Du
das mit den mehreren Ebenen?

> 
> Hast Du denn meine Variante (imgParam) probiert, bevor Du gepatcht hast?

Ja habe ich. page.config.xhtml_cleaning = all war ja schon, dann den altText
im IMAGE-Object gelöscht und dafür den Alttext über die imgParams- 
Eigenschaft zugewiesen. Das Ergebnis waren zwei alt Attribute im <img>-Tag.
Erst mit dem Patch hat es funktioniert. 

> Äh, ich kann nicht erkennen was Du angepasst hast (abgesehen von den
> Syntaxfehlern, die Du eingebaut hast ;)
> Kannst Du das mal genauer beschreiben was Du und vor allem warum
> geändert hast?

Geändert habe ich die Datei /typo3/sysext/cms/tslib/class.tslib_menu.php.
Die Zeile 2263 (nicht weit von // Set altText entfernt)
$this->I['IMG'] = '<img src="'.$GLOBALS['TSFE']->absRefPrefix
$this->I['val']['output_file'].'" width="'.$this->I['val']['output_w'].'"
height="'.$this->I['val'
['output_h'].'" '.tslib_cObj::getBorderAttr('border="0"').'
alt="'.htmlspecialchars($this->I['altText']).'"'.$this->I['name']
($this->I['val']['imgParams']?' '.$this->I['val']['imgParams']:'').' />';

in

$this->I['IMG'] = '<img src="'.$GLOBALS['TSFE']->absRefPrefix
$this->I['val']['output_file'].'" width="'.$this->I['val']['output_w'].'"
height="'.$this->I['val'
['output_h'].'" '.tslib_cObj::getBorderAttr('border="0"')
($this->mconf['disableAltText'] ? '': '
alt="'.htmlspecialchars($this->I['altText']).'"').$this->I['name']
($this->I['val']['imgParams']?' '.$this->I['val']['imgParams']:'').' />';

Effektiv habe ich diesen Teil 

alt="'.htmlspecialchars($this->I['altText'])

gegen diesen 

($this->mconf['disableAltText'] ? '': ' 
alt="'.htmlspecialchars($this->I['altText']).'"')

ausgetauscht/erweitert.

In dem Diff war noch ein paar Zeilen weiter oben eine Änderung. 
Alte Version:
// Set altText
$this->I['altText'] = $this->mconf['disableAltText'] ? '' :
$this->I['title'].$this->I['accessKey']['alt'];

Neue Version:
//Set altText
$this->I['altText'] = $this->I['title'].$this->I['accessKey']['alt'];

Das habe ich aber so gelassen und es funktioniert. 
Sofern es Syntaxfehler gibt, verschweigt T3 die mir ;-)

-- 
GPG-ID: 0x2B08936D
Key-Fingerprint: 7F31 BCF0 70C0 B3B1 1235 07E9 1777 D7A0 2B08 936D


More information about the TYPO3-german mailing list