Název CheckBoxList má na konci []

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

Mám následující kód genereující CheckboxList:

<?php
foreach ($roles as $role)
     {
        foreach ($resources as $resource)
        {
            $name="check".$role->ID_Role."_".$resource->ID;
            $form->addCheckBoxList($name, $name, $selaction);

        }

     }
?>

kde v $selaction je pole akcí, které budou k nastavení ve formuláři. V šabloně si to pak vykresluju takto:

        {foreach $resources as $resource}
          <td>
          {var $name = "check".$role->ID_Role."_".$resource->ID}
          {input $name}
          </td>
        {/foreach}
          <td>
        </tr>
    {/foreach}

Problém je, že do názvu se mi automaticky přidají na konec [], takže html kód vypadá takto:

<td>
          <label><input type="checkbox" name="check1_1[]" value="1">view</label><br><label><input type="checkbox" name="check1_1[]" value="2">edit</label><br><label><input type="checkbox" name="check1_1[]" value="3">create</label><br><label><input type="checkbox" name="check1_1[]" value="4">delete</label><br><label><input type="checkbox" name="check1_1[]" value="5">add</label>

Pokud zaměním CheckBoxList za RadioList, je všechno v pořádku a [] tam nejsou. Může mi někdo poradit, co s tím? Díky.

David Matějka
Moderator | 6445
+
+2
-

to je ocekavane chovani, jelikoz muzes zaskrtnout vic hodnot, tak aby to php pak zpracovalo jako pole a ty hodnoty se neprepsaly.

mimochodem, pro nazev toho formulare nespojuj ten retezec, jak to delas nyni, ale pouzij kontejnery https://doc.nette.org/cs/forms#…, pak se ti to bude lepe zpracovavat (nejdriv X kontejneru pro role a pak v kazdem z nich Y kontejneru pro resource)