turk porno porno escort rokettube
Ergebnis 1 bis 6 von 6

Thema: GET Parameter mit URL Viewhelper nutzen

  1. #1
    Erfahrener Benutzer
    Registriert seit
    19.12.2011
    Beiträge
    100
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Standard GET Parameter mit URL Viewhelper nutzen

    Hallo zusammen,

    Ich würde gerne an eine mit dem URL View Helper erzeugte URL einen GET Parameter zusätzlich zur angegebenen Rout anhängen.
    Momentan löse ich das ziemlich hässlich, indem ich die Parameter einfach hinten anhänge:

    Code:
    <a class="btn" href="<?php echo $this->url('actor', array('action'=>'add'));?>?agentId=<?php echo $this->agent->getId();?>">Add new actor</a>
    Meine Frage: Kann man die GET Parameter direkt über den ViewHelper anfügen? Ich hab in der doku dazu leider nichts gefunden und im Netz nur einige unbeantwortete Fragen... Vl. hat ja jemand eine Idee!?

    Danke Euch vorweg,
    LG
    Mike

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von mik3e Beitrag anzeigen
    Meine Frage: Kann man die GET Parameter direkt über den ViewHelper anfügen? Ich hab in der doku dazu leider nichts gefunden und im Netz nur einige unbeantwortete Fragen... Vl. hat ja jemand eine Idee!?
    Es entspricht nicht der Vorgehensweise der „Zend\Mvc“-Komponente, die URL-Parameter so zu übermitteln, daher wirst du diese Funktionalität auch nicht in den dazugehörigen Helfern finden.

    Frage zurück: Warum verwendest du nicht den „ZF“-Weg, für URL-Parameter, an dieser Stelle bzw. was bringt es dir, hier vom vorgeschlagenem Weg abzuweichen?
    Schöner wird die URL durch ein anhängen per Fragezeichen nicht wirklich.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. #3
    Erfahrener Benutzer
    Registriert seit
    19.12.2011
    Beiträge
    100
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Standard

    Auf diese Frage habe ich gewartet ...
    Wie Du siehst verwende ich die Routes für Objekte im Sinn der ZF Implementierung.

    ABER: Wie willst Du Referenzen bei n:m (bzw. bei 1:n) Beziehungen zwischen Objekten übergeben?
    Mir fallen dazu nur hässliche, endlose Routen ein, die bei n:m so schon nicht mehr funktionieren da dann eine Entität unter n URIs zu finden ist, oder eben die Übergabe des Referenzwert als Query Param.

    Nachdem ich gerade eine einstündige Diskussion mit meinem Kollegen zu genau diesem Thema hatte, bin ich natürlich gern für andere Designvorschläge offen.

    Als Diskussiongrundlage vl. folgendes Beispiel (ist einfacher nachzuvollziehen als Agent und Actor :
    * Produktkategorien und Produkte stehen in einer n:m Beziehung
    * In der Edit-Ansicht einer Produktkategorie ist darunter die Liste der in dieser Kategorie verlinkten Produkte zu sehen
    * In der Edit-Ansicht eines Produktes gibt es einen "Produkt hinzufügen" Button, der mir die Add-View des Produkts mit vorausgewählter Kategorie öffnet.
    * In der Edit-Ansicht des Produktes ist eine Multi-Select Liste der verfügbaren Kategorien zu sehen

    Die Routen sind wie folgt deklariert:

    * /category/:action/:id
    * /product/:action/:id

    Die Fragestellung:
    Wie sollte nun der Link / die Route aussehen die auf der Produktdetailseite abgebildet ist, um ein neues Produkt in dieser Kategorie anzulegen?
    * /product/add?categoryId=4711 oder
    * /category/edit/4711/product/add

    Wobei Ansatz 2 dazu führt, dass Operationen auf verschiedenste Routen verteilt werden und nicht mehr zwingend unter der jeweiligen Entität zu finden sind und eine Entität unter mehreren URI zu finden ist.

    Bin auf Eure Ansätze gespannt...

    LG
    Mike
    Geändert von mik3e (02.11.2012 um 15:58 Uhr)

  4. #4
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von mik3e Beitrag anzeigen
    Auf diese Frage habe ich gewartet ...
    Warum hast du dann dies nicht gleich in deinem Eröffnungsbeitrag aufgegriffen?

    Ich hatte bei meiner ersten Antwort doch glatt einen Routentyp unterschlagen: „Zend\Mvc\Router\Http\Query
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  5. #5
    Erfahrener Benutzer
    Registriert seit
    19.12.2011
    Beiträge
    100
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Standard

    Naja, ich dachte die Frage klar zu formulieren reicht. Wenn ich noch dazuschreiben, welche Lösungsvorschläge ich alle NICHT brauche, wird der Thread verdammt lang und die Leute unkreativ würd ich mal behaupten
    Deshalb habe ich auch ein Beispiel angeführt, in dem die Route verwendet wid.

    Egal, danke jedenfalls für Deinen Hinweis. Ich habe mir das auch gleich angesehen und es scheint prinzipiell eine gute Lösung zu sein, allerdings bekomme ich es in Kombination mit einer Segmentierten Route nicht zum Laufen. Wenn ich nach Doc vorgehe (allerdings in Kombination mit einer segmentierten Route), erhalte ich eine Exception:

    Routen-Configuration:
    Code:
    'actor' => array(
                    'type' => 'segment',
                    'options' => array(
                        'route' => '/actor[/:action][/:id]',
                        'constraints' => array(
                            'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                            'id' => '[0-9]+'
                        ),
                        'defaults' => array(
                            'controller' => 'Cockpit\Controller\Actor',
                            'action' => 'index'
                        )
                    ),
                    'may_terminate' => true,
                    'child_routes' => array(
                        'query' => array(
                            'type' => 'Query'
                        ),
                    ), 
                ),
    View mit url View-Helper:
    [code]
    echo $this->url('actor/query', array('action'=>'add','agentId' => 8, 'testparam' => 'test'));
    [code]

    Und zuguterletzt die damit ausgelöste Exception:
    Code:
    Uncaught exception 'Zend\Mvc\Router\Exception\InvalidArgumentException' with message 'Missing parameter "id"'
    So, nun stellt sich mir die Frage, wieso ZF der Meinung ist, dass id plötzlich kein optionaler Routenteil mehr ist!?
    Ohne der Childroute-Definition klappt es wunderbar, es hat also definitiv etwas mit dem Query-Typ zu tun.

    Leider ist die Dokumentation zu diesem Routentyp auch sehr mager...

    Vielleicht hat ja jemand einen Tipp für mich?

    Danke & LG
    Mike

  6. #6
    Neuer Benutzer
    Registriert seit
    30.01.2015
    Beiträge
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    Hi zusammen,

    ich hab mit diesem Thema auch ein Problem. Ich nutze ein Formular in dem ich mehrere Varianten eines Items wählen und diese speichern kann. Wenn ich über einen Edit link wieder zurück gehe, möchte ich gerne die bereits gewählten Varianten vorausgewählt haben. Für Elemente deren Anzahl ich kenne habe ich bisher entsprechende ids an meine Routen angehängt. In diesem Fall soll das aber variable sein und kann deshalb nicht vordefiniert werden. Es kann sein, dass ich mal keine Variante hab und mal 15.

    Die Idee wäre diese Info als GET Parameter in der URL mit zu geben und eine liste von ?variant_0=3&variant_1=5&variant_2=1 anzuhängen.

    Soweit ich mich jetzt eingelesen habe ist das nicht der Weg, den ZF2 vorschlägt. Könnt ihr mir sagen ob ich eine Alternative übersehen habe? Oder macht man das fies indem ich einfach eine variants Variable in die Route einpflege und dann mit urlencode und urldecode einen JSON string übergebe?

    Ich fänd's cool, wenn ihr mir da den ein oder anderen Tipp geben könnt.

    Viele Grüße
    Andi

Ähnliche Themen

  1. Parameter an ViewHelper Decorator übergeben
    Von segnior_rossi im Forum Formulare
    Antworten: 11
    Letzter Beitrag: 16.05.2011, 20:34
  2. Antworten: 7
    Letzter Beitrag: 12.03.2010, 13:44
  3. registry nutzen
    Von anno im Forum Einsteigerfragen
    Antworten: 2
    Letzter Beitrag: 24.11.2008, 01:02
  4. Meinung zu Captcha und wie nutzen?
    Von Nerosmeel im Forum Formulare
    Antworten: 17
    Letzter Beitrag: 26.06.2008, 02:34
  5. PDF nutzen
    Von Martin Lemke (re) im Forum Einsteigerfragen
    Antworten: 4
    Letzter Beitrag: 19.07.2007, 14:40

Lesezeichen

Berechtigungen

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