turk porno porno escort rokettube
Ergebnis 1 bis 2 von 2

Thema: zend lang parameter in dynamische navigation

  1. #1
    Benutzer
    Registriert seit
    12.09.2013
    Beiträge
    34
    Thanks
    0
    Thanked 1 Time in 1 Post

    Standard zend lang parameter in dynamische navigation

    Hallo Leute

    ich möchte in meine Navigation die Language Parameter übergeben aber weiss nicht wie. ich habe in der view folgendes:

    PHP-Code:
    <?php
    $localeList 
    = array('de''en''fr''it');
     foreach (
    $localeList as $locale): ?>
      <?php $url $this->url('i18n', array('lang' => $locale)); ?>  
     <a href="<?php echo $url?>" class="btn btn-primary">  
    <?php echo $locale?></a><?php endforeach; ?>
    Das erzeugt eine url:
    http://mysite/lang/fr
    http://mysite/lang/de


    Mein Route Config sieht so aus:
    PHP-Code:
    'router'          => array(
            
    'routes' => array(
                
    'customer' => array(
                    
    'type'          => 'Literal',
                    
    'options'       => array(
                        
    'route'    => '[/:lang]/blog',
                        
    'defaults' => array(
                            
    'controller' => 'blog',
                            
    'action'     => 'index',
                        ),
                    ),
                    
    'may_terminate' => true,
                    
    'child_routes'  => array(
                        
    'action' => array(
                            
    'type'    => 'segment',
                            
    'options' => array(
                                
    'route'       => '[/:lang]/:action[/:id]',
                                
    'constraints' => array(
                                    
    'lang' => '(de|en)',
                                    
    'action'  => '[a-zA-Z][a-zA-Z0-9_-]*',
                                    
    'id'      => '[0-9]*',

                                ),
                            ),
                        ),
                        
    'page'   => array(
                            
    'type'    => 'segment',
                            
    'options' => array(
                                
    'route'       => '/:page',
                                
    'constraints' => array(
                                    
    'page'  => '[0-9]*',
                                ),
                            ),
                        ),
                    ),
                ),
            ),
        ), 
    Meine Config-Navi:
    PHP-Code:
     'navigation' => array(
            
    'default' => array(
                
    'customer' => array(
                    
    'type'       => 'mvc',
                    
    'order'      => '500',
                    
    'label'      => 'blogverwaltung',
                    
    'route'      => 'blog',
                    
    'controller' => 'blogr',
                    
    'action'     => 'index',
                    
    'pages'      => array(
                        
    'action' => array(
                            
    'type'       => 'mvc',
                            
    'route'      => 'blog/action',
                            
    'visible'    => false,
                        ),
                    ),
                ),
            ),
        ), 
    Jetzt möchte ich in den Modul Blog so eine Url erzeugen:

    http://mysite/blog/de
    http://mysite/blog/de/edit/2

    Kann jemand mir ein tipp geben wie das language parameter übergebn werden kann?
    vielen Dank

  2. #2
    Erfahrener Benutzer
    Registriert seit
    18.05.2012
    Beiträge
    156
    Thanks
    5
    Thanked 29 Times in 22 Posts

    Standard

    Warum ist denn lang sowohl in der customer-Route als auch in dessen child-Route "actions"? Da ist doch ein lang zu viel.

    Wenn die Frage darauf abzielte, wie du den "lang"-Wert in der Navigation setzen könntest, dann ginge es mittels "params", siehe Pages — Zend Framework 2 2.4.8 documentation - Zend Framework Das wäre dann aber natürlich keine "dynamische" Navigation. Soll "lang" von dem abhängig sein, was aktuell aufgerufen wird, kannst du useRouteMatch verwenden. Muss mit dem Wert "true" entsprechend in der Navigationskonfiguration vermerkt werden.

    Gleiches gilt dann auch bei Verwendung des Url-View-Helpers, siehe View Helper - URL — Zend Framework 2 2.4.8 documentation - Zend Framework - dort wird alles, was nicht im Params-Parameter explizit überschrieben wird, wiederverwendet. Aufpassen: Wird bei Verwendung des Helpers z. B. irgendwo keine action gesetzt, weil man sich auf den Default "index" verlässt, die aktuelle Seite aber "update" hat, könnte dies dazu führen, dass die falsche Action aufgerufen wir; je nachdem, ob die bei der verwendeten Route ebenfalls enthalten ist.

Ähnliche Themen

  1. Zend translator - Navigation mit Zend\Navigation\Navigation
    Von Ariane Sardinas im Forum ZF2 Einsteigerfragen
    Antworten: 2
    Letzter Beitrag: 01.09.2015, 02:30
  2. Antworten: 13
    Letzter Beitrag: 20.03.2014, 14:24
  3. Antworten: 2
    Letzter Beitrag: 08.04.2013, 21:18
  4. Zend Navigation, Aufruf URL mit Parameter funktioniert nicht
    Von tomtom33 im Forum Einsteigerfragen
    Antworten: 12
    Letzter Beitrag: 19.05.2011, 13:25
  5. Zend Navigation - XML Navigation in Plugin laden
    Von slartibartfast im Forum Einsteigerfragen
    Antworten: 1
    Letzter Beitrag: 10.02.2010, 16:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •