Route from Zend_Router_Route_Regex with optional parameters returns only default values

53 Views Asked by At

I want to create route that matches:

search-results/result_Abc
search-results/result_Abc,11
search-results/result_Abc,2,3,4,6

and so on. In other words - I want to have default values when link doesn't provide them. Route like:

search-results/result_([a-zA-Z]+)[,(\d+)]{1,8}

or

search-results/result_([a-zA-Z]+)(\,\d+){1,8}

works, but doesn't catch any parameter from link (I get only defaults).

So far only working solution (that requires providing all parameters) I could manage to write is listed below.

new Zend_Controller_Router_Route_Regex(
                        'search-results/result_([a-zA-Z]+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)',
                        array(
                            'module'=>'www',
                            'controller'=>'index', 
                            'action'=>'searchresults', 
                            'city' => 'wszystkie',
                            'distance' => 0,
                            'driversLicense' => 0,
                            'smoking' => 1,
                            'experience' => 0,
                            'languageKnowledge' => 0,
                            'timeDeparture' => 0,
                            'age' => 0,
                            'page' => 1

                            ),               
                        array(
                                '1'=>'city',
                                '2'=>'distance',
                                '3'=>'driversLicense',
                                '4'=>'smoking',
                                '5'=>'experience',
                                '6'=>'languageKnowledge',
                                '7'=>'timeDeparture',
                                '8'=>'age',
                                '9'=>'page'

                            )                                 
                    )
0

There are 0 best solutions below