[TYPO3-german] pageRenderer() -> inlineJS -> Formatierung

Stefan Frömken firma at sfroemken.de
Mon Oct 8 09:03:10 CEST 2012


Moin Robert,

hab Dir doch gerade 3 Zeilen geschickt?!?! Naja...dann mal etwas mehr 
mit einem Beispielscript aus vergangenen Tagen:

public function getHeaderJs() {
$inlineJs = '
$(document).ready(function() {
	(function basic_pie(container) {
		var graph;
		graph = Flotr.draw(container, ' . $this->test() . ', {
			HtmlText: false,
			grid: {
				verticalLines: false,
				horizontalLines: false
			},
			xaxis: {
				showLabels: false
			},
			yaxis: {
				showLabels: false
			},
			pie: {
				show: true,
				explode: 6
			},
			mouse: {
				track: true
			},
			legend: {
				position: "se",
				backgroundColor: "#D2E8FF"
			}
		});
	})(document.getElementById("editor-render-0"));
});
';
return $inlineJs;
}

Klappt super und schaut auch im Quellcode supi aus.

Stefan

Am 08.10.2012 08:48, schrieb Robert Wildling:
> Hallo, Stefan,
>
> Danke für dein Feedback! Aber ganz versteh ich den Gedankengang leider
> nicht. Wie sollte ich zB folgende Zeile in eine Funktion bringen?
>
> $inlineJS .= '  },';
>
> Kannst du mir bitte die ersten 3,4 Zeilen so notieren, wie du es mir
> empfiehlst?
>
> (Die Newslist hier macht ja recht Zeilenumbrüche, deswegen ist hier der
> Code unleserlich; im PHP-File ist das allerdings sehr gut lesbar,
> zumindest für mein Verständnis, das derzeit nur diese Lösung kennt... )
>
> Danke! Gruß, Robert
>
>
>
>> Am 05.10.2012 17:42, schrieb Robert Wildling:
>>> Hallo,
>>>
>>> Ich hab mir die Mühe gemacht, in einer EXT (pi_base) das auszugebende
>>> inlineJS möglichst schön zu formatieren alá
>>>
>>>      $inlineJS .= '  },';
>>>      $inlineJS .= '  ], {';
>>>      $inlineJS .= '    playlistOptions: {\r';
>>>      $inlineJS .= '      autoPlay             : ' . $autoPlay   . ',\r';
>>> // Boolean
>>>        $inlineJS .= '      loopOnPrevious       : ' . $loopOnPrevious .
>>> ',\r'; // Boolean
>
>>> $GLOBALS['TSFE']->getPageRenderer()->addJsFooterInlineCode($name,$inlineJS);
>>>
>
>>>
>>> Und weiß vielleicht noch jemand, wo genau diese Funktion definiert wird?
>>> Meine Suche findet immer nur ein getPageRenderer()...
>
>>
>> Definier dein JS mal anders:
>>
>> $inlineJs = '
>>    function irgendwas() {
>>      alert("TYPO3 ist cool");
>>    }
>> ';
>>
>> Auf diese Weise kann man dann auch den JavaScript-Teil innerhalb Deiner
>> Extension viel besser lesen und jedes Enter wird automatisch in einen
>> Umbruch "konvertiert".
>



More information about the TYPO3-german mailing list