Předáni default value do upload prvku formulare

Fires
Člen | 89
+
0
-

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 | 1296
+
+1
-

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
+
0
-

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?