---
title: "powermail: prefill für checkbox / selectbox"
url: "https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox"
source: "typo3.net"
tags: ["Extensions","Frage","Powermail"]
created: "2008-11-14"
last_reply: "2011-02-15"
replies: 25
solved: false
page: 1
pages: 1
lang: "de"
---

# powermail: prefill für checkbox / selectbox

Extensions · 25 Antworten · gestartet 2008-11-14

## Eröffnungsbeitrag

**Julian.​Hofmann** · 2008-11-14 · [Beitrag #1](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/1)

Hallo.

Versuche ein powermail-Formular mit bereits gespeicherten Werten eines FE-Users vorzubelegen. Bei "normalen" Felder klappt das auch prima mit

```typoscript
prefill.uid3 = TEXT
prefill.uid3.data = TSFE:fe_user|user|name
```

Wie aber setze ich Werte bei Checkboxen und Selectboxen via TS?

Viele Grüße
Julian

## Antworten

### [#2](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/2) · einpraegsam.​net · 2008-11-14

Hmm, gute Frage

### [#3](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/3) · Julian.​Hofmann · 2008-11-18

Darf ich das als "steht jetzt auf der TODO-Liste" interpretieren?

Hätte durchaus aktives Interesse an dem Feature, d.h. würde auch selbst mit Hand anlegen, damit es am besten 2008 noch machbar wird. Um die Extension bzw. deren Logik konsistent zu halten, wäre ich aber für ein paar Vorgaben dankbar, bevor ich rumbasteln würde.

### [#4](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/4) · einpraegsam.​net · 2008-11-18

> **Julian.Hofmann schrieb:**
>
> Darf ich das als "steht jetzt auf der TODO-Liste" interpretieren?
>
> Hätte durchaus aktives Interesse an dem Feature, d.h. würde auch selbst mit Hand anlegen, damit es am besten 2008 noch machbar wird. Um die Extension bzw. deren Logik konsistent zu halten, wäre ich aber für ein paar Vorgaben dankbar, bevor ich rumbasteln würde.

Unterstützung ist immer Willkommen.

Derzeit werden die Felder in pi1/class.tx_powermail_html.php in Zeile 891 gefüllt. Das geht vermutlich so nur für die erste Ebene.

### [#5](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/5) · Julian.​Hofmann · 2008-11-18

Gut, bin drüber. Denke morgen bzw. bis Ende der Woche meld ich mich mit Ergebnissen.

### [#6](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/6) · Julian.​Hofmann · 2008-11-19

Eine Frage in die Runde:

Wie ist es logisch/sinnvoll Vorbelegungen für eine (multiple) Boxen anzugeben?

- Eine kommaseparierte Liste der Indizes?

  ```typoscript
  prefill.uid1_1.selectedItems = 1,4,5
  ```
- Eine kommaseparierte Liste der Values?

  ```typoscript
  prefill.uid1_1.selectedValues = Wert1,Wert4,Wert5
  ```
- Die Options direkt ansprechen?

  ```typoscript
  prefill.uid1_1 = TEXT
  prefill.uid1_1.value = Wert1
  prefill.uid1_4 = TEXT
  prefill.uid1_4.value = Wert4
  ```

### [#7](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/7) · einpraegsam.​net · 2008-11-19

Gute Frage,

ich schwanke zwischen Variante 1 und 3

Warum?

1) Geht einfach und schnell und außerdem geht es nur um einen gesetzten Haken und nicht um Werte

3) Weil der prefill für normale Textfelder genau so funktioniert (auch wenn ein stdWrap hier kein Sinn macht)

PS: Es muss überall prefill.uid1 und nicht prefill.uid1_1 heißen, schätze ich

### [#8](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/8) · Julian.​Hofmann · 2008-11-19

Ansich stimme ich Dir zu. Beim umsetzen bzw. testen in meinem Anwendungsfall kam ich dann aber auf folgende Aspekte:

