• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Unable to find template - Symfony 3.4

0 głosów
1,876 wizyt
pytanie zadane 24 maja 2018 w PHP przez Alterwar Dyskutant (7,650 p.)

Witam,

zacząłem uczyć się dziś symfony. Zainstalowałem wersję 3.4. Chciałem wygenerować nowe bundle. Więc w konsoli zrobiłem: php bin/console generate:bundle

Następnie w composer.json dodałem zmianę i w konsoli composer dumo-autoload.

"autoload": {
        "psr-4": {
            "": "src/"
        },
        "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
    },

Dostaję błąd:

Unable to find template "CarBundle::Default:index.html.twig" (looked into: C:\xampp\htdocs\symfony\app/Resources/views, C:\xampp\htdocs\symfony\vendor\symfony\symfony\src\Symfony\Bridge\Twig/Resources/views/Form).

Nic nie zmieniałem w plikach. Lecę według tutorialu z udemy.

Tak wyglądają katalogi

2 odpowiedzi

0 głosów
odpowiedź 24 maja 2018 przez Bosswell Nałogowiec (36,470 p.)
Pokaż wnętrze pliku DefaultController.php

Wygląda na to, że próbujesz w nim wyrenderować nie istniejący szablon
komentarz 24 maja 2018 przez Alterwar Dyskutant (7,650 p.)
public function indexAction()
    {
        return $this->render('CarBundle:Default:index.html.twig');
    }

Było jak wyżej, znalazłem na stacku, że trzeba zmienić na:

public function indexAction()
    {
        return $this->render('@Car/Default/index.html.twig');
    }

Możecie mi powiedzieć dlaczego muszę ręcznie to zmieniać? Skoro generuje to z konsoli. Dodatkowo musiałem w composer.json zmienić autoload.

0 głosów
odpowiedź 24 maja 2018 przez Ehlert Ekspert (215,070 p.)
Ja trochę z innej strony... Jaki był powód żeby generować nowy bundle?

Do Composera dodałbym raczej nową regułę dla drugiego bundla.
komentarz 25 maja 2018 przez Alterwar Dyskutant (7,650 p.)
Idę według tutorialu dlatego też go generowałem. Czyli nie generuje się nowych bundli? Myślałem, że je się generuje np. żeby stworzyć osobne controllery dla np. oferty, o-nas itd.
komentarz 25 maja 2018 przez Ehlert Ekspert (215,070 p.)
Generalnie aplikacje, lub wyodrębnioną część tej aplikacji która działa samodzielnie zamyka się w bundlu.

Jeśli jeden customowy bundle korzysta z kodu drugiego, to znaczy że jeden jest zbędny.
komentarz 25 maja 2018 przez Alterwar Dyskutant (7,650 p.)
Czyli dla przykładu: tworzę cmsa z panelem administracyjnym. Mam pare zakładek, resztę generuję dynamicznie. Czyli wszystko zamyka się w bundlu -> app. Wszystkie controllery.

We viewu tworze konkretne podfoldery i widoki?

Czyli dla przykładu byłoby tak:

Src -> AppBundle ->

DefaultController, OfferController, AdminController

 

App -> resources -> views ->

offer -> index.html.twig

admin -> index.html.twig, edit.html.twig

 

Dobrze rozumiem?
komentarz 25 maja 2018 przez Ehlert Ekspert (215,070 p.)
Tak. Pamiętaj żeby dobrze podzielić folder view tak żeby w pełni wykorzystywać dziedziczenie szablonów.

Co do podziału kontrolerów zawsze korzystałem z Sonaty więc była w innym folderze niż kontrolery
komentarz 25 maja 2018 przez Alterwar Dyskutant (7,650 p.)
edycja 25 maja 2018 przez Alterwar
Ok, czyli całą aplikację będę zawsze budował na jednym bundlu czyli app, a w momencie gdybym np chciał podpiąć sklep / blog / osobny moduł tworzę osobny bundle na niego. Rozumiem.

Jeszcze jedno, czy mógłbyś podesłać jakąś aplikację której kod jest na gthubie abym mógł poprzeglądać i zobaczyć jakieś dobre praktyki itd? Np prosta strona z cmsem i panelem admina do edycji zakładek.

Podobne pytania

0 głosów
1 odpowiedź 318 wizyt
pytanie zadane 18 listopada 2017 w PHP przez lukasz_spr Użytkownik (860 p.)
0 głosów
3 odpowiedzi 292 wizyt
pytanie zadane 3 lipca 2016 w PHP przez patryk23 Początkujący (290 p.)
0 głosów
1 odpowiedź 1,148 wizyt

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,088 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...