2017-01-03 10 views
1

私はTYPO3拡張の開発に取り組んできました。バックエンドモジュールを設計しながら、私は含まれており、私のCSSやJS外部ファイル、TYPO3でファイル圧縮を無効にする 'be:container'

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

が圧縮取得され、結果として設計が混乱に回すことを観察したのです。 圧縮は良い動作です。私はそれを認めます。しかし、どのようにバックエンドのコンテナで、または少なくとも外部ファイルのためにそれを避けることができますか?答えを2日間放浪する。

答えて

2

これは、be.containerビューヘルパー(これは$ pageRenderer-> addCssFileをオプションなしで直接呼び出すため)では簡単にできません。

あなたができることは、すべてのaddCssFileオプションを公開する独自のビューヘルパーを追加することです。たとえば、ビューヘルパーは次のようになります。

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']); 
    } 
} 
関連する問題