Předáni default value do upload prvku formulare
- Fires
- Člen | 97
Zdravím jak řešíte předávání default hodnoty do formuláře pro prvek typu Upload ?
O co mi jde: mám formulář který má upload jednoho obrázku a rád bych vedle upload tlačítka zobrazil aktuálně nahraný obrázek z db. Nicméně když ho nastavím jako default hodnotu do prvku se nepředá. Aktuálně to řeším hidden polem ve kterém si předám link na obrázek.
Není nějaké elegantnější řešení ? Děkuji.
- chemix
- Nette Core | 1310
Ahoj ja to delam pomoci setOption a pak v sablone se k tomu snadno dostanu a muzu obrazek zobrazit rovnou vedle prvku. Psal jsem o tom clanek http://blog.honzacerny.com/…ci-setoption
kod vypada treba nejak takhle pak:
$image = $form->addUpload('image', 'Obrázek');
if ($this->detailObject) {
$image->setOption('image', $this->detailObject->image);
}
a v šablone u vypsani inputu a labelu pridam i zobrazeni obrazku
...
{if $image = $input->getOption('image')}
<a href="{img $image->filename, 800x600, fill}"><img n:img="$image->filename, 200x75"></a>
{/if}
...
Asi nejslepsi reseni by bylo vytvorit si custom formularovy prvek, ale v tom zas nejsem tak zkusenej
- BuMoRi
- Člen | 109
Ahoj, mám dotaz k řešení od chemixe. Když chci takto vytvořenou proměnnou $image vypsat v šabloně, tak není definovaná. Vyřešil jsem to tak, že jsem jí definoval jako public a pak vytvořil render metodu:
<?php
$this->template->img = $this->image;
?>
Lze tu proměnnou vypsat v šabloně nějak přímo z metody
createComponentForm?
A pak ještě odkud se vzala proměnná $input?