CakePHP 1.3 Проблема маршрутизации - PullRequest
0 голосов
/ 02 декабря 2010

Невозможно исправить маршрут из следующих:

Router::connect('/ctl/act/subact/:mode/:sort'       
, array('controller' => 'ctl', 'action' => 'act_subact',
'mode' => null , 'sort' => null));

-

$html->link('go',array('controller'=>'ctl','action'=>'act_subact'))

-

<a href="/ctl/act_subact/">go</a>

Как мне это сделать?Конверт: CakePHP 1.3.6 php5.2.5 на apache2

1 Ответ

2 голосов
/ 02 декабря 2010

Маршрут /ctl/act/subact/:mode/:sort означает, что должны быть параметры :mode и :sort.Этот маршрут не будет соответствовать URL /ctl/act/subact/.Если имеются необязательные параметры, их необходимо обозначить звездочкой: /ctl/act/subact/*.Этот маршрут будет соответствовать URL-адресам /ctl/act/subact/, /ctl/act/subact/foo и /ctl/act/subact/foo/bar.

Если вам нужны эти необязательные параметры в качестве именованных параметров, вам необходимо создать несколько маршрутов для каждой возможной "длины":1011 *

Router::connect('/ctl/act/subact/:mode/:sort', array('controller' => 'ctl', 'action' => 'act_subact', 'mode' => null, 'sort' => null));
Router::connect('/ctl/act/subact/:mode', array('controller' => 'ctl', 'action' => 'act_subact', 'mode' => null));
Router::connect('/ctl/act/subact/', array('controller' => 'ctl', 'action' => 'act_subact'));
...