Router :: url ile Trouble () adında parametreleri kullanarak

1 Cevap php

Ben CakePHP'nin HtmlHelper aşağıdaki yolu ile düz basit bağlantıları üreten ediyorum:

$html->link("Newest", array(
            'controller' => 'posts',
            'action' => 'listView',
            'page'=> 1,
            'sort'=>'Question.created',
            'direction'=>'desc',
    ));

: Aşağıdaki rota kural olması

Router::connect('/foobar/*',array(
        'controller' => 'posts',
        'action' => 'listView'
));

Bağlantı güzel /foobar/page:1/sort:Question.created/direction:desc şeklinde oluşturulur. Ben istiyorum gibi, bunun yerine denetleyicisi / eylem isimleri benim URL önekini kullanır.

Ancak, bazı bağlantılar için ben bu gibi parametreleri adında eklemelisiniz:

$html->link("Newest", array(
            'controller' => 'posts',
            'action' => 'listView',
            'page'=> 1,
            'sort'=>'Question.created',
            'direction'=>'desc',
            'namedParameter' => 'namedParameterValue'
    ));

Bu durumda bağlantı /posts/listView/page:1/sort:Question.created/direction:desc/namedParameter:namedParameterValue işaret eder. Ama benim URL-s contoller / eylem adları istemiyorum, neden Cake bu durumda benim router yapılandırma olarak göz ardı edilir?

1 Cevap

Oldukça belgesiz, ama mentioned, bu münhal:

Router::connectNamed(array('namedParameter', 'page', 'sort', 'direction'));