[TYPO3-german] Formhandler erkennt ###field_xxx### nicht

E. G. eg at teamgeist-medien.de
Fri Dec 16 23:01:09 CET 2016


Hallo,
sooo neu bin ich ja nun nicht, jedoch komme ich derzeit nicht weiter.

Mein eigentliches Ziel ist es mit PHP ermittelte "Werte" in einem Formular zu nutzen.
Zum Verständnis als Beispiel: Ich hole mir x Daten aus einer Datenbank und möchte diese in einem Dropdown-Feld in einem Formular nutzen.
Bzw. wenn ein User das Formular ausfüllt, soll ein Link generiert werden, den der Nutzer in der von ihm angegebenen E-Mail bestätigen muss (damit man sicher sein kann, dass es auch wirklich seine E-Mail ist).

Nun habe ich mich im Internet mal schlau gemacht und bin zu dem Entschluss gekommen in dem Controller (Extbase) diesen Link zu generieren (der nur x Minuten gültig ist, aber das ist erstmal unwichtig).
Also binde ich Flexform im Controller Flexform ein (weil der generierte Link ja per E-Mail verschickt werden soll und ich die Daten aus der DB in dem Formular als z. B. Dropdown haben möchte).

[code]
/**
 * MeinController
 */
class MeinController extends ActionController {

	/**
	 * meinRepository
	 *
	 * @var \Mein\Namespace\Domain\Repository\MeinRepository
	 * @inject
	 */
	protected $meinRepository = NULL;

	/**
	 * action list
	 *
	 * @return void
	 */
	public function listAction() {
		$this->includeFormhandler();
	}

// Habe ich aus dem Internet
	private function includeFormhandler() {
		// Formhandler einbinden
		require_once(ExtensionManagementUtility::extPath('formhandler') . 'pi1/class.tx_formhandler_pi1.php');
		// Neue Instanz erzeugen
		$formhandler = new \tx_formhandler_pi1();

		// Dem Formhandler ein cObj geben
		$formhandler->cObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer');

		// Die TypoScript Konfiguration abrufen
		// Dabei zu beachten: die Punkte am Ende der Keys
		$config = $GLOBALS["TSFE"]->tmpl->setup['plugin.']['tx_meineExtension.']['formhandler.'];

		// Rendern des Forumlars
		$form = $formhandler->main('nameMeinesNeuenFormhandlerTemplates', $config);
		unset($config, $formhandler);

		// Die gerenderte Form an das Template übergeben
		$this->view->assign('form', $form);
	}
}
[code]

Im TS-Setup unter "plugin.tx_meineExtension.formhandler." steht nur
[code]
plugin {
	tx_meineExtension {
		formhandler < plugin.Tx_Formhandler
		formhandler.settings {
			templateFile = EXT:meineExtension/Resources/Private/Templates/ext/formhandler/nameMeinesNeuenFormhandlerTemplates.html
			langFile = EXT:meineExtensionl/Resources/Private/Templates/ext/formhandler/nameMeinesNeuenFormhandlerTemplates.xml
		}
         }
}
[/code]

Das ist nameMeinesNeuenFormhandlerTemplates.html:
[code]
<!-- ###TEMPLATE_FORM1### begin -->
###ERROR###
<div id="formhandler_app_form">
	<h1>FORM BLABLA 123</h1>
	<div style="width: 100%; height: 200px; background-color: gray">
		<form id="validator-form" method="post" action="###REL_URL###" enctype="multipart/form-data">
			<input type="hidden" name="formhandler[submitted]" value="1"/>
			<div class="row">
				###field_input-required_name;col-lg-12 col-md-12 col-sm-12 col-xs-12###
			</div>
			<div class="row">
				<div class="col-lg-4 col-lg-offset-8 col-md-4 col-md-offset-8 col-sm-5 col-sm-offset-7 col-xs-8 col-xs-offset-2">
					###field_submit###
				</div>
			</div>
		</form>
	</div>
</div>
<!-- ###TEMPLATE_FORM1### end -->

<!-- ###TEMPLATE_EMAIL_ADMIN_HTML### begin -->
<html>
</html>
<!-- ###TEMPLATE_EMAIL_ADMIN_HTML### end -->

<!-- ###TEMPLATE_EMAIL_USER_HTML### begin -->
<html>
</html>
<!-- ###TEMPLATE_EMAIL_USER_HTML### end -->

<!-- ###TEMPLATE_SUBMITTEDOK### begin -->
<!-- ###TEMPLATE_CONFIRMATION### begin -->
<p>Thank you for your email.</p>
<!-- ###TEMPLATE_CONFIRMATION### end -->
<!-- ###TEMPLATE_SUBMITTEDOK### end -->
[/code]

Jedoch kommen im Frontend die hidden-fields an, nur die ###fields_x### nicht =(
Bzw. kennt jemand einen besseren und einfacheren Weg ein ausgefülltes Formular zu bestätigen und dass ich auch erst dann benachrichtigt werde, dass es jemand ausgefüllt hat?

Ich wäre sehr dankbar über eine hilfreiche Antwort!
Gruß!


More information about the TYPO3-german mailing list