【问题标题】:Typo3 backend loads the frontend templateTypo3 后端加载前端模板
【发布时间】:2015-07-30 21:03:09
【问题描述】:

我将自己的构建扩展复制到了新的 Typo3 安装中,但现在后端模板不再正确生成。在“旧”安装中,它仍在工作。该扩展在使用列表模板的后端有一个配置菜单。它应该加载以下模板:

/ext/resources/backend/customers/list.html

但扩展程序会加载以下内容:

/ext/resources/customers/list.html

在 ext_tables.php 中注册如下:

if (TYPO3_MODE === 'BE') {

    /**
     * Registers a Backend Module
     */
    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
        'MTR.' . $_EXTKEY,
        'user',  // Make module a submodule of 'user'
        'mtcus',    // Submodule key
        '',                     // Position
        array(
            'Customers' => 'list',
        ),
        array(
            'access' => 'user,group',
            'icon'   => 'EXT:' . $_EXTKEY . '/ext_icon.gif',
            'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_mtcus.xlf',
        )
    );
}

【问题讨论】:

  • 问题是由数据库中的空sys_template表引起的,因为后端css是从那里加载的。
  • 我有同样的问题,但删除现有的空 sys_template 并没有解决我的问题。 :(

标签: typo3


【解决方案1】:

经过大量调查和参考,我可以找到插件的问题。当我使用 Extension Builder 创建后端模块时,创建的默认 TS 配置类似。例如考虑扩展键是 testextension 并且 BE 模块键是 custommodulebe 在 TS 文件中注册模块模板路径。

IN constants.txt 文件

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

IN setup.txt

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

修正我们只需要在这个模块中定义扩展键 配置。

更正的解决方案 constants.txt

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

setup.txt

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

【讨论】:

    【解决方案2】:

    尝试实现扩展的静态 TypoScript 模板。

    【讨论】:

      猜你喜欢
      • 2015-03-01
      • 2020-04-27
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多