我正在使用Yii,但我試圖理解一個很好的邏輯來實現這一點,所以即使你不是Yii熟練的人,我也可以使用幫助。根據給定的db記錄顯示一個css類
我們有那些事件類型有可能包含特殊字符,名稱:
「AMCA」
「阿里Çulo」
等等
我不能簡單抓住這些名稱並靜態調用視圖中的模型以顯示這些名稱,因爲我將得到一個無效的CSS類。
型號:
/**
* @desc Get Event Type Name normalized.
* @param int $id
* @return object
*/
public function getEventTypeName($id) {
return normalizer_normalize(self::model()->findByPk($id)->name);
}
的觀點:
<p class="event-resume-<?= function_exists('normalizer_normalize') ? EventType::getEventTypeName($data->event->type) : '';?>"></p>
我試着用戶normalizer_normalize但是,它不會與「阿里Çulo」由於詞之間的空間中工作。
的邏輯問題:
我們可以創建一個說的方法:
如果ID爲1,然後返回名爲「nameoftype1」
常量字符串如果ID爲2,則返回一個名爲「nameoftype2」的常量字符串
但是這不是一個好方法,因爲如果我們以後有另一個數據庫是其他id的,對應於其他類型,我們需要改變這個方法aga在。
這裏有什麼更好的方法?
我應該提供更多信息嗎?請指教。
是否要加載以事件命名的CSS文件,即。 'ali_culo.css'? – adamors
@Örs號我希望只返回一個字符串以便將其作爲類名。然後,在css上,我們可能會有:'.event-resume-ali-culo {// csshere}' – MEM