2013-10-20 23 views
0

這是我的結構。有沒有辦法跟蹤我在cakephp中調用的css文件?

Layout --| 
     View---| 
      Element1, Element2, Element3 

在Element1,2和3中,我在最上面有以下設置。

$this->append('pageCss'); 
echo $this->Html->css('left_navi/left_navi'); 
$this->end('pageCss'); 

根據如何在視圖中排列Element1,2和3,存在冗餘。

Element1,2和3也用於多個視圖。

我想避免不必要地調用css文件。有沒有辦法做這樣的事情:

if ($thisCssFileNotUsedBefore) 
     echo $this->Html->css('left_navi/left_navi'); 

請指教。

回答

0

感謝ten1在cakephp irc頻道的線索。

我用以下解決方案:

1)首先,我寫了這個自定義助手

<?php 
App::uses('AppHelper', 'View/Helper'); 

class AssetsHelper extends AppHelper { 

    public $cssFiles = array(); 

} 

2)確保調用它作爲助手在AppController中

3)內各種元素都這樣做。

if (!in_array('left_navi/left_navi', $this->Assets->cssFiles)) { 
    echo $this->Html->css('left_navi/left_navi'); 
    $this->Assets->cssFiles[] = 'left_navi/left_navi'; 
} 
相關問題