---
title: "Extension / Plugin ins Backend integrieren"
url: "https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Extbase","Frage","TYPO3 6.x"]
created: "2014-03-17"
last_reply: "2017-07-03"
replies: 8
solved: false
page: 1
pages: 1
lang: "de"
---

# Extension / Plugin ins Backend integrieren

Extensions › Entwicklung · 8 Antworten · gestartet 2014-03-17

## Eröffnungsbeitrag

**Chrissli** · 2014-03-17 · [Beitrag #1](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/1)

Hallo zusammen,

ich bin gerade dabei mich in die Extension-Entwicklung einzuarbeiten und dabei wie erwartet
gleich auf die ersten Probleme gestoßen.

Ich hangel mich mit dem Buch "Zukunftssicher Typo3 Extension mit Extbase und Fluid " von Jochen Rau
und Sebastian Kurfürst durch und habe nun das erste Minimalbeispiel mit meiner Extension adaptiert.
So weit so gut, benötigte Dateien sollten vorhanden sein:

Classes/Controller/XcontentController.php
	Classes/Domain/Model/Xcontent.php
	Classes/Domain/Repository/XcontentRepository.php
	Resources/Private/Templates/Xcontent/render.html
	ext_emconf.php
	ext_icon.gif
	ext_localconf.php
	ext_tables.php
	ext_tables.sql

- Die Extension wird im EM gelistet
- Sie kann installiert werden ohne Fehlermeldung
- Die zugehörige Datenbank kann ausgewählt werden

Ich kann auf deinem Sysfolder über Liste -> Neuer Datensatz die Extension auswählen, allerdings
scheint hier die Positionierung in der Liste nicht zu passen, denn der Punkt "RTE HTMLarea" wird bei mir
durch den Namen meiner Extension ( schniblotag ) ersetzt und mein Plugin mit unbekanntem Icon (?) neben
"Abkürzung" gelistet ( siehe Anhang ). Kann dann aber ausgewählt werden, alle Felder werden angezeigt und die Datenbank wird
auch mit entsprechenden Werten gefüllt.

Auf normalen Seiten wird das Plugin in der Listenansicht nicht aufgeführt,
in der Seitenansicht wird es gar nicht gelistet, weder direkt unter Inhaltstyp Plugin noch wenn ich allgemeines Plugin auswähle in
der zugehörigen Liste.

Weder Typo3 noch mein Webserver liefert mir hierzu einen Fehler.

Eingebunden wird das Plugin
in der ext_localconf.php mit

```php
Tx_Extbase_Utility_Extension::configurePlugin(
	// unique plugin name
	$_EXTKEY,
	'XContent', // should be identical with ext_tables.php registerPlugin name?
	
	// accessible controller-action-combination
	array ('Xcontent'=>'render' )
	// non-cachable controller-action-combinations ( they must already be enabled )	
	// array (  ) 
);
```

bzw. in der ext_tables.php mit

```php
Tx_Extbase_Utility_Extension::registerPlugin($_EXTKEY, 'Xcontent', 'Cross Content');
```

Kann mir vielleicht einer sagen was ich falsch mache bzw. wo ich suchen muss? Ist das eher
ein falscher Funktionsaufruf oder was falsch konfiguriertes?

Bin grade n bissl ratlos...

P.S.: Ich habe die Dateien manuell angelegt anhand der Beispiele aus dem Buch, d.h. bei mir sind keine Namespace-Angaben vorhanden. Ist das schon das Problem oder ist das nicht zwingend notwendig?

P.P.S.: Namespaces hinzugefügt, nicht besser geworden :(

[Bild: \[upl-image-preview uuid=ac0fbc6f-b7dc-59eb-9c1e-c9082ffc4a4f url=https://www.typo3.net/assets/files/typo3net/1436-t3plugin.png alt=t3plugin.png thumbnail_url=https://www.typo3.net/assets/files/typo3net/1436-t3plugin.png\]](https://www.typo3.net/assets/files/typo3net/1436-t3plugin.png)

## Antworten

### [#2](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/2) · Schweriner · 2014-03-17

Ich behaupte mal der Fehler liegt irgendwo in der ext_tables.php, daher bitte mal die gesamte Datei posten. Das Grundgerüst für Extensions lässt sich übrigens sehr angenehm mit dem Extension Builder aus dem TER machen. Namespaces sollten zukünftig auf jeden Fall verwendet werden.

### [#3](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/3) · Chrissli · 2014-03-17

Ja, dass ist mir jetzt auch klar :D
Extensionbuilder hab ich probiert, hat mir aber zuviel gewurstelt das ich nicht verstanden hab, daher dachte ich Schritt für Schritt nach vorne Tasten ist vielleicht der bessere Weg

```php
<?php 
if (!defined('TYPO3_MODE')) {
	die ('Access denied.');
}

// controls how the table ( see ext_tables.sql ) is renderd in t3backend
$TCA['tx_schniblotag_domain_model_xcontent'] = array (
	'ctrl' => array (
		'title' => 'Cross Referred Content', // system name for table as shown in backend
		'label' => 'name', // tells which databasefield is shown in backend to list elements			
	),
	'columns' => array (
		'name' => array (
			'label' => 'Bezeichnung',
			'config' => array (
				'type' => 'input',
				'size' => '20',
				'eval' => 'trim,required'
			)				
		),
		'xtype' => array(
			'label' =>'Typ',
			'config' => array (
				'type' => 'select',
				'default' => 'category',
				'maxitems' => 1,
				'items' => array (
					array('Aus Kategorie','category'),
					array('Neue Produkte','newproducts'),
					array('Neueste News','newestnews'),
					array('Codiert','encoded')	
				)		
			)			
		),
		'number_of_elements' => array(
			'label' => 'Anzahl angezeigter Elemente',
			'config' => array (
					'type' => 'input',
					'size' => '2',
					'eval' => 'trim'
			)
		),
		'contained_elements' => array(
			'label' => 'Angezeigte Elemente',
			'config' => array (
				'type' => 'input',
				'size' => '255',
				'eval' => 'trim'
			)
		)
	),
	'types' => array (
		'0' => array('showitem' => 'name, xtype, number_of_elements, contained_elements')
	)
);	


Tx_Extbase_Utility_Extension::registerPlugin($_EXTKEY, 'Xcontent', 'Cross Content');
?>
```

### [#4](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/4) · Chrissli · 2014-03-18

Kleines Update:

Hab's nochmal mit dem Extension Builder probiert und die Feldconfiguration in dem 'dynamicConfigFile' ( vorher ext_tables.php ) entsprechend angepasst, soweit sogut, das Plugin wird nun in der Listenansicht als hinzufügbarer Datensatz auf allen Seiten angezeigt. Allerdings fehlt es immernoch als Content-Element und Plugins, egal wie ichs anstelle.

Hab mal testweise den configurePlugin-Befehl angepasst:

```php
Tx_Extbase_Utility_Extension::configurePlugin(
	// unique plugin name
	$_EXTKEY,
	'XContent', // should be identical with ex_tables.php registerPlugin name?
	
	// accessible controller-action-combination
	array ('Xcontent'=>'rendercategory' ),
	// non-cachable controller-action-combinations ( they must already be enabl,ed )	
	array (  ),
	\TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT	
		
	
);
```

Hat aber nix gebracht ;-(

### [#5](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/5) · Schweriner · 2014-03-18

In die ext_tables.php gehört das registerPlugin. Hier Beispiele aus einer meiner Extensions:

ext_tables.php

```php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
	$_EXTKEY,
	'Questions',
	'Fragen und Antworten'
);
```

Das configurePlugin gehört in die ext_localconf.php

### [#6](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/6) · Chrissli · 2014-03-18

Ok sorry, war vielleicht etwas ungünstig formuliert. Das ist natürlich der Fall.
Ich habe die automatisch ( durch den ExtensionBuilder ) generierte Datei "ext_tables.php" um die Zeile

```php
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin($_EXTKEY, 'Xcontent', 'Cross Content');
```

am Ende ( nach der TCA-Deklaration ) erweitert und die Datei "ext_localconf.php" in der obersten Ebene meines Extensionverzeichnisses angelegt mit dem configurePlugin-Aufruf wie vorher beschrieben.
Die Konfiguration der Felder schein ja zu stimmen, in der Listenansicht kann ich die Inhalte als Datensatz wie geplant erstellen, speichern, laden, aber eben nicht als Content-Element Plugin.

Mit dem alten Aufruf ( ich glaub das war

```php
t3lib_extMgm::addToAllTCAtypes
```

) hatte es Problemlos funktioniert, aber der ist ja deprecated.

Wenn ich wenigstens eine Fehlermeldung hätte mir der man arbeiten kann, aber soweit scheint alles in Ordnung zu sein.

### [#7](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/7) · Unbekannter Benutzer · 2014-05-06

Wenn du dir eh schon ein Grundgerüst mit dem Extension Builder aufsetzt, dann kannst du an der Stelle doch auch dein Plugin definieren, das sollte dann ziemlich sicher funktionieren :)

Ansonsten kann ich mir vorstellen, dass dein Mix aus namespaces / keine namespaces Probleme verursacht.

### [#8](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/8) · ViRuSTriNiTy · 2017-07-03

Ich denke mal, die Extension wurde im Backend nicht aktiviert. Deswegen erscheint Diese auch nicht Plugin DropDown.

### [#9](https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren/9) · Norman2k · 2017-07-03

Wow, 3 Jahre hat dieser Thread schon tief und fest geschlummert, wieso weckst du ihn auf?

---

Quelle: „Extension / Plugin ins Backend integrieren“, typo3.net, https://www.typo3.net/d/117658-extension-plugin-ins-backend-integrieren
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
