---
title: "Templateauswahlt über Flexform"
url: "https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2010-02-22"
last_reply: "2010-02-25"
replies: 6
solved: false
page: 1
pages: 1
lang: "de"
---

# Templateauswahlt über Flexform

Extensions › Entwicklung · 6 Antworten · gestartet 2010-02-22

## Eröffnungsbeitrag

**Skyhead** · 2010-02-22 · [Beitrag #1](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/1)

Hey Leute, was muss ich in meine Flexform schreiben, um auszuwählen, dass meine extension:

1. Inhaltselement 1 neben Inhaltselement 2 darstellt ?
2. Inhaltselement 1 über Inhaltselement 2 darstellt ?

meine HTML Datei hat zwei Bereiche, die dafür vorgesehen sind:

<!-- ###ZWEISPALTIG### begin -->
[...]
<!-- ###ZWEISPALTIG### end -->

<!-- ###EINSPALTIG### begin -->
[...]
<!-- ###EINSPALTIG### end -->

Es soll also über die Flexform ausgewählt werden, welchen Templatemarker die Extension benutzen soll. In welcher Datei muss ich noch etwas ändern und wie müsste diese Änderung aussehen?

Mfg Skyhead

## Antworten

### [#2](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/2) · Skyhead · 2010-02-23

Hat denn niemand eine idee?

Hier ein ausschnitt aus meiner Flexform:

```php
<template>
  <TCEforms>
  <label>LLL:EXT:...</label>
  <config>
    <type>select</type>
    <items type="array">
      <numIndex index="0" type="array">
        <numIndex index="0">volle Breite</numIndex>
        <numIndex index="1">volle Breite</numIndex>
      </numIndex>
      <numIndex index="1" type="array">
        <numIndex index="0">zwei Spalten</numIndex>
        <numIndex index="1">zwei Spalten</numIndex>
      </numIndex>
    </items>   
    <maxitems>1</maxitems>
    <size>1</size>
  </config>
</TCEforms>
</template>
```

was muss ich jetzt in meiner pi1/....php datei einfügen, damit er je nachdem welches selectfeld gewählt ist, dass er dann auch die richtigen Templatemarker benutzt?

Mfg Skyhead

### [#3](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/3) · BlackPixel · 2010-02-24

Schau doch einfach in das Array rein wo die Flexform drin steht?! Alternativ empfehle ich diesen Artikel:

<http://wiki.typo3.org/index.php/Extension_Development,_using_Flexforms>

### [#4](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/4) · Skyhead · 2010-02-24

Vielen Dank für die Hilfe, aber bin leider immernoch nicht wirklich weiter gekommen!

habe jetzt in meiner "pi1/class.php" folgenden code drin stehen:

```php
function main($content, $conf)	{
	
$flexformWerte = $this->pi_initPIflexForm();
$cObjData = $this->cObj->data['pi_flexform'];
	
$template = $this->pi_getFFvalue($cObjData, 'template', 'sDEF');

# Get the parts out of the template
$template = array();
$template["total"] = $this->cObj->getSubpart($this->template,"###ZWEISPALTEN###");

# create the content by replacing the marker in the template
$markerArray["###TEMPLATE###"] = $template;
```

Dies ist einfach nur mal um zu sehen, welchen wert mir die Selectbox liefert.

Leider liefert sie mir keinen wert! Woran kann das liegen?

Das HTML-Template dazu sieht so aus:

```html
<h3>zwei Spalten</h3>
<!-- ###ZWEISPALTEN### begin -->
<div class="box">
Template: ###TEMPLATE###<br>
</div>
<!-- ###ZWEISPALTEN### end -->
```

Mfg Skyhead

### [#5](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/5) · ammannd · 2010-02-25

na, einerseits musst du halt überprüfen, welchen wert dir das flexform zurückgibt, und je nachdem das eine oder das andere template laden ($this->cObj->getSubpart(...)). also etwa so:

```php
if (($template = $this->pi_getFFvalue($cObjData, 'template', 'sDEF')) == "volle Breite") {
  $template['total'] = $this->cObj->getSubpart($this->template,"###EINSPALTIG###");
}else {
  $template['total'] = $this->cObj->getSubpart($this->template,"###ZWEISPALTIG###");
}
```

anschliessend musst du die maker setzen und mit dem korrekten Befehl ersetzen. lies doch dazu einfach mal hier nach: <http://wiki.typo3.org/index.php/Extension_Development,_using_HTML-Templates>

### [#6](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/6) · Skyhead · 2010-02-25

hey danke für deine antwort.

aber mein Problem lag an einer anderen stelle und zwar hab ich meine Variable, in der ich den wert ausgegeben haben möchte "template" genannt und auch die funktion, in der er sich das HTML Template laden soll "template" genannt. Damit hat er immer wieder alles überschrieben. Hab jetzt einfach die Variable umgenannt und schon funktioniert alles ;)

Mfg Skyhead

### [#7](https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform/7) · ammannd · 2010-02-25

*lol* manchmal ist die lösung so einfach... ich muss ehrlich sein, ich habe deinen codeschnipsel nicht wirklich angeschaut und schon anhand von diesem sollte es ja klar sein! ;)

dann kann man das thema ja als gelöst markieren...!

---

Quelle: „Templateauswahlt über Flexform“, typo3.net, https://www.typo3.net/d/96962-templateauswahlt-ueber-flexform
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
