Trzeci parametr powinien być opcjonalny, chcę aby każdy adres http://www.strona.pl/szkolenie/1/388/dowol...iag-z-literowka
przekierowywał na http://www.strona.pl/szkolenie/1/388/excel...ny-podstawy-vba
To co wymyśliłem to klasa routera zdefiniowana w application.ini
resources.router.routes.instance.type = "Zend_Controller_Router_Route_Regex" resources.router.routes.instance.route = "szkolenie/(\d{1,2})/(\d{1,3})(?:/(\w+))?" resources.router.routes.instance.defaults.controller = szkolenie resources.router.routes.instance.defaults.action = index resources.router.routes.instance.map.1 = "instance" resources.router.routes.instance.map.2 = "training" resources.router.routes.instance.map.3 = "nazwa" resources.router.routes.instance.reverse = "szkolenie/%d/%d" ;resources.router.routes.instance.reverse = "szkolenie/%d/%d/%s"
Wywołanie w widoku:
$this->url(array('training' =>$rekord->id, 'instance'=>$id_training, 'nazwa' => 'excel-2007-10-poziom-zaawansowany-podstawy-vba'), 'instance', false)
W powyższym przypadku w widoku dostaje link bez trzeciego parametru (nazwa), jeśli odkomentuje ostatnią linię z applcation.ini to wyrzuca mi błąd:
Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'Cannot assemble. Too few arguments?' in C:\php\includes\Zend\Controller\Plugin\Broker.php on line 336