Как использовать DataHandler в Symfony командном контроллере в TYPO3 - PullRequest
1 голос
/ 17 марта 2020
class RemoveHiddenPages extends Symfony\Component\Console\Command\Command 
{

  protected function execute(InputInterface $input, OutputInterface $output)
  {
      Bootstrap::initializeBackendAuthentication();
      $uid = someuid;
      $cmd['pages'][$uid]['delete'] = 1;
      $dataHandler = GeneralUtility::makeInstance(DataHandler::class);
      $dataHandler->start([], $cmd);
      $dataHandler->process_cmdmap(); 
      // ....

Я пытаюсь запустить команду из командной строки. Это приводит к исключению:

Tue, 17 Mar 2020 10:14:15 +0100 [CRITICAL] request="684c29a15bc6b" component="TYPO3.CMS.Core.Error.DebugExceptionHandler": 
Core: Exception handler (CLI): Uncaught TYPO3 Exception: Argument 1 passed to
TYPO3\CMS\Core\Session\Backend\DatabaseSessionBackend::update() must be of the type string, null given, 
called in /site/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php on line 1311 
| TypeError thrown in file /site/typo3/sysext/core/Classes/Session/Backend/DatabaseSessionBackend.php in line 159 
- {"exception":{"xdebug_message":"\nTypeError: Argument 1 passed to 
TYPO3\\CMS\\Core\\Session\\Backend\\DatabaseSessionBackend::update()
must be of the type string, null given, called in ....

В DataHandler::deletePages() отправляется сообщение fla sh. Это кажется причиной проблемы, так как сеанс не инициализирован. Можно ли использовать DataHandler в контроллерах команд?

Пример основан на:

Я использую TYPO3 9.5.14

1 Ответ

0 голосов
/ 17 марта 2020

Вы можете взглянуть на in2code / миграции. Существует вызов DataHandler для перемещения страниц с помощью команды symfony: https://github.com/einpraegsam/migration/blob/master/Classes/Command/DataHandlerCommand.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...