Как получить rootline / breadcrumb в плагине Frontent Extbase в TYPO3 - PullRequest
0 голосов
/ 02 марта 2020

Есть ли способ работать с dataProcessing / MenuProcessor в плагине внешнего интерфейса Extbase в TYPO3 9?

Я хочу построить корневую линию страницы в плагине. Я знаю, как сделать это в контексте страницы или в элементе tt-content, но могу ли я получить его и в плагине?

Я попробовал следующее в настройке своего плагина, но это не работает:

plugin.tx_extensions_show {
    view {
        ...
        dataProcessing {
            10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
            10 {
                special = rootline
                special.range = 1|-1
                includeNotInMenu = 1
                as = rootline
            }
        }
    }
}

Ответы [ 2 ]

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

На основе подсказки из Loek , чтобы сделать это в контроллере, а не в шаблоне жидкости, я нашел свое собственное решение для получения корневой строки в массиве и передачи ее моему Шаблон жидкости для TYPO3 9:

    $rootLineUtility = new \TYPO3\CMS\Core\Utility\RootlineUtility($GLOBALS['TSFE']->id);
    $rootline = $rootLineUtility->get();
    $this->view->assign('rootline', $rootline);
0 голосов
/ 03 марта 2020

Внутри вашего кода плагина вы можете получить корневую строку в массиве:

// ($MP and $this->context are optional)
$rootline = GeneralUtility::makeInstance(RootlineUtility::class, $uid, $MP, $this->context);
$rootlinePages = $rootline->get();

Теперь вы можете передавать $ rootlinePages в шаблон FLUID.

Hth.

...