---
title: "Eingabefeld im BE für Templatefile"
url: "https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile"
source: "typo3.net"
tags: ["Extensions","Entwicklung","FlexForms","Frage"]
created: "2007-08-15"
last_reply: "2007-08-16"
replies: 6
solved: false
page: 1
pages: 1
lang: "de"
---

# Eingabefeld im BE für Templatefile

Extensions › Entwicklung · 6 Antworten · gestartet 2007-08-15

## Eröffnungsbeitrag

**steewan** · 2007-08-15 · [Beitrag #1](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/1)

Hallo,

ich habe einmal ein paar Fragen, um ein Plugin zu erweitern. Im Forum hier habe ich schon gesucht und das Tutorial zu Felxforms ene ich auch.

Um Daten einer Wetterstation azuzeigen, habe ich ein Plugin geschrieben. Dieses funktioniert auch super und es wird dabei ein Templatefile benutzt, welches im TypoScirpt festgelegt wird.

Für den Benutzer möchte ich es jetzt aber komfortabler machen. Dieser soll das Templatefile im Plugin eintragen können, am besten per Verweis durch DAM.

Dazu muss anscheinend eine Datei Namens "flexforms.xml" im Pluginverzeichnis angelegt werden, die eine entsprechende Definition enthält. Ist dies korrekt und wie müsste die aussehen ?

Wie kann ich dann im PHP-Code auf das Feld zugreifen ?

Besten Dank
Stefan

## Antworten

### [#2](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/2) · Unbekannter Benutzer · 2007-08-15

Hi,

... ja richtig das musst du mit flexforms machen! Schau dir mal die "tt_news" an da kann man auch über flexform ein Template auswählen.

Die wichtigen Dateien sind dort:
-flexform_ds.xml
-ext_tables.php
-class.tx_ttnews.php

:D

### [#3](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/3) · steewan · 2007-08-15

Hallo,

danke für die schnelle Antwort. Ich habe jetzt eine flexform_ds.xml erstellt:

```html
<T3DataStructure>
	<meta>
	<langDisable>1</langDisable>
	<!--  <langChildren>1</langChildren>!-->
		</meta>
<sheets>
	<sDEF>
	<ROOT>
		<TCEforms>
			<sheetTitle>LLL:EXT:sb_weatherstation/locallang_tca.xml:sb_weatherstation.pi_flexform.sheet_general</sheetTitle>
		</TCEforms>
		<type>array</type>
		<el>
		<template_file>
			<TCEforms>
				<label>LLL:EXT:sb_weatherstation/locallang_tca.xml:sb_weatherstation.pi_flexform.template_file</label>
				<config>
					<type>group</type>
					<internal_type>file</internal_type>
					<allowed>tmpl,html,htm</allowed>
					<max_size>100</max_size>
					<uploadfolder>uploads/tx_sbweatherstation</uploadfolder>
					<maxitems>1</maxitems>
					<size>1</size>
					<selectedListStyle>Width:180px</selectedListStyle>
				</config>
			</TCEforms>
		</template_file>
		</el>
	</ROOT>
	</s_template>
</sheets>
</T3DataStructure>
```

und dazu eine entsprechende locallang_tca.xml:

```html
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
	<meta type="array">
		<description>language labels for Weatherstation BE forms</description>
		<type>database</type>
		<csh_table></csh_table>
		<fileId>EXT:sb_weatherstation/locallang_tca.xml</fileId>
		<labelContext type="array">
		</labelContext>
	</meta>
	<data type="array">
		<languageKey index="default" type="array">
			<label index="sb_weatherstation.pi_flexform.sheet_general">General Settings</label>
			<label index="sb_weatherstation.pi_flexform.template_file">Template file</label>
		</languageKey>
		<languageKey index="de" type="array">
			<label index="sb_weatherstation.pi_flexform.sheet_general">Allgemeine Einstellungen</label>
			<label index="sb_weatherstation.pi_flexform.template_file">Template</label>
		</languageKey>
	</data>
</T3locallang>
```

Ebenso habe ich in meiner class.xxx.php das Template wie folgt geladen:

```php
		$templateflex_file = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'template_file', 's_template');
		$this->templateCode = $this->cObj->fileResource($templateflex_file?'uploads/tx_sbweatherstation/' . $templateflex_file:$this->conf['templateFile']);
```

Aber im Backend erscheint noch gar nichts, wenn ich ein Seiteninhaltselement damit einfüge. Was habe ich noch vergessen ?? Wird die ext_tables.php benötigt? Wie müsste diese dann aussehen ?

Danke
Stefan

### [#4](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/4) · Unbekannter Benutzer · 2007-08-16

Hi,

in der Tat benötigst du die ext_tables.php.
Folgendes muss dort drin stehen. (den Pfad zur xml-Datei musst du anpassen)

```php
t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key,pages,recursive';
// add FlexForm field to tt_content
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='pi_flexform';
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'_pi1', 'FILE:EXT:deine_extension/flexform_ds.xml');
```

:D

### [#5](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/5) · steewan · 2007-08-16

Hallo,

noch einmal. Habe jetzt die ext_tables.php dementsprechend angepasst. Aber im Backend erscheint immer noch nichts. Reicht es die PHP-Dateien einfach in den Extension-Ordner zu kopieren oder muss das Plugin neu installiert werden ?

Danke
 Stefan

### [#6](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/6) · Unbekannter Benutzer · 2007-08-16

... in deiner flexform_ds.xml ist mir noch ein fehler aufgefallen.
zeile 7 (<sDEF> muss <s_template> heissen)

Ansonsten typo3conf cache löschen.

:D

### [#7](https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile/7) · steewan · 2007-08-16

Oh, danke,

es geht jetzt. Naja, wenn man einmal weiß was gemacht werden muss, so ist es ja relativ einfach.

Besten dank

---

Quelle: „Eingabefeld im BE für Templatefile“, typo3.net, https://www.typo3.net/d/66836-eingabefeld-im-be-fuer-templatefile
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
