我有一个搜索表单,它使用搜索控制器/模型。
echo $this->Form->create('Search', array('action' => 'query', 'type' => 'get'));
...
echo $this->Form->end();
但默认情况下,表单会提交到'/searches/query'
。如何将搜索页面的网址改为/search/query
?
如果可能,我真的不想使用.htaccess重写,因为这看起来有点混乱。希望有一种整洁的蛋糕方式来做到这一点。
我认为这可以通过bootstrap.php中的自定义Inflector规则来完成,但我不确定如何。
答案 0 :(得分:2)
只需使用路由器即可。在路线文件中,添加:
Router::connect('/search/:action/*', array('controller' => 'searches'));
Router::connect('/search/*', array('controller' => 'searches', 'action' => 'index'));
详细了解路由器in the book。
答案 1 :(得分:0)
没有办法说出来:
echo $this->Form->create('Search', array('action' => 'search/query', 'type' => 'get'));
然后为此设置路由器?
$this->Router->('search/query', array('controller' => 'searches', 'action' => 'query'));