如何使用表单助手提交表单,并且该提交的回复是否包含搜索到的内容的网址?
我提交此代码:
<?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
答案 0 :(得分:2)
您必须进行重定向才能获得此确切的网址。使用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
}
}
请注意,这需要一次额外的往返服务器。