zu 1)
Nicht immer ist fix, an welcher Stelle welcher Wert steht. Wird nach der Definition der prefill-Werte das Formular nochmal angepasst, und verschieben sich dadurch die Indizes, hat man falsche Vorauswahl. Daher würde ich eher zu 2) bzw. 1) und 2) tendieren.

zu 3)
Wenn die Selektion an Bedingungen geknüpft ist, dann macht IMHO der stdWrap schon Sinn. Wie soll sonst eine Abhängigkeit gebastelt werden?
Beispiel: 3 Checkboxen, in der Datenbank ist Wert 3 (=2^0+2^1) gespeichert. Um daraus jetzt die gecheckten Boxen zu rekonstruieren muss man ja einen Größenvergleich durchführen.

### [#9](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/9) · einpraegsam.​net · 2008-11-19

Hmm, hast mich überzeugt - ich plädiere für 3

Ich würde dich dem Powermail Projekt auf forge.typo3.org hinzufügen, wenn du dich schon engagierst. Leider ist das typo3.org Login bekannterweise derzeit out of order...

### [#10](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/10) · Julian.​Hofmann · 2008-11-19

Wobei sich dann bei 3) immernoch die Frage stellt, ob der value dann ein true/false sein sollte oder der String, der auch als value im options-Tag steht. (Also ansich genau der Unterschied zwischen 1 und 2)

Spricht eigentlich etwas gegen die Umsetzung aller 3/4 Varianten? Oder wird das zu verwirrend?

### [#11](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/11) · einpraegsam.​net · 2008-11-19

> **Julian.Hofmann schrieb:**
>
> Spricht eigentlich etwas gegen die Umsetzung aller 3/4 Varianten? Oder wird das zu verwirrend?

Das finde ich zu heftig

ich würde es easy umsetzen:

```php
if ($variable) ' checked="checked"';
```

Somit wird auf Inhalt der Varible geschaut und diese könnte man mit stdWrap setzen (auch userFunc oder ähnliches nehmen)

### [#12](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/12) · Cybersmog · 2009-01-05

Gibts zu dem Thema mittlerweile was Neues? Könnte das grad für ein Projekt brauchen.

Gruß
Peter

### [#13](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/13) · wurgli · 2009-06-10

