Как вызвать действие extbase из TypoScript - PullRequest
0 голосов
/ 08 января 2020

Этот вопрос задавался и отвечался много раз через блоги и другие платформы на inte rnet. Тем не менее, кажется, что решения не работают для TYPO3 версии 10 (я думаю, также для версий 7, 8 и 9).

У меня есть класс SpaceController с действием shuttleAction, которые хорошо зарегистрированы и uncached в файле ext_localconf. php.

Вот что я пробовал:

10 = USER_INT
10 {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    extensionName = Navigator
    pluginName = mission
    vendorName = Orbit

    switchableControllerActions {
        Space{
            1 = shuttle
        }
    }
}

Я получаю ошибку;

(1/2) #1278450972 TYPO3\CMS\Extbase\Reflection\Exception\UnknownClassException
Class does not exist. Reflection failed.

Класс, плагин, расширение и поставщик существуют и фактически используют их для других действий, которые работают. Однако не удается выбрать действие с помощью typoscript из класса.

Я пробовал то же самое с другими контроллерами и действиями, но ни один из них не работает с этим методом.

Пытаюсь выполнить действие через TypoScript. Как мне вызвать действие контроллера из TypoScript? Я использую TYPO3 версии 10. Я считаю, что методы для версий 8 или 9 также могут работать для версии 10. Я пробовал то же самое с этими версиями безрезультатно.

Следующий метод работает, но выбирает первый ( default) action.

10 = USER
10 {

    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    vendorName = Orbit
    extensionName = Navigator
    pluginName = mission
}

Если я добавлю controller и action, action игнорируется в пользу значения по умолчанию action.

10 = USER
10 {

    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    vendorName = Orbit
    extensionName = Navigator
    pluginName = mission
    controller = Space
    action = shuttle
}

Я хотел бы выберите заданное действие c для выполнения.

1 Ответ

0 голосов
/ 08 января 2020

После нескольких часов поиска и экспериментов становится ясно, что в данный момент невозможно выбрать действие с помощью TypoScript. Однако есть обходной путь.

Для всех, кто ищет решение этой проблемы,

  1. Создайте новую запись плагина в ext_localconf. php для контроллера и выполняйте действие, которое вы выполняете. want.
  2. Убедитесь, что требуемое действие является первым (по умолчанию) в списке.
  3. Ссылка на этот плагин в вашем TypoScript.

Надеюсь, это поможет кто то.

Любой, у кого есть лучшее решение, может предложить его или улучшить.

...