Discussion:
[TYPO3-english] Form - preview in backend throws exception
Thomas Boehm
2018-01-22 13:43:00 UTC
Permalink
Hi all,

I'm trying to get the Form extension in version 8.7.9 to work. If I
create a simple form with only one text field I can put it on a page and
it shows in the frontend.

However, If I try to preview this form in the backend, Typo3 throws an
exception "#1297759968: Exception while property mapping at property
path "": No converter found which can be used to convert from "string"
to "array"." and in the Apache log I can see an error 500.

I also tried a blank Typo3 8.7.9 installation as well as the latest dev
version 8.7.10 from Github.

From what I can see in the Typoscipt Analyzer, the YAML registration for
the backend and frontend is done automatically. I didn't register my own
configuration yet as there is none yet.

Can someone point me into the right direction, what steps I missed,
please? Find below the complete error message from the backend.

Thanks
Thomas

Uncaught TYPO3 Exception
#1297759968: Exception while property mapping at property path "": No
converter found which can be used to convert from "string" to "array".
(More information)

TYPO3\CMS\Extbase\Property\Exception thrown in file
/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Property/PropertyMapper.php
in line 127.

14
TYPO3\CMS\Extbase\Property\PropertyMapper::convert("{"renderingOptions":{"submitButtonLabel":"LOS"},"t…d"}},"validators":[{"identifier":"NotEmpty"}]}]}]}",
"array", TYPO3\CMS\Extbase\Mvc\Controller\MvcPropertyMappingConfiguration)


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Mvc/Controller/Argument.php:

00268: }
00269: try {

00270: $this->value =
$this->propertyMapper->convert($rawValue, $this->dataType,
$this->propertyMappingConfiguration);

00271: } catch (TargetNotFoundException $e) {
00272: // for optional arguments no exeption is thrown.


13
TYPO3\CMS\Extbase\Mvc\Controller\Argument::setValue("{"renderingOptions":{"submitButtonLabel":"LOS"},"t…d"}},"validators":[{"identifier":"NotEmpty"}]}]}]}")


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Mvc/Controller/AbstractController.php:

00421: $argumentName = $argument->getName();
00422: if ($this->request->hasArgument($argumentName)) {

00423:
$argument->setValue($this->request->getArgument($argumentName));

00424: } elseif ($argument->isRequired()) {
00425: throw new
\TYPO3\CMS\Extbase\Mvc\Controller\Exception\RequiredArgumentMissingException('Required
argument "' . $argumentName . '" is not set for ' .
$this->request->getControllerObjectName() . '->' .
$this->request->getControllerActionName() . '.', 1298012500);


12
TYPO3\CMS\Extbase\Mvc\Controller\AbstractController::mapRequestArgumentsToControllerArguments()


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php:

00168: call_user_func([$this, $actionInitializationMethodName]);
00169: }

00170: $this->mapRequestArgumentsToControllerArguments();

00171: $this->controllerContext = $this->buildControllerContext();
00172: $this->view = $this->resolveView();


11
TYPO3\CMS\Extbase\Mvc\Controller\ActionController::processRequest(TYPO3\CMS\Extbase\Mvc\Web\Request,
TYPO3\CMS\Extbase\Mvc\Web\Response)


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Mvc/Dispatcher.php:

00083: $controller = $this->resolveController($request);
00084: try {

00085: $controller->processRequest($request, $response);

00086: } catch
(\TYPO3\CMS\Extbase\Mvc\Exception\StopActionException $ignoredException) {
00087: }


10
TYPO3\CMS\Extbase\Mvc\Dispatcher::dispatch(TYPO3\CMS\Extbase\Mvc\Web\Request,
TYPO3\CMS\Extbase\Mvc\Web\Response)


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Mvc/Web/BackendRequestHandler.php:

00030: /** @var $response
\TYPO3\CMS\Extbase\Mvc\ResponseInterface */
00031: $response =
$this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class);

00032: $this->dispatcher->dispatch($request, $response);

00033: return $response;
00034: }


9 TYPO3\CMS\Extbase\Mvc\Web\BackendRequestHandler::handleRequest()


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Core/Bootstrap.php:

00197: $requestHandler =
$requestHandlerResolver->resolveRequestHandler();
00198:

00199: $response = $requestHandler->handleRequest();

00200: // If response is NULL after handling the request we need
to stop
00201: // This happens for instance, when a USER object was
converted to a USER_INT


8 TYPO3\CMS\Extbase\Core\Bootstrap::handleRequest()


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/extbase/Classes/Core/Bootstrap.php:

00184: {
00185: $this->initialize($configuration);

00186: return $this->handleRequest();

00187: }
00188:


7 TYPO3\CMS\Extbase\Core\Bootstrap::run("", array)


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php:

00180: // Run Extbase
00181: $bootstrap =
GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Core\Bootstrap::class);

00182: $content = $bootstrap->run('', $configuration);

00183:
00184: $response->getBody()->write($content);


6
TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::dispatchModule("web_FormFormbuilder")


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php:

00087:
00088: $moduleName = (string)$this->request->getQueryParams()['M'];

00089: return $this->dispatchModule($moduleName);

00090: }
00091:


5
TYPO3\CMS\Backend\Http\BackendModuleRequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/core/Classes/Core/Bootstrap.php:

00313:
00314: // Execute the command which returns a Response object or
NULL

00315: $this->response = $requestHandler->handleRequest($request);

00316: return $this;
00317: }


4
TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/backend/Classes/Http/Application.php:

00090: }
00091:

00092: $this->bootstrap->handleRequest($this->request);

00093:
00094: if ($execute !== null) {


3 TYPO3\CMS\Backend\Http\Application::run()


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/backend/Resources/Private/Php/backend.php:

00022: $classLoader = require __DIR__ .
'/../../../../../../vendor/autoload.php';
00023:

00024: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run();

00025: });


2 {closure}()


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/backend/Resources/Private/Php/backend.php:

00023:
00024: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run();

00025: });


1
require("/var/www/html/testsystem8/typo3_src-8.7.9/typo3/sysext/backend/Resources/Private/Php/backend.php")


/var/www/html/testsystem8/typo3_src-8.7.9/typo3/index.php:

00001: <?php
00002:

00003: require __DIR__ .
'/sysext/backend/Resources/Private/Php/backend.php';

Loading...