2017-06-01 2 views
-2

Stellen zu senden, dass wir den Controller AdvertController.php mit der Bearbeitungsaktion public function editAction(Request $request) haben, die edit.html.twig ein Objekt $user die Ansicht sendet, enthält $user Methoden viele Attribute am, die eine Strings zurückgeben, wie ein Objekt aus dem Controller in Sicht (Zweig) in Symfony 3

public function editAction(Request $request){ 
$user = new User(); 
return $this->render('OCPlatformBundle:Advert:edit.html.twig', array()); 
} 

Was muss ich in den Code hinzufügen? So dass in der Ansicht kann ich die Werte

edit.html.twig 

{{ user.name }} 

Antwort

0

anzeigen Es ist in der Array() Teil Sie bereits definiert.

$x = 'someothervalue'; 
$this->render('template', [ 
    'somekey' => 'somevalue', 
    'someotherkey' => $x 
]); 

Dann Zweig:

{{ somekey }}, {{ someotherkey }} 
+0

Danke, Ich habe das Recht, diese Methode der Controller-Klasse zu verwenden, nur einmal in der Abfrage? –

+0

Und wenn ich etwas anderes senden möchte, während ich meine Daten im Modell –

+0

verarbeite Nicht ganz sicher, was du mit der ersten Frage meinst. Aber Sie können senden, was Sie wollen. Der PHP-Prozess ist nicht asynchron, also wird alles in der Reihenfolge ausgeführt, in der Sie es schreiben, sodass alle Änderungen, die Sie vor dem Rendern der Vorlage vornehmen, eingeschlossen werden. Sie möchten wahrscheinlich auswählen, anstatt einen Benutzer beim Bearbeiten zu erstellen. –

0

Versuchen Sie folgendes:

public function editAction(Request $request){ 
    $user = new User(); 
    return $this->render('OCPlatformBundle:Advert:edit.html.twig', 
     [ 
     'user' => $user, 
     ] 
    ); 
} 

In Zweig Vorlage Anruffunktion dump() und Zweig machen alle new User() Daten:

{{ dump(user) }} 

Sie können sie wie folgt erhalten:

{{ user.name }} 
{{ user.soname }} 
0

Try this:

public function editAction(Request $request){ 
    $user = new User(); 

    return $this->redirect('https://symfony.com/doc/current/index.html'); 
} 
+0

c'est tres drole –

Verwandte Themen