typo3在后端添加主菜单

时间:2017-11-29 14:08:40

标签: php configuration typo3 typo3-8.7.x

我正在尝试将新的主模块条目添加到typo3后端左侧的模块导航中。我在网上发现这应该可以通过::addModule方法进行。 我这样想:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule(
    'test',
    'sub',
    '',
    '',
    [
       'labels' => 'LLL:EXT:eh_bootstrap/Resources/Private/Language/locallang_mod_testxy.xlf',
        'name' => 'test',
        'iconIdentifier' => 'eh-bootstrap-icon',
        'access' => 'user,group'
    ]
);

读完ExtensionManagementUtility - 类后,如果没有知道具有该特定名称的方法,该方法应该添加一个新的主模块。

现在:如果我将$sub参数留空,则应该在菜单中添加一个空白主模块。但是,如果我这样做,则不显示任何内容。使用$sub参数,将添加一个新的主模块及其子模块。

但是,主模块没有标签,我打算用于主模块的标签和图标现在标记子模块。

Typo3 Main Module has no label

这是lang文件:

<?xml version="1.0" encoding="UTF-8"?>
    <xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
        <file t3:id="1415816898" source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="lang">
        <header/>
            <body>
                <trans-unit id="mlang_labels_tablabel">
                    <source>Testxy stuff</source>
                </trans-unit>
                <trans-unit id="mlang_tabs_tab">
                    <source>Testxy</source>
                </trans-unit>
            </body>
        </file>
     </xliff>

关闭标头标签让我有点失望,但是typo3中的其他xlf文件也有这个,所以我猜它有一个目的。我主要是从网络模块的lang文件中复制了这个。

很难找到Typo3的良好开发指南,到目前为止还没有人帮我解决这个问题。任何线索,我在这里可能会缺少的是欣赏。

添加:

我现在也尝试了

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
    'EHAERER.' . $_EXTKEY,
    'test',
    'ehbootstrap',
    '',
    [],
    [
       'labels' => 'LLL:EXT:eh_bootstrap/Resources/Private/Language/locallang_mod_testxy.xlf',
        'name' => 'test',
        'iconIdentifier' => 'eh-bootstrap-icon',
        'access' => 'user,group'
    ]
);

方法,因为它当前将子模块添加到空白标记的主模块中。如果省略子模块键,我的图标和标签将应用于主模块和空白子模块

1 个答案:

答案 0 :(得分:1)

在ext_tables.php中使用以下内容注册了一个支持的模块(或者至少我已经这样做了。)

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
    'DEMO.' . $_EXTKEY,
    'web', // Make module a submodule of 'web'
    'm2', // Submodule key
    '', // Position
    array(
        'Demo' => 'list, new, delete, edit',
    ),
    array(
        'access' => 'user,group',
        'icon'   => 'EXT:' . $_EXTKEY . '/ext_icon.gif',
        'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_m2.xlf',
    )
);