2013-12-18 76 views
1

我正在開發應用程序,我需要從數據庫中獲取顏色屬性的值(十六進制值)以使其自定義。
我搜索互聯網上我發現我可以使用CSS文件作爲PHP文件,包括該行css文件如何在yii中從數據庫獲取變量的CSS值?

<?php 
header("Content-type: text/css;"); 
$bannerColor="#b229b6"; 
?> 

當我選擇在上面的代碼旗幟顏色的話,我表現出來的CSS選擇這樣

的解決方案
#banner { 
    background-color:<?php echo $bannerColor; ?>; 
    width: 100%; 
    height: 436px; 
} 

它工作正常。但是,當我嘗試在php代碼(在此php文件的頂部)中寫入查詢時,css在我使用此文件的主頁上出現亂序。當我刪除查詢代碼時,它的工作正常,如前所述。
我的問題是
1.我可以在此文件中使用$banner= Color::model()->findAll();嗎?如果是,那麼我在這裏做錯了什麼?
2.如果不能使用,那麼如何完成這個任務?
感謝您的幫助。

+0

更新了答案: –

回答

2

Yourcss.php沒有內YII情況下,您可以:

在你的主(佈局)文件,從數據庫中獲取你的價值,並把到一個cookie:

$banner= Color::model()->findAll(); 
$_COOKIE['bgColor'] = get your value from $banner 

在yourcss .php文件你應該從cookie中獲得這個值:

<style> 
#banner { 
background-color: <?php echo $_COOKIE['bgColor']; ?>; 
width: 100%; 
height: 436px; 
} 
</style> 
+0

謝謝,對我很好。我唯一改變你的代碼是使用Yii :: app() - > request-> cookies ['bgColor'] = new CHttpCookie('bgColor',$ bannerColor)來編寫cookies。 –

+1

幹得好!別客氣!問候。 –

+0

它不適合我。 :( –

相關問題