2017-05-15 20 views
0

我從一個php文件(custom2.php)動態生成css並將其內容類型設置爲「text/css」以在客戶端視圖中呈現css。此php文件位於webroot目錄內的css文件夾中。當我用完整的路徑加載它時,它工作的很好。但是,當我使用Html助手加載PHP文件。它會自動附加「.css」擴展名。由於其中,Apache不使PHP文件,並把它作爲默認的css文件..如何在CakePHP中有選擇地從Html-> css方法中刪除.css擴展?

當我完整路徑加載(它的工作原理)是這樣的: -

<link rel="stylesheet" href="/Project1/css/custom2.php" /> 

但當我加載它在標準CakePHP的方式(它不工作)是這樣的: -

echo $this->Html-css("$mycss"); 
/* It loads file after adding .css extension(custom2.php.css) which i don't want */ 

我從控制器(index動作)傳遞PHP文件是這樣的: -

$this->set('mycss','custom2.php'); 

但是,添加css擴展是Html助手的默認行爲,我希望它保持如此,除非我連接任何php文件。是否有任何內聯方法禁用在特定情況/條件下生成css擴展?

PS:我想使用標準的cakephp方法來加載CSS,以避免與不同的控制器和視圖斷開鏈接問題。

+0

你不能這樣做,使用'$這個 - > HTML的「CSS()'。 –

+0

@AIPDTECH我該怎麼做呢? –

回答

2

您可以使用$this->webroot作爲基礎URL。所以你的情況

<link rel="stylesheet" href="<?php echo $this->webroot; ?>css/custom2.php" />

,如果你想COMPLE網址,試試這個

<link rel="stylesheet" href="<?php echo Router::url('/', true); ?>css/custom2.php" />

+1

太好了。有效。非常感謝。 –