it-swarm.com.de

Wie füge ich Abfrageparameter in twig using path () hinzu?

Ich folge dem hier bereitgestellten Code-Snippet

{# Link to frontpage view. #} <a href="{{ path('view.frontpage.page_1') }}">{{ 'View all content'|t }}</a>

{# Link to user entity/profile page. #} <a href="{{ path('entity.user.canonical', {'user': user.id}) }}">{{ 'View user profile'|t }}</a>

{# Link to node page. #} <a href="{{ path('entity.node.canonical', {'node': node.id}) }}">{{ 'View node page'|t }}</a>

https://www.drupal.org/docs/8/theming/twig/functions-in-twig-templates#Pfad

Da die Funktion Pfad ($ name, $ parameters, $ options) anzeigt, möchte ich einen Link hinzufügen, der Abfrageparameter enthält, wie unten gezeigt

blue?destination=blue-search&cookie[blue_referrer]=3622&cookie[blue_type]=node

Ich habe versucht, es wie folgt zu implementieren

<a href="{{ 
               path('blue_general.blue',
               {'node': node.id}, 
               {'query': [
                 'destination': path('view.blue_search.page_1'),
                 'cookie[blue_referrer]': node.id,
                 'cookie[blue_type]':'node'
                 ] 
                }
               ) 
               }}">Find a Distributor</a>

aber es gibt einen Fehler

Auf der Website ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es später noch einmal. Twig_Error_Syntax: Auf ein Array-Element muss ein Komma folgen. Unerwartetes Token "Interpunktion" von Wert ":" ("Interpunktion" erwartet mit Wert ","). in Twig_TokenStream-> expected () (Zeile 124 von /templates/node/node--product.html.twig). Twig_ExpressionParser-> parseArrayExpression () (Zeile: 205)

1
harshal

Twig verwendet Hashes, wobei PHP assoziative Arrays verwendet. Um Ihren Code zu reparieren, konvertieren Sie einfach die Array-Syntax in ein Hash-Literal:

{{ 
  path('blue_general.blue',
    {'node': node.id}, 
    {'query': {
      'destination': path('view.blue_search.page_1'),
      'cookie[blue_referrer]': node.id,
      'cookie[blue_type]':'node'
    }}
  ) 
}}
3
Clive