[TYPO3-UG Freiburg] tt_news - displaySingle - noImage_stdWrap

Benjamin Keil benjamecho at googlemail.com
Fri Feb 12 16:10:24 CET 2010


Hi,

vielen Dank für Deine Erläuterungen! Da hab ich wieder etwas dazu gelernt.


>> # find /path/to/website/typo3conf/ext/tt_news/ -type f -name *.php -print -exec grep -H -n 'noImage_stdWrap' {} \; | egrep -v '.php$'
> Einfacher wäre hier natürlich:
> find /path/ -type f -name *.php -exec grep -H -n 'noImage_stdWrap' {} \;



Ich habe mir das Verzeichnis runtergeladen und die Dateien über meinen Texteditor durchsucht. Die Shell ist nicht so ganz meine Welt :-)

Ich finde noImage_stdWrap 2x:
1. Zeile 2223 in der Funktion getImageMarkers
2. Zeile 2351 in der Funktion getSingleViewImages


Folgenden Code habe ich verwendet:

		$imgs = (is_array($imgs)) ? $imgs : array('array ist leer');
		t3lib_div::devLog('Bens image array', 'tt_news', 0, array('image' => $imgs, 'TS' => $lConf));
		t3lib_div::devLog('Bens image array', 'tt_news', 0, $imgs);


Beim ersten Vorkommen befindet sich noImage_stdWrap im Else-Zweig der If-Else-Abfrage ...

			if ($textRenderObj == 'displaySingle') {
				$markerArray = $this->getSingleViewImages($lConf, $imgs, $imgsCaptions, $imgsAltTexts, $imgsTitleTexts, $imageNum, $markerArray);
			} else {

... und greift daher bei der Single-Ansicht nicht. Ich habe den Code dazu testweise mal ins if und else eingebaut. Bei else passiert nichts. Unter if bekomme ich im TS-Array:
* image -> empty (bei keinem Bild. Müsste er nicht auch "array ist leer" über die zweite Log-Anweisung ausgeben? Unter "extra data" erscheint dort nichts, egal ...)
* image -> 0 -> Dateiname.jpg (bei einem Bild)

Soweit wäre Punkt 1 abgeschlossen, denn hier greift das noImage_stdWrap nicht, wenn wir in der Single-Ansicht sind, da dann der else-Zweig ja nicht ausgeführt wird.


Anschließend habe ich den Code vor die Zeile 251 eingesetzt (2. Fundstelle). Geloggt wird nur, wenn ich eine News ohne Bild aufrufe und es wird mir im TS-Log auch angezeigt, dass image EMPTY! ist, d.h. die Zeile 2351 ...

$markerArray['###' . $marker . $m . '###'] = $this->local_cObj->stdWrap($markerArray['###' . $marker . $m . '###'], $lConf['image.']['noImage_stdWrap.']);

... wird ausgeführt.

Die Funktion getSingleViewImages wird ausschließllich in der oben genannten if-Abfrage aufgerufen und bekommt $markerArray zurück.

Also wenn ich das richtig überblicke (wovon ich nicht ganz überzeugt bin), dann hat noImage_stdWrap bei der Singleansicht keinerlei Funktionalität.
@Steffen: kannst Du das bestätigen / nachvollziehen und soll ich einen Bugreport einreichen?


Viele Grüße
Ben











More information about the TYPO3-UG-Freiburg mailing list