TYPO3: в контроллере действий, как определить, выполняется ли действие в бэкэнде или во фронтенде?

Это, наверное, довольно просто, но я не знаю, где искать ответ. Предположим, что одно и то же действие используется как во внешнем, так и во внутреннем интерфейсе, или предположим, что мне нужно различное поведение в initializeAction для внешнего интерфейса и для внутреннего интерфейса, как я могу проверить, вызывается ли действие из внутреннего интерфейса или из внешнего интерфейса?

Кстати, я использую extbase и TYPO3 6.1.0.


person Charles Brunet    schedule 11.05.2013    source источник


Ответы (1)


это может быть определено константой TYPO3_MODE (предварительный просмотр для примера ext_tables.php, созданного Builder)

Это, например, означает, что вы пытаетесь вызвать скрипт «извне»:

if (!defined('TYPO3_MODE')) {
    die ('Access denied.');
}

Другое довольно частое состояние:

if (TYPO3_MODE == 'BE') {
    // this will execute only in the backend...
}

В любом случае, я действительно советую создавать отдельные действия или даже контроллеры для FE и BE, если вы решите использовать одно действие для обоих режимов, вам будет неудобно, как только вы напишете несколько расширений.

person biesior    schedule 11.05.2013