禁用TYPO3中的文件压缩:'container'

问题描述:

我一直在努力开发TYPO3扩展。在设计的后端模块我已经注意到,我的CSS和JS外部文件被包含,禁用TYPO3中的文件压缩:'container'

<f:be.container loadJQuery="true" includeCssFiles="{0:'https://ajax.googleapis.com/****'}" includeJsFiles="{0:'https://ajax.googleapis.com/****'}" > 

越来越被压缩,因此设计变成一个烂摊子。 压缩是一种很好的行为。我承认。但是,如何避免它在后端容器或至少外部文件.. ??漫游2天的答案。

从代码来看,使用be.container视图帮助程序并不容易(因为它直接调用$ pageRenderer-> addCssFile,没有选项)。

你可以做的是添加一个自己的viewhelper暴露所有的addCssFile选项。作为一个例子,你的viewhelper可能看起来像这样:

class AddCssFileViewHelper extends AbstractViewHelper 
{ 
    /** 
    * @var PageRenderer 
    */ 
    protected $pageRenderer; 

    /** 
    * @param PageRenderer $pageRenderer 
    */ 
    public function injectPageRenderer(PageRenderer $pageRenderer) 
    { 
     $this->pageRenderer = $pageRenderer; 
    } 

    /** 
    * Initialize arguments. 
    * 
    * @throws \TYPO3Fluid\Fluid\Core\ViewHelper\Exception 
    */ 
    public function initializeArguments() 
    { 
     parent::initializeArguments(); 
     $this->registerArgument('cssFile', 'string', 'path to your file', false, ''); 
     $this->registerArgument('compress', 'bool', 'specifies whether to compress or not, default: true', false, true); 

    } 


    public function render() 
    { 
     $this->pageRenderer->addCssFile($this->arguments['cssFile'], 'stylesheet', 'all', '', $this->arguments['compress']); 
    } 
}