我覺得我有足夠的CI經驗,最終開始創建一個留言板,或者至少這是我的想法,直到我被困在根據主題名稱(slu generating)生成動態頁面。使用CI創建動態頁面URL(路由) - 一個簡單的留言板示例
因此,我創建了控制器/模型/視圖並設置了一個表單,將必要的信息提交給數據庫。我將線程拉出來並顯示出來,並根據主題標題生成每個鏈接的鏈接......我基本上遵循CI教程,對其進行編輯以適合我的需求。
但是,理解生成動態頁面URL的概念正在拋棄我。通過聽到這個過程中發生了什麼,我明白了很多,並且codeigniter教程(新聞)不能很好地解釋它。它只是告訴你要做什麼以及如何做,而不是爲什麼。
任何人都會感受到試圖更詳細地解釋動態頁面編碼的過程。
我通過動態頁面的意思是:
http://your-site.com/news/1/hello-world http://your-site.com/news/1/foo-bar
這裏的hello world和Foo吧。
下面是混淆了我一些部分:
<?php
class Pages extends CI_Controller {
public function view($page = 'home')
{
}
}
而且繼承人的路由
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
是什麼$ 1分別表示?有哪些具體的網址?你什麼時候用2美元?它是以CI的代碼構建的,還是可以使用任何變量?
我敢肯定,答案可以得到更詳細的,但如果有人可以回答上述一些問題,我相信它會非常有幫助。
從理論上講,回答這些問題應該如何爲論壇主題創建新頁面?
謝謝!
謝謝,但就此展開。當「測試」不存在爲php文件時會發生什麼。如果你希望它是基於線程主題創建的。 CI如何處理這種情況? – 2012-03-20 14:17:42
測試永遠不會以php文件的形式存在。它只是url中的一個部分,將被設置爲$ page變量。然後,您可以在您的方法中查詢您的數據庫,以基於該段找到線程。 – Catfish 2012-03-20 14:19:38
另外,如果你使用'public function view($ page)'而不是'public function view($ page ='home')',這意味着你必須有第三個段,但是如果你設置var等於某事,這意味着如果該段沒有在url中傳遞,它將被默認爲方法調用中設置的值,如你的例子中所做的那樣。 – Catfish 2012-03-20 14:21:08