Ja gibt was. Siehe [/d/88224-powermail-und-die-checkboxen/3](https://www.typo3.net/d/88224-powermail-und-die-checkboxen/3)

### [#14](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/14) · Julian.​Hofmann · 2009-08-27

wurgli, nein, das ist nichts neues zu *diesem* Thema. Denn hier geht/ging es um die Vorbelegung via TS. In dem von Dir verlinkten Thread wird die Vorbelegung via BE behandelt.

Einen Anfang (für select-Box) der Lösung für den TS-Weg gibt's aber inzwischen auch: <http://forge.typo3.org/issues/show/3709>

Viele Grüße
Julian

### [#15](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/15) · Leinad · 2009-09-16

Hallo, ich hatte das gleiche Problem und hab es über einen Hook gelöst:

```php
  function PM_FieldWrapMarkerHookInner($uid, $xml, $type, $title, &$markers, $piVarsFromSession, $form){
    if($form->fe_field AND $type=='check'){
      $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($form->fe_field, 'fe_users', 'uid='.$GLOBALS['TSFE']->fe_user->user['uid']);
      $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
      $value = strrev(decbin($row[$form->fe_field]));
      
      $nr = explode('_', $markers['###LABEL_NAME###']);
      $nr = end($nr);

      if($value[$nr]==1)$markers['###CHECKED###'] = 'checked="checked" ';
      else $markers['###CHECKED###'] = '';
    }
  }
```

Die fe_users ist durch Spalten vom Typ checkbox erweitert.

Vielleicht kann man das in die nächste Version mit einbauen... kann vielleicht noch optimiert werden, bei mir funktioniert es jedenfalls so, wie gewollt.

### [#16](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/16) · typoDAU · 2009-09-30

möchte mich da auch noch dranhängen.
da in der forge zu dem thema noch nichts zu finden war, habe ich mal eben ein fass aufgemacht:

<http://forge.typo3.org/issues/show/4827>

### [#17](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/17) · einpraegsam.​net · 2009-09-30

Das wurde mit der aktuellen powermail bereits implementiert:
<http://forge.typo3.org/issues/show/3709>

### [#18](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/18) · typoDAU · 2009-09-30

das ist ja klasse!
nur muss ich dann die ursache woanders suchen  :'(

mir ist es bisher weder gelungen, eine selectbox noch checkboxen zu befüllen:

```typoscript
plugin.tx_powermail_pi1.prefill {
	uid123_0 = RECORDS
	uid123_0 {
		wrap = |
		source.data = GPvar:tx_cal_controller|uid
		tables = tx_cal_event
		conf.tx_cal_event = TEXT
		conf.tx_cal_event.field = nameDesFeldes
		}
	
	uid123_1 = RECORDS
	uid123_1 {
		[...]
		}
	}
```

### [#19](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/19) · malisch01 · 2009-09-30

Ich verstehe es auch nicht.  #angry#
Ich will eine Selectbox für die Anrede mit fe_user Daten befüllen.

Also wenn 0 dann Frau und bei 1 Herr selected="selected".

Ist das implementiert? Aus <http://forge.typo3.org/issues/show/3709> werde ich nicht richtig schlau. Dort steht folgendes:

```typoscript
prefill.uid123.selectedIndexes   TEXT /w stdWrap    Fields values (CSV)
prefill.uid123.selectedValues    TEXT /w stdWrap    Fields labels (CSV)
prefill.uid123_12                boolean            Preselects option with index 12
```

Habe es mit

```typoscript
prefill.uid123.selectedIndexes= 0,1
prefill.uid123.selectedValues= Frau,Herr
prefill.uid123_0 = TEXT
prefill.uid123_0 = Frau 
prefill.uid123_1 = TEXT
prefill.uid123_1 = Herr
```

in allen Möglichen Kombinationen versucht. Ein einfaches Beispiel würde mir und Anderen sicher helfen.
Ich werde mir die  Funktion html_select() wohl genauer anschauen, falls ich Zeit finde.

### [#20](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/20) · Julian.​Hofmann · 2009-09-30

Ich gebe zu, die Implementierung ist nicht auf Anhieb verständlich, dafür sollte sie aber größtmögliche Flexibilität bei der Nutzung bieten.

@malisch01 & @typoDAU:
Falls ihr euer echtes TS gepostet habt, dann tauscht bitte noch in "uid*123*" die 123 gegen die Feld-UID, die powermail für euer Feld vergeben hat (zu sehen z.B. via HTML-Quelltext)

@malisch01:
Die drei Möglichkeiten haben jeweils ihre Daseinsberechtigung. Denn je nach Anwendungsfall macht es Sinn
- nach Feldwerten zu selektieren (z.B. weil diese aus einer DB ausgelesen wurden)
- nach Indizes zu selektieren (z.B. weil mittels TS/stdWrap die Selektierung erst ermittelt wird
- einen Wert direkt anzusprechen (z.B. um auch hier alle Möglichkeiten des stdWrap zu haben)

Es reicht, wenn ein Weg gewählt ist. Welcher Option die höchste Priorität hat, weiß ich gerade nicht mehr.

@typoDAU:
Die Selektierung über die einzelnen Punkte ist nur als Boolean möglich. D.h. es wird nur geprüft, ob der TS-Wert gesetzt ist (PHP-Funktion empty() !== false). Die Option hat keine stdWrap-Eigenschaften, d.h. Dein RECORDS-Objekt wird nicht ausgewertet, sondern es wird als Wert der String "RECORDS" gesetzt (dadurch ist die Option nicht leer und es sollten alle Deine Auswahlmöglichkeiten gesetzt sein)

### [#21](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/21) · typoDAU · 2009-10-01

danke julian für dein ausführliches posting  :)

> Falls ihr euer echtes TS gepostet habt, dann tauscht bitte noch in "uid123" die 123 gegen die Feld-UID, die powermail für euer Feld vergeben hat (zu sehen z.B. via HTML-Quelltext)

hihi, nee, das war natürlich nicht original...

das was ich eigentlich vorhatte, klappt also leider nicht...

### [#22](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/22) · Julian.​Hofmann · 2009-10-01

Was hast Du denn vor? So ganz klar wird's mir aus dem TS nicht (zumal ich mich nicht so mit dem cal auskenne). Eigentlich sollte mit den drei Möglichkeiten alles lösbar sein.

### [#23](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/23) · malisch01 · 2009-10-01

> **Julian.Hofmann schrieb:**
>
> @malisch01:
> Die drei Möglichkeiten haben jeweils ihre Daseinsberechtigung. Denn je nach Anwendungsfall macht es Sinn
> - nach Feldwerten zu selektieren (z.B. weil diese aus einer DB ausgelesen wurden)

Genau das habe ich vor.
Aber mit :

```typoscript
plugin.tx_powermail_pi1.prefill {
         uid3.selectedIndexes = 0,1
}
```

funktioniert es nicht. Angemeldeter Fe_user ist eine Frau, es wir aber in der Selectbox Herr angezeigt. Im HTML-Code stehen Herr und Frau als Selected.
Bin für jede Hilfe dankbar.

### [#24](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/24) · Julian.​Hofmann · 2009-10-01

Dein TS definiert genau, dass beide Optionen selected sein sollen - also genau das, was als HTML rauskommt. Die Daten des FE-Users beziehst Du bisher noch nicht mit ein.

Für FE-User ist das Geschlecht als 0/1-Wert in der Spalte *gender* gespeichert. Dieser hat aber nichts mit dem Formularfeld-Index zu tun.

Wenn ich nichts übersehen habe, dann sollte diese Zeile ausreichen:

```typoscript
plugin.tx_powermail_pi1.prefill.uid3.selectedIndexes.data = TSFE:fe_user|user|gender
```

(vorausgesetzt, Deine Auswahlfolge ist so herum, dass die Werte 1:1 mit der gender-Spalte übereinstimmen. Ansonsten wird etwas aufwändiger...)

### [#25](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/25) · malisch01 · 2009-10-01

Ok mit stdwrap Eigenschaft data liest man das entsprechende PHP-Array aus

```typoscript
plugin.tx_powermail_pi1.prefill.uid3.selectedIndexes.data = TSFE:fe_user|user|salutation
```

Hier wird es geholt

```php
$selected = t3lib_div::intExplode(',', $this->cObj->stdWrap($this->conf['prefill.']['uid' . $this->uid . '.']['selectedIndexes'], $this->conf['prefill.']['uid' . $this->uid . '.']['selectedIndexes.']));
```

und in isPrefilled() auf true gesetzt.
Danke jetzt habe ich verstanden.  #giggle#

### [#26](https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox/26) · ZteelBender · 2011-02-15

Hallo zusammen,

kann mir Jemand sagen ob ein Prefill auch mit der Länderauswahl möglich ist? Sprich: eine Selectbox mit Daten aus fe_user|user|static_info_country füllen.

Zum besseren Verständnis, hier mein TypoScript:

```typoscript
plugin.tx_powermail_pi1 {
  prefill {
   	
   	uid2087.selectedIndexes.data = TSFE:fe_user|user|static_info_country
  }
}
```

Zusätzlich zu der TypoScript-Variante habe ich es auch mit der eingebauten Powermail-Funktion versucht: "Dieses Feld mit Daten aus fe_user füllen" -> static_info_country

Beides leider vergeblich.

Bei normalen Selectboxen funktioniert der Prefill tadellos, nur bei der Länderauswahl nicht...

---

Quelle: „powermail: prefill für checkbox / selectbox“, typo3.net, https://www.typo3.net/d/84000-powermail-prefill-fuer-checkbox-selectbox
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
