Správný postup při výpisu metody, volané v šabloně

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

Ahoj,

mám v šabloně foreach, který mi prochází a vypisuje tabulku z DB.. Potřebuji zde volat metodu, která mi podle aktuálně procházeného id něco zjistí a vypíše. Asi takto:

{foreach $items as $i}
	....
            {$presenter->print($i->id)}
        ....
  {/foreach}

metoda by pak v případě, že podle id najde v db (v jiné tabulce) najde nějaký počet odpovídajícíh záznamů, tyto záznamy vypíše jako title tagu <a>

přestava (která je špatně zapsaná..):

public function print($id){
    $tab = $this->database->table('table2')->where('id', $id);

   if (count($tab) == 0)
      return "N/A";
   else
      {
      $str = "";
      foreach ($tab as $i){
         $str .= $i->name."&#013;";
      }
      echo "<a title = \"".$str."\" >náhled</a>";
      }
}

Ikdyž mi to funguje, nelíbí se mi, že vypisuji část stránky v presenteru…
Určitě to půjde nějak líp:-)

Poradil by někdo?

greeny
Člen | 405
+
0
-

Ten cyklus foreach $items … si hoď rovnou do presenteru a předej čistá data šabloně, tam už pak vypíšeš html značky vpohodě.