$form->addText jak změnit polohu textu
- jiziii
- Člen | 12
Zdravím
Mám textový políčko
$form->addText('titulek', 'Nadpis', 50,100)
a chtěl bych aby se mi text ‚Nadpis‘ nezobrazoval vlevo vedle textovýho pole ale nad textovým polem, jde to nějak jednoduše udělat? nebo aspoň nějakým způsobem abych nepřidal dalších sto řádků kodu.
Dík za rady
- jiziii
- Člen | 12
Tak kapitolu formulářů už jsem čet asi 10 krát ale jako uplnej
začátečník z některejch věcí v něm nejsem vubec moudrej, a v tom
druhým odkazu nevidím vubec žádnou spojitost s mím problemem.
Jediný co sem vydedukval že asi musím to textový pole dát do tabulky ale
nemám tušení jak?
potřeboval bych poradit jen co v tom jednom mím řádku formuláře mám
upravit nebo připsat pak se už nějak snad chytnu
- llsm
- Člen | 121
Zalezi, co presne chces, tvoje zadani je obecne, tudiz nevim, jestli chces vsechny Nadpisy vsech poli formulare zobrazit nebo jen nektere a jak, podle toho je nutne zvolit postup:
1) je moznost, pokud to nechces mit v tabulce, ale staci ti treba div a p, tak pouzit jen vlastni renderer v tovarnicce formulare (ale to neni hezke reseni z hlediska html):
<?php
$renderer = $form->getRenderer();
$renderer->wrappers['controls']['container'] = 'div';
$renderer->wrappers['pair']['container'] = NULL;
$renderer->wrappers['label']['container'] = 'p';
$renderer->wrappers['control']['container'] = 'p';
?>
2) vsechny Nadpisy v html tabulce:
{form form}
<table>
{foreach $form->components as $component}
<tr>
<th>{label $component/}</th>
</tr>
<tr>
<td>{input $component}</td>
</tr>
{/foreach}
</table>
{/form}
3) Jen nektere (tady clovek musi vykreslit jednotlive prvky):
{form form}
<table>
<tr>
<th colspan='2'>{label prvni/}</th>
</tr>
<tr>
<td colspan='2'>{input prvni}</td>
</tr>
<tr>
<th>{label druhy/}</th>
<td>{input druhy}</td>
</tr>
</table>
{/form}
Editoval llsm (27. 4. 2013 15:50)
- jiziii
- Člen | 12
Takže mám tu pole pro vkládání nadpisu a pak textový pole pro vložení textu v NotepadPresenteru.php
protected function createComponentDokument() {
$form = new Form();
$form->addText('titulek', 'Nadpis', 50,100)
->addRule(Form::FILLED, 'Vložte nadpis');
$form->addTextArea('text', 'Článek' ,20,40)
->addRule(Form::FILLED, 'Nemužete uložit prázdný článek')
->getControlPrototype()->class('mceEditor');
$form->addSubmit('create', 'Vytvořit');
$form->onSuccess[] = $this->taskClanekUlozit;
return $form;
}
a texty ‚Nadpis‘ a ‚Článek‘ se mi píšou vedle textovích polí a
zbytečně to ubere místo, tedy chci ty popisky těch polí dát nad ty
textový pole, ten druhej zpusob řešení vypadá docela přehledně akorát
nevím co kam hodit :(
dík
- llsm
- Člen | 121
V tom pripade do sablony misto
{widget dokument}
nebo
{control dokument}
vloz:
{form dokument}
<table>
{foreach $form->components as $component}
<tr>
<th>{label $component/}</th>
</tr>
<tr>
<td>{input $component}</td>
</tr>
{/foreach}
</table>
{/form}
Editoval llsm (27. 4. 2013 15:51)