TYPO3 Backend / Пользовательский рендеринг вкладокPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 TYPO3 Backend / Пользовательский рендеринг вкладок

Сообщение Anonymous »

Это может быть действительно амбициозная задача.
Я пытаюсь расширить функцию "renderTabMenu" из
"vendor/typo3/cms-backend/Classes/Form/Container /AbstractContainer.php" с моими собственными шаблонами.
Проблема в том, что для этого нет встроенного решения, хотя шаблоны в некотором роде встроены. (комментарий в исходном коде)

Я уже пытался найти решение с помощью прослушивателей событий или расширить дочерний класс TabsContainer, но пока безуспешно.
Вот функция отрисовки шаблона.

Код: Выделить всё

protected function renderTabMenu(array $menuItems, $domId, $defaultTabIndex = 1)
{
// @todo: It's unfortunate we're using Typo3Fluid TemplateView directly here. We can't
//        inject BackendViewFactory here since __construct() is polluted by NodeInterface.
//        Remove __construct() from NodeInterface to have DI, then use BackendViewFactory here.
$view = GeneralUtility::makeInstance(TemplateView::class);
$templatePaths = $view->getRenderingContext()->getTemplatePaths();
$templatePaths->setTemplateRootPaths([GeneralUtility::getFileAbsFileName('EXT:backend/Resources/Private/Templates')]);
$templatePaths->setPartialRootPaths([GeneralUtility::getFileAbsFileName('EXT:backend/Resources/Private/Partials')]);
$view->assignMultiple([
'id' => $domId,
'items' => $menuItems,
'defaultTabIndex' => $defaultTabIndex,
'wrapContent' => false,
'storeLastActiveTab' => true,
]);
return $view->render('Form/Tabs');
}
Моя цель — использовать собственный партиал для рендеринга внутренних вкладок, расположенный по адресу

Resources/Private/Backend/Partials/ModuleTemplate/Tabs.html
Есть ли у кого-нибудь идеи, как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -rendering
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»