Zum Inhalt springen

flexform - settings - Select

Erstellt am 27. November 2013 · 2 Antworten · letzte Antwort am 28. November 2013

Tags: Extbase, FlexForms, TYPO3 6.x, Frage

jochla ·

Hallo,

ich möchte testweise den Wert eines Select-Feldes aus dem BE-Formular (flexform) im FE ausgeben, um zu sehen ob und wie der Wert im Template ankommt.

flexform-Definition:

<settings.flexform.mainRegion>
	<TCEforms>
		<label>...</label>
		<onChange>reload</onChange>
		<config>
			<type>select</type>
			<items type="array">
				<numIndex index="0" type="array">
					<numIndex index="0">Alle Reviere</numIndex>
					<numIndex index="1">0</numIndex>
				</numIndex>
			</items>
			<foreign_table>tx_sccruiseplan_domain_model_mainregion</foreign_table>
			<foreign_table_where>ORDER BY main_region_name</foreign_table_where>
			<minitems>0</minitems>
			<maxitems>1</maxitems>
		</config>
	</TCEforms>
</settings.flexform.mainRegion>

Controller.php

/**
 * @var Tx_Extbase_Configuration_ConfigurationManagerInterface
 */
protected $configurationManager;

/**
 * action list cruises
 *
 * @return void
 */
public function listAction() {
	$cruises = $this->cruiseRepository->findAll();
	$this->view->assign('cruises', $cruises);
	$settings = $this->settings['flexform']['mainRegion'];
	$this->view->assign('settings.mainRegion', $settings);
}

Template List.html

<f:for each="{cruises}" as="cruise">
	...
	<td class="td-1">{settings.mainRegion}</td>
	...
</f:for>

Im Frontend kommt aber nichts an, die Tabellenspalte ist leer. Wo mache ich den Fehler?

Johannes.

Thomaslav · · Beste Antwort

hi Jochla,

ich greif im Template immer direkt auf die Werte im Flexform zu ohne den Umweg über einen Assign. D.h. wenn ich ein Feld im Flexform definiere

<settings.myfield>
<TCEform>
....
</TCEform>
</settings.myfield>

dann greif ich immer im Template über {settings.myfield} darauf zu.

Probier doch mal {settings.flexform.mainRegion} als Aufruf direkt im Template.

Grüße
Thomas

jochla ·

Hallo Thomas,

super, danke für den Tipp, funktioniert einwandfrei! :-)
Warum auch einfach, wenn's umständlich auch geht ;-)

Gruß, Johannes.