Selectbox → Defaultvalue z databáze
- Shoxy
- Člen | 37
Dobrý večer,
Mám Formulář:
$form = new Form;
$form->setMethod('POST');
$form->getElementPrototype()->class = 'modernForm contact2-form addDodavateleForm';
$form->addText('DodavateleNazev','Název')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte název !');
$form->addSelect('DodavatelStat', '', [
'AF' => 'Afghanistan',
'AX' => 'Aland Islands',
'AL' => 'Albania',
'DZ' => 'Algeria',
.....
...
.
]);
$form['DodavatelStat']->setDefaultValue('CZ');
$form->addText('DodavateleCislo','Číslo ')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte číslo !');
$form->addText('DodavatelMesto','Město')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte Město !');
$form->addText('DodavateleAdresa','Adresa')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte Adresu !');
$form->addText('DodavatelePSC','Poštovní směrovací číslo')
->addRule(Form::INTEGER,'PSČ musí být číslo!')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte Poštovní směrovací číslo !');
$form->addText('DodavatelePoradi','Pořadí')
->addRule(Form::INTEGER,'Pořadí musí být číslo!')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte Pořadí nakaládaní !');
$form->addText('DodavatelePozice','Pozice')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte Pozici !');
$form->addText('DodavateleHmotnost','Pozice')
->setHtmlAttribute('class','input2;')
->setHtmlType('number');
$form->addText('DodavateleMax','Maximální počet palet')
->setHtmlAttribute('class','input2;')
->setRequired('Zadejte Maximální počet palet !');
$form->addText('DodavateleInfo','Informace');
$form->addSubmit('Ulozit','Přidat změny pro routu');
$form->addProtection(); // Ochrana proti Cross-Site Request Forgery
$form->onSuccess[]=[$this,'addFormSucceeded'];
return $form;
a
Latte
{block content}
{form addForm}
<span class="contact2-form-title">
Přidání nového dodavatele
</span>
<div class="wrap-input2">
<input n:name="DodavateleNazev" class="input2" type="text" >
<span class="focus-input2" data-placeholder="NÁZEV DODAVATELE"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavateleCislo" class="input2" type="text" >
<span class="focus-input2" data-placeholder="ČÍSLO"></span>
</div>
<div class="wrap-input2">
<select n:name="DodavatelStat"></select>
<span class="focus-input2" data-placeholder="STÁT" style="top:-14px"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavatelMesto" class="input2" type="text" >
<span class="focus-input2" data-placeholder="MĚSTO"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavateleAdresa" class="input2" type="text" >
<span class="focus-input2" data-placeholder="ADRESA"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavatelePSC" class="input2" type="text" >
<span class="focus-input2" data-placeholder="PSČ"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavatelePoradi" class="input2" type="text" >
<span class="focus-input2" data-placeholder="POŘADÍ"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavatelePozice" class="input2" type="text" >
<span class="focus-input2" data-placeholder="POZICE"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavateleHmotnost" class="input2" type="text" >
<span class="focus-input2" data-placeholder="HMOTNOST"></span>
</div>
<div class="wrap-input2">
<input n:name="DodavateleMax" class="input2" type="text" >
<span class="focus-input2" data-placeholder="MAX PALET"></span>
</div>
<div class="wrap-input2">
<textarea class="input2" n:name="DodavateleInfo"></textarea>
<span class="focus-input2" data-placeholder="INFORMACE"></span>
</div>
<div class="container-contact2-form-btn">
<div class="wrap-contact2-form-btn">
<div class="contact2-form-bgbtn"></div>
<button n:name="Ulozit" class="contact2-form-btn">
Přidat dodavatele
</button>
</div>
</div>
{/form}
<script src="{$basePath}/js/modernForm.js"></script>
{/block}
Pro editaci dat v databázi a potřeboval bych na základě vytáhlých dat
z DB přiřadit default hodnotu pro SELECT.
Respektive, když z databáze vytáhnu hodnotu ‚CZ‘ aby select měl default
hodnotu Czech Republic, když ‚SK‘ Slovakia apod..
Nevíte někdo jak na to? Vím, že v Prezenteru posílám data do šablony,
ale nevím jak k nim přistupovat z formulářové komponenty. Jelikož
kdybych k nim měl přístup tak si vlastně vezmu tu hodnotu a použiji:
$form['DodavatelStat']->setDefaultValue($myVar->DodavatelStat);
,ale je to pouze nápad.
Děkuji za pomoc.