Composer balicek aj so sablonami
- vladimir.biro
- Člen | 163
Ahoj.
Mate niekto skusenosti s vytvaranim composer balickov uz aj so
sablonami?
Napriklad si chcem takto v vytvorit nejake formulare, ktore uz budu mat
v baliku nadefinovany vzhlad (html).
Ak ano, ako ste potom riesili prepojenie takejto sablony s presenterom a
celkovo aky postup ste zvolili.
V pripade, ak je to blby napad, tak tiez prosim napiste preco take nieco nerobit :)
Dakujem.
- David Matějka
- Moderator | 6445
udelej si ten formular jako komponentu, ta pote u sebe bude mit svoji sablonu
- vladimir.biro
- Člen | 163
Formular bol len priklad … ono to mozu byt aj ine veci.
Napriklad, keby som chcel nejaky slider, ktory vyzaduje vzdy rovnaku strukturu html. Tak napriklad ze tuto strukturu by som mal ulozenu uz v baliku a nejako by som tuto strukturu naslede potreboval dostat do projektu.
Co tak mat v baliku (vo vendore) latte sablonu, ktoru by som nasledne includoval z latte sablony uz v projekte s tym, ze v tom include by bola kompletna cesta do vendor/repozitar/cesta/k/sablone/sablona.latte
Len mi to pride take dost blbe riesenie. Ci na to existuje aj nejake systemovejsie riesenie.
- vladimir.biro
- Člen | 163
Urobil som teda podla vasich rad a spravil uplne jednoduchu komponentu, ktora ma robit len to, ze ma vypisat premenuu do Tracy.
No je tam problem. Vyhadzuje mi to chybu:
Method App\BackendModule\Presenters\HomepagePresenter::createComponentStaticPageForm() did not return or create the desired component.
Samotna komponenta vypada nasledovne:
namespace VladimirBiro\StPage;
use Tracy\Debugger;
class StaticPageControl
{
public function render()
{
Debugger::barDump('text');
}
}
interface IStaticPageControlFactory
{
/** @return StaticPageControl */
public function create();
}
Neon:
services:
-
implement: VladimirBiro\StPage\IStaticPageControlFactory
inject: yes
BasePresenter.php
/** @var \VladimirBiro\StPage\IStaticPageControlFactory @inject */
public $staticPageControlFactory;
protected function createComponentStaticPageForm()
{
return $this->staticPageControlFactory->create();
}
V sablone:
{control staticPageForm}
Vedeli by ste ma nasmerovat, ze kde mam chybu hladat? Dakujem.
- vladimir.biro
- Člen | 163
David Matějka napsal(a):
tvoje komponenta musi dedit od
Nette\Application\UI\Control
Ja som aj zabudol odpisat … jasne, pomohlo. Vdaka.