Composer balicek aj so sablonami

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vladimir.biro
Člen | 163
+
0
-

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
+
+2
-

udelej si ten formular jako komponentu, ta pote u sebe bude mit svoji sablonu

vladimir.biro
Člen | 163
+
0
-

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.

chemix
Nette Core | 1310
+
+2
-

udelej si ten formular cokoli jako komponentu, ta pote u sebe bude mit svoji sablonu

vladimir.biro
Člen | 163
+
0
-

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.

David Matějka
Moderator | 6445
+
+1
-

tvoje komponenta musi dedit od Nette\Application\UI\Control

vladimir.biro
Člen | 163
+
0
-

David Matějka napsal(a):

tvoje komponenta musi dedit od Nette\Application\UI\Control

Ja som aj zabudol odpisat … jasne, pomohlo. Vdaka.