Ako vytvorit komponentu z vygenerovaho kodu PHP?

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

Ako vytvorit komponentu z vygenerovaneho PHP kodu priamo, bez pouzitia Latte?

<?php

namespace Test\Components;

use Nette\Application\UI\Control;

// Tu musim dedit z niecoho ineho, ako z UI\Control
class TestControl extends Control
{
    /**
     * Render component
     */
    public function render() {
        $template = $this->template;

        // Ako vlozit kod vygenerovany PHP do template bez pouzitia latte?
        $template->???????????? = "<span>HTML code!</span>"
        $template->render();
    }
}

Editoval steelbull (16. 6. 2015 14:39)

David Matějka
Moderator | 6445
+
+6
-

metoda render v komponente ma za ukol pouze vykreslit nejaky obsah – jedno jestli pres sablonu nebo jinak. Takze normalne echo cokoliv

David Matějka
Moderator | 6445
+
+2
-

Komponentu nechava vykreslit sablona presenteru, ve kterem se nachazi.

Co konkretne resis? odkud, kam a co chces vykreslit?

EDIT: a nemaz svoje prispevky, ted vypadam, jak kdyz si povidam sam se sebou :P

steelbull
Člen | 241
+
0
-

Mam definovanu nejaku PHP triedu, ktora generuje HTML kod. Tu som obalil do Nette komponenty. V komponente vytvorim novu instanciu, zavolam ju a vrati vygenerovany HTML kod a chcel som ho vykreslit. Ale ked som v metode render komponenty zavolal template->render, vzdy to odomna chcelo mat definovany latte file. Ale uz nic, po Tvojej prvej odpovedi som pochopil. Dakujem.