[Symfony][Symfony4] Jak wyświetlić kilka szablonów twig w jednej metodzie w kontrolerze |
[Symfony][Symfony4] Jak wyświetlić kilka szablonów twig w jednej metodzie w kontrolerze |
28.01.2019, 10:28:34
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 2 Dołączył: 2.07.2014 Ostrzeżenie: (0%) |
Chodzi mi o coś takiego:
Jednakże z echo występuje błąd "The controller must return a "Symfony\Component\HttpFoundation\Response" object but it returned null. Did you forget to add a return statement somewhere in your controller?" A jeśli zamiast ostatniego echo dam return, czy to będzie dobrze? (wtedy niby nie ma tego błędu) No ale może też jest jakiś prostszy sposób żeby to zrobić? |
|
|
28.01.2019, 10:49:47
Post
#2
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) |
Chodzi mi o coś takiego: Jednakże z echo występuje błąd "The controller must return a "Symfony\Component\HttpFoundation\Response" object but it returned null. Did you forget to add a return statement somewhere in your controller?" A jeśli zamiast ostatniego echo dam return, czy to będzie dobrze? (wtedy niby nie ma tego błędu) No ale może też jest jakiś prostszy sposób żeby to zrobić? tak dziwnie z tymi szablonami ogólnie to raczej po stronie twiga powinno sie "łaczyć" różne szablony a jak chcesz coś nadpisać w szablonie to masz extends https://twig.symfony.com/doc/2.x/tags/include.html https://twig.symfony.com/doc/2.x/tags/extends.html |
|
|
28.01.2019, 11:22:21
Post
#3
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 26 Dołączył: 13.09.2007 Skąd: Gdańsk Ostrzeżenie: (0%) |
Na siłę możesz zrobić coś takiego (nie testowałem tego, ale na oko powinno działać)
|
|
|
28.01.2019, 20:40:00
Post
#4
|
|
Grupa: Zarejestrowani Postów: 621 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) |
Zadnego echo, zadnego renderowania po kawałku, robisz w twigu główny szablon (np base.html.twig) i w nim wrzucasz wszystkie rzeczy które są Ci potrzebne w blokach, czyli np header, body, footer. Następnie zwracasz na danej akcji return $this->render('podstrona.html.twig') i w podstrona.html.twig robisz zwykly extend do base.html.twig, nastepnie nadpisujesz block body.
Trochę to może się wydawać niezbyt jasne jeśli nie miałeś styczności z twigiem, ale ogólnie wszystko co potrzebne masz w https://symfony.com/doc/current/templating/inheritance.html i https://symfony.com/doc/current/templating.html |
|
|
Wersja Lo-Fi | Aktualny czas: 3.06.2024 - 21:35 |