2010-10-05 22 views
1

有沒有辦法在codeigniter中爲不同的頁面創建一個動態的正文ID來將空格轉換爲破折號?在CodeIgniter中創建一個正文ID

我一直在論壇和搜索引擎,但我沒有運氣。

這裏是我的代碼:

<body id="{$template.title}"> 

這裏是輸出:

<body id="About us"> 

我希望它是:

<body id="about-us"> 

讓我知道謝謝

回答

2

你能解釋一下,或許你爲什麼要這樣做?如果您嘗試使用JavaScript獲取頁面的標題,則可以使用document.title輕鬆完成。如果你想擁有一個唯一的ID值,你可以把它放在一個ID爲「page_value」或類似的隱藏的輸入框中,或者你可以簡單地把它放在一個全局的JavaScript變量中。如果您希望在不使用flashdata的情況下將頁面的id值傳遞給POST請求中的下一頁,則可以將其放在名稱爲「page_value」或類似名稱的隱藏輸入框中。如果你想暫時存儲數據CI中的下一個頁面加載,你可以使用CI的flashdata在會話類:

http://codeigniter.com/user_guide/libraries/sessions.html

但是,如果你想給身體一個唯一的ID取決於什麼頁面(儘管我認爲這種方法有點誤導),但您必須查看模板系統的插入方法。您可以在您的模板類中創建一個輔助標題,該標題採用標題值並刪除空白字符並用破折號替換它。就像這樣:

function stringURLSafe($string) 
    { 
     //remove any ' ' from the string and replace with '-' 
     $str = str_replace(' ', '-', $string); 

     // lowercase and trim 
     $str = trim(strtolower($str)); 
     return $str; 
    } 
+1

這個答案是正確的。一個建議是使用url段來替代身份標識的頁面標題的修改版本,假設您使用它來編寫特定於about頁面的CSS樣式。網址段可能已經「大約」或類似的東西,所以爲什麼不使用它呢? http://codeigniter.com/user_guide/libraries/uri.html – Marcus 2010-10-06 00:37:20