2013-01-07 140 views
0

可能有人請告訴我在CakePHP的2.x的

我目前已經分開我的樣式表到PHP文件可在CakePHP的2.x的一個CSS文件中使用PHP目前的方法和希望通過URL解析我的數據,但我似乎無法找出如何使用

$this->Html->css('dynamic-stylesheet') 

,因爲它總是附加的CSS的名字聯繫起來。

非常感謝您的幫助。

回答

3

您可以通過使用HtmlHelper::meta()

echo $this->Html->meta(array(
    'link' => '/css/test.php', 
    'rel' => 'stylesheet', 
    'type' => 'text/css' 
)); 

請注意,您需要明確地將其引導到/css目錄,因爲你不再使用一個輔助方法專門針對CSS生成的標籤。

1

查看位於lib/Cake/View/Helper/HtmlHelper.php的CakePHP庫中的Html幫助程序文件,查看第427行,看起來像.css擴展是自動設置的,除非在CSS中有兩個斜槓文件名。我猜GUESS是爲了捕獲外部資源?

從上述庫文件:

if (strpos($path, '//') !== false) { 
    $url = $path; 
} else { 
    $url = $this->assetUrl($path, $options + array('pathPrefix' => CSS_URL, 'ext' => '.css')); 

    if (Configure::read('Asset.filter.css')) { 
     $pos = strpos($url, CSS_URL); 
     if ($pos !== false) { 
      $url = substr($url, 0, $pos) . 'ccss/' . substr($url, $pos + strlen(CSS_URL)); 
     } 
    } 
} 

所以這個..

echo $this->Html->css('http://whatever.com/css/dynamic-stylesheet.php'); 

將會使動態stylesheet.php文件,而不是默認爲「動態stylesheet.css中。

不確定這是什麼意圖,但也許該文件將幫助你。