CMS vo vendor a preťaženie Presentera a Templatu v App
- shamot
- Člen | 1
Chceme spraviť CMS ktoré sa cez composer natiahne do vendor priečinka. Budú tam štandarne aj Presentery a templaty, tak pre administráciu ako aj pre frontend. V App by sme chceli potom preťažovať niektoré templaty a layouty a niekedy aj celý Presenter (podľa potreby). Napríklad ak budem chcieť preťažiť toto:
vendor/cms/FrontendModule/Presenter/HomepagePresenter.php
tak len vytvorím:
App/FrontendModule/Presenter/HomepagePresenter.php
ktorý ho bude dediť a budem môcť pridať/upraviť metódy, ktoré potrebujem.
Toto sme efektívne používali v Symfony ale zatiaľ sa nám to nepodarilo v nette. Pokúšali sme sa preťažiť PresenterFactory aby robil automaticky pri hľadaní presentera fallback do vendor/cms/ ale nedokázali sme to nakonfigurovať v config.neon tak aby to behalo. Riešil už niekto tento problém? Ako na to?
- Pavel Kravčík
- Člen | 1202
Mám za to, že tohle nativně nefunguje jako Symfony, kde se to přetěžovalo automaticky.
- David Matějka
- Moderator | 6445
Ano, upravou PresenterFactory na to jdes spravne. Melo by stacit tou vlastni factory nahradit tu puvodni:
Ja mam taky vlastni presenter factory, tak se tam muzes inspirovat, pripadne to rovnou pouzit, jestli bude vyhovovat. Melo by to umet presne co potrebujes.
V pripade tech sablon budes muset prekryt v presenteru metody formatTemplateFiles a formatLayoutTemplateFiles