在 TYPO3 中禁用文件压缩 'be:container'

Disabling file compression in TYPO3 'be:container'

我一直在开发 TYPO3 扩展。在设计后端模块时,我观察到我的 css 和 js 外部文件包含在

<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']);
    }
}