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

Zdravím, mohl by mi někdo pomoci a napsat, jak bych si mohl v nejnovější stable větvi nette vykreslit manuálně radiolist??

foreachovat $form[‚radiolist‘]->controls nelze, jelikož to již „neexistuje“? Pak jak si tedy mohu sám vykreslit radiolist?

Předem díky

Editoval Jack06 (5. 5. 2013 0:35)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Iteruj $form['radiolist']->items.

juzna.cz
Člen | 248
+
0
-

Teď jsem na to opět narazil, tak si sem napíšu odpověď na příště. Není to zrovna jednoduché.

{foreach $_form['radiolist']->getItems() as $key => $value}
{var $html = $_form['radiolist']->getControl($key), $input = $html[0], $label = $html[1]}
 <tr>
  <td>{$input}</td>
  <td>
   {!$label->startTag()}
   {$label->getText()} (nejake dalsi html, co ma byt v labelu; napr ikonka)
   {!$label->endTag()}
  </td>
 </tr>
{/foreach}
vjirovsky
Člen | 12
+
0
-

juzna.cz napsal(a):

Teď jsem na to opět narazil, tak si sem napíšu odpověď na příště. Není to zrovna jednoduché.

{foreach $_form['radiolist']->getItems() as $key => $value}
{var $html = $_form['radiolist']->getControl($key), $input = $html[0], $label = $html[1]}
 <tr>
  <td>{$input}</td>
  <td>
   {!$label->startTag()}
   {$label->getText()} (nejake dalsi html, co ma byt v labelu; napr ikonka)
   {!$label->endTag()}
  </td>
 </tr>
{/foreach}

Až při testování pull requestu kterým jsem překopával půlku getControl jsem objevil snadný přístup k labelu.

{foreach $form['type']->getItems() as $key => $label}
          <tr>
              <td>
              {label type:$key/}{input type:$key}
              </td>
          </tr>
      {/foreach}
Jack06
Člen | 168
+
0
-

No to co jsi napsal podle mě funguje až v nové verzi Tuším že ve stable větvi, co jsem psal a zkoušel ten nový zápis, tak to právě ještě nefrčelo.

vjirovsky napsal(a):

juzna.cz napsal(a):

Teď jsem na to opět narazil, tak si sem napíšu odpověď na příště. Není to zrovna jednoduché.

{foreach $_form['radiolist']->getItems() as $key => $value}
{var $html = $_form['radiolist']->getControl($key), $input = $html[0], $label = $html[1]}
 <tr>
  <td>{$input}</td>
  <td>
   {!$label->startTag()}
   {$label->getText()} (nejake dalsi html, co ma byt v labelu; napr ikonka)
   {!$label->endTag()}
  </td>
 </tr>
{/foreach}

Až při testování pull requestu kterým jsem překopával půlku getControl jsem objevil snadný přístup k labelu.

{foreach $form['type']->getItems() as $key => $label}
          <tr>
              <td>
              {label type:$key/}{input type:$key}
              </td>
          </tr>
      {/foreach}
vjirovsky
Člen | 12
+
0
-

Jo máš pravdu, jedu na 2.1-dev, proto mi ten návod od juzna.cz nešel.