我在我的 AppHelper.php 中使用以下代码将语言参数注入到使用 HtmlHelper 创建的链接中
public function url($url = null, $full = false) {
if(!isset($url['language']) && isset($this->params['language'])) {
$url['language'] = $this->params['language'];
}
return parent::url($url, $full);
}
它工作正常,但是当我进入索引操作时,网址变为something.com/some_controller/index
如果我不覆盖 url 方法,那么 url 就是something.com/some_controller
这些是我的路线
Router::connect('/:language/:controller/:action/*',
array(),
array('language' => 'eng|fra'));
Router::connect('/:language/:controller',
array('action' => 'index'),
array('language' => 'eng|fra'));
Router::connect('/:language',
array('controller' => 'pages', 'action' => 'display'),
array('language' => 'eng|fra'));
我正在调用这样的链接方法
$this->Html->link(__('Users'), array('controller'=>'users', 'action'=>'index'))';
我在没有操作参数的情况下尝试了它
$this->Html->link(__('Users'), array('controller'=>'users'))';
没有操作参数,但如果我在同一控制器管理的页面上,它会添加当前操作
如果它是索引操作,我怎样才能使操作的名称不会成为 url 的一部分?