1

In TYPO3 CMS 6.2.17, I used Extension Builder to make an Extbase extension that has a frontend plugin and a backend module. I built a localhost website with two pages: id=1 is a standard page; and id=2 is a folder. The standard page has the site's root TypoScript template, and that template includes my extension's static file.

I activated my Extbase extension in the Web module. When I selected my extension and the folder page (id=2), I saw a populated listing display from the default controller and action; but the display was using the frontend Fluid layout, not the backend layout. I want the backend layout for its Fluid actionMenu in the "typo3-docheader-functions" div class.

I can't seem to get the backend Fluid layout for the display. I've selected the standard page (empty listing display as expected) and even the site root page (id=0) (also empty listing display), but they both use the frontend Fluid layout, too.

I've cleared all caches and cleaned typo3temp/ in the Install Tool. I've deactivated and reactivated my extension in Extension Manager. I've tried solutions suggested in TYPO3 Extbase backend module. Template path issue and even TYPO3 4.5 extbase test backend module. Nothing has worked so far. I've even gone through the site's Install Tool "all configuration" settings, but saw nothing I thought could affect the backend display problem.

The code is straight from Extension Builder, but here are some excerpts.

ext_tables.php:

if (TYPO3_MODE === 'BE') {

    /**
     * Registers a Backend Module
     */
    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
        'MyVendor.' . $_EXTKEY,
        'web',
        'myextbe',  // Submodule key
        '',                     // Position
        array(
            'Import' => 'list, show, new, create, edit, update, delete',
            'Pages' => 'list, show',
        ),
        array(
            'access' => 'user,group',
            'icon'   => 'EXT:' . $_EXTKEY . '/ext_icon.gif',
            'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_myextbe.xlf',
        )
    );

}

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'My Ext');

myext\Configuration\TypoScript\constants.txt:

module.tx_myext_myextbe {
    view {
        # cat=module.tx_myext_myextbe/file; type=string; label=Path to template root (BE)
        templateRootPath = EXT:myext/Resources/Private/Backend/Templates/
        # cat=module.tx_myext_myextbe/file; type=string; label=Path to template partials (BE)
        partialRootPath = EXT:myext/Resources/Private/Backend/Partials/
        # cat=module.tx_myext_myextbe/file; type=string; label=Path to template layouts (BE)
        layoutRootPath = EXT:myext/Resources/Private/Backend/Layouts/
    }
    persistence {
        # cat=module.tx_myext_myextbe//a; type=string; label=Default storage PID
        storagePid =2
    }
}

myext\Configuration\TypoScript\setup.txt:

 # Module configuration
module.tx_myext_myextbe {
    persistence {
        storagePid = {$module.tx_myext_myextbe.persistence.storagePid}
    }
    view {
        templateRootPath = {$module.tx_myext_myextbe.view.templateRootPath}
        partialRootPath = {$module.tx_myext_myextbe.view.partialRootPath}
        layoutRootPath = {$module.tx_myext_myextbe.view.layoutRootPath}
    }
}
4

1 回答 1

4

全部替换module.tx_myext_myextbetomodule.tx_myextplugin.tx_myext_myextfeto plugin.tx_myext

module.tx_myext_myextbe在 6.2.x 中是无效的符号 - 结果 Extbase 找不到它并尝试默认模板路径,即前端之一

常量.txt

module.tx_myext {
    view {
        # cat=module.tx_myext/file; type=string; label=Path to template root (BE)
        templateRootPath = EXT:myext/Resources/Private/Backend/Templates/
        # cat=module.tx_myext/file; type=string; label=Path to template partials (BE)
        partialRootPath = EXT:myext/Resources/Private/Backend/Partials/
        # cat=module.tx_myext/file; type=string; label=Path to template layouts (BE)
        layoutRootPath = EXT:myext/Resources/Private/Backend/Layouts/
    }
    persistence {
        # cat=module.tx_myext//a; type=string; label=Default storage PID
        storagePid = 2
    }
}

安装程序.txt

module.tx_myext {
    persistence {
        storagePid = {$module.tx_myext.persistence.storagePid}
    }
    view {
        templateRootPath = {$module.tx_myext.view.templateRootPath}
        partialRootPath = {$module.tx_myext.view.partialRootPath}
        layoutRootPath = {$module.tx_myext.view.layoutRootPath}
    }
}

TypoScript 对象浏览器

[module]
  [tx_myext]
   [view]
    [templateRootPath] = EXT:myext/Resources/Private/Backend/Templates/
    [partialRootPath] = EXT:myext/Resources/Private/Backend/Partials/
    [layoutRootPath] = EXT:myext/Resources/Private/Backend/Layouts/
于 2016-05-07T04:17:03.250 回答