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