将查询字符串传递给cakephp中的蛋糕样式URL并提供HTML的ext

Kar*_*rma 9 php cakephp cakephp-routing cakephp-2.4

我想要实现的目标:

用户通过时:

/results?val=real&x=1&y=0
Run Code Online (Sandbox Code Playgroud)

它应该显示:

/results/real.html?x=1&y=0
Run Code Online (Sandbox Code Playgroud)

从Action我应该仍然能够访问$this->request->query['val']哪些应该等于real

到目前为止我做了什么?

我正在使用CakePHP 2.4

Router::parseExtensions('html');

Router::connect('/results/:val', 
            array('controller'=>'Post','action'=>'results',
'?' => array('val'=>'[A-Za-z0-9]-_ +','x'=>'[0-9]+','y'=>'[0-9]+')));
Run Code Online (Sandbox Code Playgroud)

Ani*_*mar 11

只需在routes.php文件中定义如下所示的路线即可.

Router::connect(
    '/results/:val', 
    array(
        'controller' => 'Post',
        'action' => 'results',
    ), 
    array(
        'pass' => array('val')
    )
);
Run Code Online (Sandbox Code Playgroud)

您可以设置如下所示的参数,以便以您希望的方式生成链接.

echo Router::url(array(
    'controller' => 'Post',
    'action' => 'results',
    'val' => 'real',
    'ext' => 'html',
    '?'  => array('x' => '1', 'y' => '0')
));
Run Code Online (Sandbox Code Playgroud)

哪个显示: results/real.html?x=1&y=0