setDefaultValue u checkboxlistu kdyz zdroj je associovane pole

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

Form

$destinaceSeznam = $this->destinaceSeznam();

        $form->addCheckboxList('destinace', 'Destinace:', $destinaceSeznam)
                ->setRequired('Zvolte destinaci.');
function destinaceSeznam()
    {
        $destinace = $this->DestinaceRepository->seznam();
        $seznam = array();

        if($destinace)
        {
            foreach($destinace as $v1)
            {
                $seznam[$v1->svetadily['nazev']][$v1->id] = $v1['nazev'];
            }
        }

        return $seznam;
    }

nastaveni defaultni hodnoty

$form['destinace']->setDefaultValue(array(39));

vysledek

Value '39' are out of allowed range [array ( 39 => 'Maroko', ), array ( 27 => 'Argentina', 38 => ...] in field 'destinace'
vosy
Člen | 525
+
0
-

nevite?

Jan Endel
Člen | 1016
+
0
-

Do default value se skutečně musí zadávat value ne key.

//edit: omlouvám se, fakt tam patří klíč pole.

Editoval Jan Endel (23. 4. 2014 15:07)

David Matějka
Moderator | 6445
+
0
-

@Jan Endel: mam za to, ze keys

@vosy: proc tam posilas dvourozmerne pole?

vosy
Člen | 525
+
0
-

ty staty mam rozdelene do svetadilu a kazdy svetadil ma svuj sloupec a chci aby se to v sablone spravne rozkreslilo

<div class="control-group error">
                {label destinace class=>"control-label"/}
                <div class="controls">
                    {foreach $form['destinace']->items as $k1=>$v1}
                    <div class="pull-left destinaceControls">
                        <div class="nazvySvetadilu">{$k1}</div>
                        {foreach $v1 as $k2=>$v2}
                            {if $iterator->first}
                                <div class="pull-left">
                            {/if}

                            {if $iterator->counter%5==0}
                                </div>
                                <div class="pull-left pL10">
                            {/if}

                            <div class="checkbox pT10">
                                <label for="frm-pridatZajezdForm-destinace_{$k2}"><input type="checkbox" name="destinace[]" value="{$k2}" id="frm-pridatZajezdForm-destinace_{$k2}"> {$v2}</label>
                            </div>


                            {if $iterator->last}
                                    <div class="clearfix"></div>
                                </div>

                            {/if}

                        {/foreach}
                    </div>
                    {/foreach}
                </div>

Editoval vosy (23. 4. 2014 13:02)

David Matějka
Moderator | 6445
+
0
-

Do toho checkboxlistu posli jen array(39 ⇒ argentina, 29 ⇒ maroko) a v sablone si to vykresli jak potrebujes

A proc input a label vykreslujes rucne a ne pomoci makra?

Editoval matej21 (23. 4. 2014 13:01)

vosy
Člen | 525
+
0
-

takto jsem byl zvyklej u stareho nette, tam se html kod udelal jinak a ja potreboval INPUT obaleny LABELem

vosy
Člen | 525
+
0
-

kdy pouziju makro
{input destinace}

tak se mi destinace vypisou pod sebe, ja je potrebuju do sloupku po 5radcich

David Matějka
Moderator | 6445
+
0
-

//verze nette?

EDIT:
no checkboxlist je vlastne az v 2.1
pouzij

{input destinace:$key}
respektive
{label destinace:$key/}

Editoval matej21 (23. 4. 2014 15:40)

vosy
Člen | 525
+
0
-

2.1.2

vosy
Člen | 525
+
0
-

Dekuji ti vrele, ted uz jen problem se select boxe v Promptem

https://forum.nette.org/…i-selectboxu