---
title: "femanager erweitern um multiselect checkbox"
url: "https://www.typo3.net/d/118346-femanager-erweitern-um-multiselect-checkbox"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage","femanager"]
created: "2014-07-01"
last_reply: "2015-03-31"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# femanager erweitern um multiselect checkbox

Extensions · 3 Antworten · gestartet 2014-07-01

## Eröffnungsbeitrag

**sini** · 2014-07-01 · [Beitrag #1](https://www.typo3.net/d/118346-femanager-erweitern-um-multiselect-checkbox/1)

Ich versuche grade, femanager um felder zu erweitern, sämtliche Felder funktionieren auch wie gewünscht, nur die Multiselect checkbox leider nicht.

Angezeigt werden erstmal alle Optionen, aber bedauerlicherweise werden nach dem Speichern alle checkboxen angehakt.

Ich habe mich an diese Anleitung gehalten <http://docs.typo3.org/typo3cms/ExtbaseGuide/Fluid/ViewHelper/Form/Checkbox.html>, aber die _construct-Funktion wird leider niemals aufgerufen und sämtliche checkboxen werden mit dem Namen name="tx_femanager_pi1[user][artDetails]" angezeigt, anstatt mit name="tx_femanager_pi1[user][artDetails][]. Wie könnte man dieses Problem lösen?

## Antworten

### [#2](https://www.typo3.net/d/118346-femanager-erweitern-um-multiselect-checkbox/2) · boOgiE · 2015-02-04

Ich abe das selbe Problem, gibts ne lösung hierfür?

### [#3](https://www.typo3.net/d/118346-femanager-erweitern-um-multiselect-checkbox/3) · einpraegsam.​net · 2015-02-05

Wie sieht das Partial mit den Checkboxes aus?

### [#4](https://www.typo3.net/d/118346-femanager-erweitern-um-multiselect-checkbox/4) · boOgiE · 2015-03-31

Hi, bin gerade nochmal über diesen Thread gestoßen, hier meine Lösung:
Ich habe die Änderungen direkt im femanager gemacht, ich weiß das ist nicht mehr updatefähig, aber das ist erstmal nebensächlich, das ganze auf eine provider extension zu übertragen sollte man hinbekommen ;)

Ich habe mir meine Anpassungen in eine Readme gepackt:

/*******************************************************************************

Adding field 'information by mail' to registration for ...

/*******************************************************************************
 * file: ext_tables.sql
 * add info_mail to table 'fe_users'
 */

```php
CREATE TABLE fe_users (
	...
	info_mail varchar(255) DEFAULT '' NOT NULL,
);
```

/*******************************************************************************
 * file: ext_tables.php
 * added infoMail to TCA of fe_users
 */

```php
$tempColumns = array (
	...
	'info_mail' => array (
		'exclude' => 1,
		'label' => 'LLL:EXT:femanager/Resources/Private/Language/locallang_db.xlf:tx_femanager_domain_model_user.infoMail',
		'config' => array (
			'type' => 'select',
			'items' => array(
				array('LLL:EXT:femanager/Resources/Private/Language/locallang.xlf:tx_femanager_domain_model_user.infoMail.0', 0),
				array('LLL:EXT:femanager/Resources/Private/Language/locallang.xlf:tx_femanager_domain_model_user.infoMail.1', 1),
			),
			'minitems' => 0,
			'maxitems' => 999, 
			'renderMode' => 'checkbox',
		)
	),
);
...
$fields .= ', info_mail';
```

/*******************************************************************************
 * file: Classes/Domain/Model/User.php
 * added infoMail to User-Model
 */

```php
/**
 *
 * @var \string
 */
protected $infoMail;

/**
 * sets infoMail
 * 
 * @param string $infoMail
 * @return void
 */
public function setInfoMail($infoMail){
	$this->infoMail = $infoMail;
}

/**
 * returns infoMail
 * 
 * @return string $infoMail
 */
public function getInfoMail(){
	return $this->infoMail;
}
```

/*******************************************************************************
 * file: Classes/Controller/NewController.php
 * added implode and set value for infoMail to user
 */

```php
public function createAction(User $user) {
	if ($this->request->hasArgument('infoMail')) {
		$user->setInfoMail(implode(',', $this->request->getArgument('infoMail')));
	}
	...
}
```

/*******************************************************************************
 * file: Configuation/TypoScript/Main/setup.txt
 * added config for amount of checkboxes
 */

```typoscript
settings {
	...
	misc {
		...
		# Number of infoMail options, if overwrite default(2) don't forget to add locallang values in TS or .xlf
		infoMailOptionAmount = 2
	}
	...
}
```

/*******************************************************************************
 * file: Configuation/Flexforms/FlexFormPi1.xml
 * added infoMail to Flexform
 */

```xml
<settings.new.fields>
	...
	<items type="array">
		...
		<numIndex index="20" type="array">
			<numIndex index="0">LLL:EXT:femanager/Resources/Private/Language/locallang_db.xlf:tx_femanager_domain_model_user.infoMail</numIndex>
			<numIndex index="1">infoMail</numIndex>
		</numIndex>
	</items>
	...
</settings.new.fields>
```

/*******************************************************************************
 * file: Resources/Private/Language/locallang.xlf
 * added default FE labels to locallang
 */

```xml
<trans-unit id="tx_femanager_domain_model_user.infoMailLabel">
	<source>I would like to receive information by email about</source>
</trans-unit>
<trans-unit id="tx_femanager_domain_model_user.infoMail.1">
	<source>Option 1</source>
</trans-unit>
<trans-unit id="tx_femanager_domain_model_user.infoMail.2">
	<source>Option 2</source>
</trans-unit>
```

/*******************************************************************************
 * file: Resources/Private/Language/locallang_db.xlf
 * added default BE labels to locallang_db
 */

```xml
<trans-unit id="tx_femanager_domain_model_user.infoMail">
	<source>Information by email</source>
</trans-unit>
```

/*******************************************************************************
 * file: Resources/Private/Partial/Fields/InfoMail.html
 * added partial for field
 */

```html
{namespace femanager=In2\Femanager\ViewHelpers}
{namespace v=Tx_Vhs_ViewHelpers}
<div class="femanager_fieldset femanager_firstname control-group">
	<label for="femanager_field_infoMail" class="control-label">
		<f:translate key="tx_femanager_domain_model_user.infoMailLabel" />
		<f:if condition="{femanager:Misc.IsRequiredField(fieldName: 'infoMail', actionName: actionName)}">
			<span>*</span>
		</f:if>
	</label>
	<v:iterator.for from="1" to="{settings.misc.infoMailOptionAmount}" iteration="i">
		<div class="controls">
			<f:form.checkbox
				id="femanager_field_infoMail_{i.index}"
				name="infoMail[]"
				class="" 
				value="<v:math.subtract a='{i.index}' b='1' fail='1' />" />
			<f:translate key="tx_femanager_domain_model_user.infoMail.{i.index}" />
		</div>
	</v:iterator.for>
</div>
```

---

Quelle: „femanager erweitern um multiselect checkbox“, typo3.net, https://www.typo3.net/d/118346-femanager-erweitern-um-multiselect-checkbox
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
