Zum Inhalt springen

Eigenes Content Element als Auswahl

Erstellt am 24. August 2006 · 4 Antworten · letzte Antwort am 25. August 2006

Tags: Frage

DerRobert ·

Hallo!

Seit 2 Tagen schon versuche ich in Suchmaschienen und Foren nach eine Lösung zu suchen, jedoch ist mir aufgefallen das bei allen Threads hier, keine Antworten auf meine Frage gegeben werden konnte.

Ich habe eine eigene Extension (PageContent) erstellt. So habe ich bei "Frontend Plugins" im Kickstarter den radiobutton "Add as totally new Content-Element" gewählt. Nun erscheint dieses Element zwar im Drop-Down Menü jedoch hätte ich gern noch einen Eintrag bei der Auswahl eines neuen Seitenelements.
Wie kann ich das realisieren?
Meine Kenntnisse in PHP sind gut, also würd ich mich über jeden leichten Anstoß sehr freuen.

FG RObert

just2b ·

Hallo,

schau doch mal im kickstarter genau: beim FE-Plugin: "Add icon to 'New Content Element' wizard:"

lg georg

DerRobert ·

Hi!

Wenn ich es auf diese Weise mache gibt es das Problem, dass ich es für den Redakteur nur sichtbar machen kann, wenn auch das "Allgemeine Plugins da ist, was den Redakteur immer verwirrt weil er nicht weiß was er damit machen soll. (:

Deshalb würd ich das gern anders lösen, ehrlich gesagt wäre ich auch zufrieden wenn diese Auswahl garnicht erscheinen würde sondern direkt das Plugin aufgerufen werden würde.

FG RObert

crimson ·

Hallo Robert,

ich kenne einen Workaround der nicht unbedingt sauber ist aber funktioniert:

In der Datei typo3/sysext/cms/layout/db_new_content_el.php findest Du die Funktion wizardArray(). Da kannst Du Deine Extension eintragen und andere austragen. Natürlich muss Du in der enstsprechenden locallang-Datei die Einträge entsprechend editieren:

function wizardArray()	{
global $LANG,$TBE_MODULES_EXT;
$wizardItems = array(
	'common' => array('header'=>$LANG->getLL('common')),
	'common_RobertsExt' => array(
		'icon'=>'gfx/c_wiz/events.gif',
		'title'=>$LANG->getLL('common_events_title'),
		'description'=>$LANG->getLL('common_events_description'),
		'tt_content_defValues' => array(
			'CType' => 'RobertsCType'
		)
	),
	'common_1' => array(
		'icon'=>'gfx/c_wiz/regular_text.gif',
		'title'=>$LANG->getLL('common_1_title'),
		'description'=>$LANG->getLL('common_1_description'),
		'tt_content_defValues' => array(
			'CType' => 'text'
		)
	),
...

locallang_db_new_content_el.xml:

$LOCAL_LANG = Array (
'default' => Array (
	'sel1' => 'Please select which kind of page content you wish to create:',
	'sel2' => 'Now, click at the position where you wish to place the element on the page:',
	'common' => 'Typical page content',
	'common_RobertsExt_title' => 'Roberts Extension',
	'common_RobertsExt_description' => 'Jetzt auch hier oben verfügbar',
...

Sicher ist es besser eine Extension zu schreiben, die das erledigt, damit das Ganze auch noch nach einem Typo3-Update funktioniert.

Dies bezieht sich übrigeens auf T3 3.8.x bei 4.x wird's aber ähnlich sein...

Viele Grüße
der André