2010-07-01 15 views
0

新手PHP問題之間的圖cakephp的形式的數據,會話和再利用2種方法在同一控制器

我有在其中返回的東西用戶搜索和一堆結果的文本框(search()方法)當我點擊一個鏈接時,我想要顯示一些更多的信息(控制器中的searchMore()方法) 。

問題

1)如何我可以回到同一search.ctp頁面,而不是創建一個新的search_more.ctp的?使用元素或PHP包括?使用重定向? 2)當我從searchMore()返回時,如何在文本框中保留用戶輸入數據? cakephp是否爲會話等提供了任何助手?

感謝

回答

1

你的問題看起來像一個pagination problem.The最簡單的解決辦法是,分頁搜索結果只有兩個使用Paginator Helper頁面,那麼你可以輕鬆將其切換到各個other.Another方法是Ajax solution其進行分頁像Twitter。

更新:(你最好把你的答案的評論。)

好吧,如果我理解正確的話,你有相同的DC型,相同的搜索條件,但你把他們同時指出錯誤行爲你需要他們使用相同的視圖文件。

問題1),則可以通過使用您的more_search行動做載體作用render

$this->render('search'); 

對於問題2),您可以在兩個操作之間傳遞用戶輸入數據作爲參數,也可以將它們存儲在session中。

但是看起來有點奇怪。就我所見,一個更好的解決方案是在一個動作中完成你的工作,因爲你有相同的條件和相同的輸出格式。那麼這將是一個關於分頁的工作。

0

我經常在做這樣的事情 - 比如PhpMyAdmin中的插入記錄機制(再次用25條記錄開始)。

searchMore(),使用$this->render('search');這會將您送回原始視圖。通過如下變量:

$this->set('searchMore',true);在您的searchMore()方法中。

在視圖中,根據需要使用條件(if($searchMore){...})在視圖中根據需要顯示替代HTML。

相關問題