![](/img/trans.png)
[英]How do I create a HTML <table> in Cakephp and have it populate correctly?
[英]Do I have to create 2 different views for search function in cakephp?
我是CakePHP的新手,並希望在我使用CakePHP編寫的網站中擁有一個搜索工具。 我在基本上所有邏輯都在控制器中有search()函數。 因此,在視圖文件夾中,我創建了search.ctp文件,在其中編寫了用於填寫搜索詳細信息的表單代碼。 但是我不知道在哪里編寫顯示搜索結果的代碼。 我是否應該創建另一個.ctp文件,如果是,那么該如何將其與search()函數連接,因為它將具有另一個名稱(而不是search.ctp)? 提前致謝。
這不是必需的,但是無論是否顯示結果,都必須在控制器功能和視圖中都進行切換。
例如,在您的控制器中,您將具有以下內容:
function search()
{
if (!empty($this->data))
{
// .. do search, gather results
$this->set('results', $results);
}
}
$this->data
僅在您輸入表單時填寫。
在您看來,您將編寫如下內容:
if (isset($results))
{
// print table with results
}
else
{
// show search form
}
如果您只需要一個函數/ URL,則更多是出於口味問題。 我個人更喜歡單獨的視圖,因為它減少了if / elses的數量。 同樣,一個搜索表單可以放在很多頁面上,而您只有一個搜索結果頁面。
我認為最好使用兩個單獨的視圖:
function search()
{
if (!empty($this->data))
{
// .. do search, gather results
$this->set('results', $results);
return $this->render('search_results');
}
return $this->render('search_form');
}
然后創建兩個ctp文件search_results.ctp(帶有結果表)和search_form.ctp(帶有搜索表單)
您應該在視圖中使用盡可能少的邏輯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.