Я использую следующий код в моем AppHelper.php, чтобы ввести параметр языка в связь, созданной с HtmlHelperCakePHP не показывать индекс действий в URL
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);
}
Это работает нормально, но когда я иду действие индексировать URL становится 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-адреса, если это действие индекса?
Спасибо, что это именно то, что мне нужно! –