为 typo3 自定义扩展配置全屏后端模块

Configure full screen backend module for typo3 custom extension

我是 typo3 扩展开发的新手,我已经用 extension_builder 和后端模块创建了扩展。

ext_tables.php

if (TYPO3_MODE === 'BE') {

        \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
            'USER.Webuser',
            'web', // Make module a submodule of 'web'
            'bewebuser', // Submodule key
            '', // Position
            [
                'Users' => 'list, show, new, create, edit, update, delete',
            ],
            [
                'access' => 'user,group',
                'icon'   => 'EXT:' . $extKey . '/Resources/Public/Icons/user_mod_bewebuser.svg',
                'labels' => 'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_bewebuser.xlf',
            ]
        );

    }

错别字:

# Setting up template
module.tx_webuser_web_webuserbewebuser {
    persistence {
       storagePid = {$module.tx_webuser_bewebuser.persistence.storagePid}
    }
    view {
        templateRootPaths = EXT:webuser/Resources/Private/Backend/Templates/
        partialRootPaths = EXT:webuser/Resources/Private/Backend/Partials/
        layoutRootPaths = EXT:webuser/Resources/Private/Backend/Layouts/
    }
}

它的工作文件。这是我的 BE 模块:

但是,我想创建包括页面树在内的完整区域。谁能告诉我如何删除自定义扩展使用的页面树?我想将整个区域用于我的自定义扩展。

提前致谢!

看了一下into the source,看来你可以在registerModule的最后一个参数中添加选项'navigationComponentId' => '',来得到你想要的。

编辑:2021-02-10。 对于 TYPO3 10,您需要另外将 'inheritNavigationComponentFromMainModule' => false 添加到列表中。我假设仅当主模块(在本例中为 web)激活了页面树时才适用。

在您的示例中,它将是:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
    'USER.Webuser',
    'web', // Make module a submodule of 'web'
    'bewebuser', // Submodule key
    '', // Position
    [
        'Users' => 'list, show, new, create, edit, update, delete',
    ],
    [
        'access' => 'user,group',
        'icon'   => 'EXT:' . $extKey . '/Resources/Public/Icons/user_mod_bewebuser.svg',
        'labels' => 'LLL:EXT:' . $extKey . '/Resources/Private/Language/locallang_bewebuser.xlf',
        'navigationComponentId' => '',
        'inheritNavigationComponentFromMainModule' => false,
    ]
);