2011-06-05 40 views
1

如何提交使用窗體助手的格式,並有提交的答覆有什麼搜索的網址是什麼?CakePHP的表單提交與結果網址

我提交此代碼:

<?php echo $form->create('Search', array('action' => 'results', 'type' => 'post')); ?> 
    <?php 

      $options = array 
      (
       'size' => 45, 
       'id' => 'search', 
       'tabindex' => 1, 
       'maxlength' => 250 
      ); 

      echo $form->text('Search.query', $options); 
     ?> 

所以,當我提交表單上寫着「Hello World」的,我希望得到的網址是:

[domain]/searches/results/Hello+World 

回答

2

你將不得不做重定向來獲取這個確切的URL。使用GET提交表單將導致/searches/results?SearchQuery=Hello+World。對於我的口味,這將是完全足夠了,但如果你想有一個漂亮的URL,這樣做在你的控制器:

class SearchesController extends AppController { 
    public function results($query = null) { 
     if (!$query && $this->data) { 
      $this->redirect(array('action' => 'searches', $this->data['Search']['query'])); 
     } 

     // search 
    } 
} 

注意,這需要一個額外的往返到服務器。

+0

我遇到麻煩時,我尋找的是有一個空間......話似乎不可思議 – cdub 2011-06-05 05:03:42

+0

什麼麻煩,特別?例子? – deceze 2011-06-05 05:06:05

+0

沒關係,有一些緩存問題和調試代碼搞亂東西 – cdub 2011-06-05 05:10:42