Missing template file ‚ERROR : WebFacade → function findLatte‘
- vlkodlak
- Člen | 175
Zdravím pánové,
prosím o radu, proč se to rozbilo?
vytvořil jsem jednoduchý webik a pak si říkám zkusím si ho ze
složitit
adresářová struktura, která byla:
app - components
- forms
- model
- presenters
- templates
- router
log
vendor
www - css
- js
a ucinil jsem nasledujici upravu
app - components
- forms
- model
- front - presenters
- templates
- backend - presenters
- templates
- router
log
vendor
www - css
- js
v configu.neon mam nadefinovanou službu
...
services:
- App\Model\WebFacade
...
kterou pomoci připojím dle potřeby
@var \App\Model\WebFacade @inject
jine nastaveni u služby
...
namespace App\Model;
...
class WebFacade extends Nette\Object
...
je fyzicky umístěna ve složce app\model ... viz adresářová struktura
jenže po změně adresářové struktury objevila se tato chyba Missing template file … přičemž jde o službu ne presenter se šablonou
v ladence vidím řádek 26_App_Model_WebFacade yes
App\Model\WebFacade #059 ale bez obsahu (trojúhelník s výpisem)
mám na webu i jinou službu a tam je vše v pořádku
- David Matějka
- Moderator | 6445
nemyslim si, ze to nejak souvisi s WebFacade, ale pouze s presenterem a jeho sablonou
- vlkodlak
- Člen | 175
hmmm, zvláštní věc, které nerozumím. Když vše „naházím“ na jednu hromadu tak vše funguje, když doplním moduly tak se objeví chyba viz. výše
Pokud změním adresářovou strukturu tak také bych měl změnit i namespace u presentru? z mého příkladu např. HomepagePresenter, který měl namespace App\Presenters; bych mel upravit na namespace App\Front\Presenters; ? a nasledne asi upravit v configu.neon mapovací string na App\Modules\ * \Presenters\ * Presenter? a také u routeru doplnit Modules?
Chtěl bych oddělit funkce přihlášeného od nepřihlášeného uživatele, tak jsem „směřovan“ k umístěni všech funkci, komponent a procedur na jednu hromadu :( existuje, prosím, nějaký tip rada jak to rozumně oddělit?
- David Matějka
- Moderator | 6445
kdyz rozdelujes presentery do skupin (front/admin apod), je lepsi je zaradit krome slozky i do modulu – tzn nastavit spravny namespace. ale pro funkcnost to nutne neni. stejne tak to nema vliv na hledani sablon.
ukaz prosim, kde presne je presenter, ktery nefunguje, a kde jsou jeho sablony
- vlkodlak
- Člen | 175
můj HomepagePresenter je umístěna ve složce app / front / presenters šablonu default.latte jsem umístil do app / front / templates / Homepage a jakmile v HomepagePresentru změním namespace z App\Presenters; na App\Modules\Front\Presenters; se mi objeví to Missing function u definované sevisy
obdobně to mam i pro uživatele UserPresenter je umístěna ve složce app / backend / presenters šablonu default.latte jsem umístil do app / backend / templates / User a v UserPresentru změním namespace z App\Presenters; na App\Modules\Backend\Presenters;
- vlkodlak
- Člen | 175
RuntimeException
Missing template file ‚ERROR : WebFacade → function findLatte‘.
search►
Source file
Call stack
…\ngj\www\vendor\latte\latte\src\Latte\Engine.php:110 source
Latte\Loaders\FileLoader->getContent(arguments)
…\ngj\www\vendor\latte\latte\src\Latte\Engine.php:186 source Latte\Engine->compile(arguments)
…\ngj\www\vendor\latte\latte\src\Latte\Engine.php:93 source Latte\Engine->loadTemplate(arguments)
…\ngj\www\vendor\latte\latte\src\Latte\Engine.php:69 source Latte\Engine->createTemplate(arguments)
…\src\Bridges\ApplicationLatte\Template.php:52 source Latte\Engine->render(arguments)
…\src\Application\Responses\TextResponse.php:49 source Nette\Bridges\ApplicationLatte\Template->render()
…\nette\application\src\Application\Application.php:153 source Nette\Application\Responses\TextResponse->send(arguments)
…\nette\application\src\Application\Application.php:83 source Nette\Application\Application->processRequest(arguments)
D:\Program\xampp\htdocs\ngj\www\www\index.php:6 source Nette\Application\Application->run()
1: <?php
2:
3: $container = require __DIR__ . ‚/../app/bootstrap.php‘;
4:
5: $container->getByType(Nette\Application\Application::class)
6: ->run();
- David Matějka
- Moderator | 6445
to vypada, ze je to nejaky tvuj custom kod, co failuje. hledej v projektu retezec „findLatte“
- vlkodlak
- Člen | 175
@DavidMatějka no pravě, že vše fungovalo do změny adresářů a úpravy namespace resp. pokud namespace ponechám bez změny ve výchozím tvaru tak to funguje, ale mně se to nelibí. i tak Ti děkují za pomoc. zkusím „přeskládat“ project dle nových adresových struktur a čekat kdy a kde se to sesype a poté bych Tebe / vás požádal znovu o pomoc