Zum Inhalt springen

Problem bei Ausgabe von mehreren RTEs

Erstellt am 2. September 2008 · 2 Antworten · letzte Antwort am 18. September 2008

Tags: Frage

Spyro ·

Hi Leude,

ich hab eine BE-ext, in welcher mehrere RTEs zur gleichen Zeit angezeigt werden. Genauer gesagt: TinyRTEs. Es werden wunderbar mehrere angezeigt, aber alle RTEs die angezeigt werden, übernehmen jeweils die buttonlist von dem RTE, welcher zuletzt gerendert wird. Jetzt brauche ich aber unterschiedliche buttonlists. Die Zuweisung der buttonlist erfolgt so:

	// If feature type is selected trim the toolbar and resize RTE.
		if(true === $featureTypeFlag)
		{
			$this->thisConfig['buttonlist'] = 'bold,italic,underline,strikethrough,sub,sup,|,justifyleft,justifycenter,justifyright,justifyfull;bullist,numlist,outdent,indent,|,|,|,forecolor,backcolor,typo3link,unlink;styleselect,|,formatselect,|';
			$this->thisConfig['initial.']['RTE-Width'] = 430;
		}
		else
		{
			$this->thisConfig['buttonlist'] = 'newdocument,undo,redo,cut,copy,paste,pastetext,pasteword,|,|,print,help;bold,italic,underline,strikethrough,sub,sup,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,outdent,indent,|,hr,insertdate;forecolor,backcolor,typo3link,unlink,anchor,charmap,|,typo3image,table,visualaid,|,insertlayer,absolute,moveforward,movebackward,|,removeformat,inserttime;styleselect,|,formatselect,|,fontsizeselect';
			$this->thisConfig['initial.']['RTE-Width'] = 600;
		}

Die theme_advanced_buttons im tinyMCE.init js-code des jeweiligen mce werden auch dementsprechend angepasst. Nur die Anzeige der Buttons wird halt nicht übernommen.

Gruß,
Spyro

P.s.: Hängt es vllt damit zusammen, dass im tinyMCE.init die "elements" alle aufgelistet werden? Also wird durch die Liste hinter "elements" die MCEs angesprochen, welchen die Konfiguration zugewiesen werden soll und ich muss hier schauen, ob die irgendwie trimmen kann?

Spyro ·

Also meine "elements"-Vermutung ist falsch. Diese Angabe dient lediglich dazu, wieviele RTEs max. angezeigt werden.

Weiterführend:
Ich habe

// a little hack to handle multiple instances of tinyRTE. At this time 100 RTE´s per Page can be handled.
for($count=1; $count<=100; $count++) {
	$instances.='RTEarea'.$count.',';
}
$instances=substr($instances,0,strlen($instances)-1);

durch das hier ersetzt:

if(0 < $specConf['RTEcounter'])
{
	$instances='RTEarea'.$specConf['RTEcounter'];
}
else
{
	// a little hack to handle multiple instances of tinyRTE. At this time 100 RTE´s per Page can be handled.
	for($count=1; $count<=100; $count++) {
		$instances.='RTEarea'.$count.',';
	}
}

und dann natürlich in meinem script $specConf['RTEcounter'] jeweils einen andern integer-Wert übergeben beim Aufruf von drawRTE() (Wer es genauer wissen will: 1 für den ersten RTE und 2 für den zweiten RTE 😉 )
Daraus resultiert, dass nur noch der zweite gerendert wird, der erste hingegen nichtmehr.