Dynamický helper

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

Dobrý večer,
začínám s nette a narazil jsem na zádrhel. Generuji tabulku a abych ji nemusel celou tvořit ručně, chtěl jsem k polím dynamicky přiřadit a načíst helper:

$data = array('indexPole'=>'obsah', ...);
$fields = array('indexPole'=>'nazevHelperu', ...);

v šabloně:
...
{foreach $fields as $field=>$helper}
        <td>{$data[$field]|$helper}</td>
...

Bohužel se zdá, že nette tenhle zápis nebere. Existuje nejaká funkce, která by helper „escape-ovala“ a řekla parseru, že má nejprve proměnnou helperu vyhodnotit a pak helper aplikovat na proměnnou?

Tomik
Nette Evangelist | 485
+
0
-

Je nutné vytvářet pro všechno jiné helpery? Nelze si vytvořit jeden a tomu poslat jako parametry jako data, tak jaký to je typ? Tedy stejná funkčnost?

<?php
  {$data|mujSuperHelper:$typ}
?>
sláva
Člen | 4
+
0
-

Já jsem právě chtěl využít i některé standardní helpery. Abych úlohu zkonkretizoval, jde o vypsání informací o uživateli, helperů by bylo několik – standardní pro práci s datem a ořezem plus vlastní na převod zástupných znaků na text (m ⇒ muž apod.). Řešení s jedním helperem, který dostává parametr, není řekl bych tak elegantní, ale asi mi nic jiného nezbyde, pokud nechci celou tablku psát ručně. Díky za tip

sláva
Člen | 4
+
0
-

Pokusil jsem se použít toto řešení, jde mi zavolat svou fuknci, ale nevím, jak zavolat standardní helper. Pokud jsem to dobře pochopil, helpery jsou uloženy v BaseTemplate, volají se přes magickou metodu __call, ale bohužel jsem nebyl schopný je spustit