« Return to Thread: localized url's

localized url's

by Andries Seutens :: Rate this Message:

Reply to Author | View in Thread


Hi all,

Sorry to bring this topic up again...

I have a little issue with the url helper and route matching. I think
this is a critical missing feature / bug.
I'm going to try to explain my issue by example:

My bootstrap file:

----------

set_include_path('./ZendFramework-1.5.1/library');

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoLoad();

$frontController = Zend_Controller_Front::getInstance();
$frontController->addControllerDirectory('./application/controllers')
    ->throwExceptions(true)
    ->returnResponse(true);

$router = $frontController->getRouter();
$router->addRoute('foo', new Zend_Controller_Router_Route(
    ':lang/foo',
    array(
        'lang'       => 'nl',
        'controller' => 'index',
        'action'     => 'index'
    )
));

$router->addRoute('bar', new Zend_Controller_Router_Route(
    ':lang/bar',
    array(
        'lang'       => 'nl',
        'controller' => 'index',
        'action'     => 'index'
    )
));

$response = $frontController->dispatch();
$response->sendHeaders()
    ->outputBody();

----------

My template file:

----------

<?php echo $this->url(array(), 'foo') ?>
<br />
<?php echo $this->url(array(), 'bar') ?>

----------

when i call: http://mydomain/nl/bar
the output is:

/nl/foo
/nl/bar

which is good!

if i call: http://mydomain/en/foo
the output is

/en/foo
/en/bar

which is good too!

the problem occurs when the last route in the row is matched (in this
case: 'bar')

http://test/en/bar

output:

/nl/foo
/en/bar

works for all routes after the matched one, but not the ones before.....

In order for this to work I would need to pass in the 'lang' parameter:

<?php echo $this->url(array('lang' =>
Zend_Controller_Front::getInstance()->getRequest()->getParam('lang')),
'foo') ?>

So, in other words: I am unable to take a url param into each route and
use it with the url helper?

Best,



Andriesss




Gecontroleerd op virussen door de JOJO Secure Gateway.

 « Return to Thread: localized url's

LightInTheBox - Buy quality products at wholesale price!