W Symfony 4 szablony aplikacji przechowujemy w katalogu templates/ (w katalogu głównym projektu). Nadpisywanie szablonów odbywa się poprzez skopiowanie struktury katalogów i podkatalogów (zasobów / widoków) danego bundla do nowej lokalizacji, czyli do katalogu templates/:

Dla przykładu nadpiszemy formularz logowania z pakietu FOSUserBUndle. Jak widać z rysunku poniżej, jest on dość ubogi, dlatego wzbogacimy go o style zaczerpnięte z Bootstrapa. Efekt jaki uzyskamy jest widoczny w topie posta.

form login fosuserbundle

Oryginalna lokalizacja:
/vendor/friendsofsymfony/user-bundle/Resources/views/Security/login_content.html.twig

Nowa lokalizacja (nadpisanie):
/templates/bundles/FOSUserBundle/Security/login_content.html.twig

Zawartość zmienionego pliku:

Musimy nadpisać jeszcze jeden plik: layout.html.twig, aby importować do niego bibliotekę Bootstrap:

Skopiuj oryginalny plik do nowej lokalizacji i zmień jego zawartość jak poniżej:
/templates/bundles/FOSUserBundle/layout.html.twig

Po odpaleniu w przeglądarce adresu: localhost:8000/public/index.php/login
powinieneś otrzymać taki oto efekt 🙂

nadpisywanie widoków, szablonów