2016-11-11 3 views
7

Ich habe mehrere Routen für verschiedene Gegenden:Zend übersetzt Routen

Beispiel:

Strecke für/de

$routes['industry'] = array(
    'route' => 'branche/:type', 
    'defaults' => array(
     'module' => 'default', 
     'controller' => 'index', 
     'action' => 'branche', 
     'type' => 'automobil' 
    ), 
    'reqs' => array(
     'type' => '(automobil|textil)' 
    ) 
); 

Strecke für/en

$routes['industry'] = array(
    'route' => 'industry/:type', 
    'defaults' => array(
     'module' => 'default', 
     'controller' => 'index', 
     'action' => 'branche', 
     'type' => 'car' 
    ), 
    'reqs' => array(
     'type' => '(car|textile)' 
    ) 
); 

Es ist möglich, irgendwie habe nur eine Route statt 2 in diesem Fall?

Hinweis ist nicht nur die Route, die sich ändert, auch der Typ auf den Anforderungen und der Standardtyp.

Antwort

1

Ich sehe zwei verschiedene Routen gibt Normalerweise sind die Internationalisierung auf der Seite ist aber nicht auf die URL

mich klar sein, Lassen Sie, halten Sie Ihre URL und mit einem Parameter in der URL kennen Sie die Sprache der Seite so

$routes['industry'] = array(
    'route' => 'industry/:lang/:type', 
    'defaults' => array(
     'module' => 'default', 
     'controller' => 'index', 
     'action' => 'branche', 
     'type' => 'car', 
     'lang' => 'en' 
    ), 
    'reqs' => array(
     'lang' => '(en|de)', 
     'type' => '(car|textile)' 
    ) 
); 

und in Abhängigkeit des Parameters lang angezeigt werden Sie die richtige Nachricht auf dem Zweig oder phtml oder html

Einen anderen Weg, um diese Änderung der uRL zu tun ist:

$routes['industry'] = array(
    'route' => ':industry/:type', 
    'defaults' => array(
     'module' => 'default', 
     'controller' => 'index', 
     'action' => 'branche', 
     'type' => 'car', 
     'industry' => 'industry' 
    ), 
    'reqs' => array(
     'industry' => '(industry|branche)', 
     'type' => '(car|textile)' 
    ) 
); 
+0

, die nicht die URL Übersetzung nicht löst. Wird immer "Industrie" auf der URL und nicht "Branche" sein. – costa

+0

ist es zwingend erforderlich, dass die URL geändert wird? In diesem Fall sollten Sie zwei Routen machen. Meiner Erfahrung nach behalten Sie Ihre URL immer in einer Sprache und ändern den Inhalt je nach Sprache, aber natürlich ist jede Realität anders und hat andere Bedürfnisse. Wenn Sie auch die URL ändern müssen, müssen Sie zwei Routen erstellen oder Branch | Branch ist ein Parameter zu. Ich bearbeite die Antwort auf die Lösung 2 – Emiliano

Verwandte Themen