【问题标题】:Including CSS File in TYPO3 Backend?在 TYPO3 后端包含 CSS 文件?
【发布时间】:2011-07-08 17:15:52
【问题描述】:

我正在尝试将我的级联样式表包含到我的 TYPO3 扩展中。我用“kickstarter”创建了扩展。这是我尝试包含它的方式:

$this->doc->getPageRenderer()->addCssFile(t3lib_extMgm::extRelPath('myExt') . 'res/css/my_stylesheet.css');

我在main() 方法的末尾添加了该行。 那么我做错了什么?包含文件的路径确实存在。

谢谢。

【问题讨论】:

    标签: php css backend typo3


    【解决方案1】:

    如果您想在其他模块中包含 CSS 文件而不修改它,您可以使用 $TBE_STYLES 数组。

    ext_tables.php:

    // Custom CSS include
    if (TYPO3_MODE=="BE")   {
        $TBE_STYLES['inDocStyles_TBEstyle'] .= '@import "/typo3conf/ext/your_ext/res/css/your.css";';
    }
    

    【讨论】:

    • 我更喜欢这个选项,它也适用于没有自己的 BE 模块的扩展。
    • 应该使用\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath() 来获得不依赖于位于域“根”上的实例的解决方案。
    【解决方案2】:

    好的,我终于可以解决问题了。

    在实例化“doc”对象后立即添加代码时,一切正常。

    $this->doc = t3lib_div::makeInstance('mediumDoc');
    $this->doc->getPageRenderer()->addCssFile(t3lib_extMgm::extRelPath('myExt') . 'res/css/my_stylesheet.css');
    

    【讨论】:

      【解决方案3】:

      Belo 给定的技巧将适用于 TYPO3 8.7.X 版本

      Step-1 在 ext_tables.php 文件中添加以下行

      $GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['name'] = $_EXTKEY;
      $GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories']['css'] = 'EXT:'.$_EXTKEY.'/stylesheets/visual/';
      

      步骤 2:在给定路径下定义任意名称的 css 文件(在我们的例子中 它在扩展中的“stylesheets/visual/”)

      【讨论】:

        猜你喜欢
        • 2016-11-03
        • 2019-10-11
        • 1970-01-01
        • 2020-09-14
        • 1970-01-01
        • 2015-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多