addImage – nezobrazuje se obrázek

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

Ahoj, ve formuláři chci místo odesílacího tlačítka použít obrázek takto:

<?php
$form->addImage('edit', WWW_DIR."/images/edit-validate.png");
?>

ale bohužel se mi obrázek nezobrazí, pouze bilé okénko (odesílání funguje jak má).
Obrázek mám ve formátu png 16×16 a používám verzi Nette 2.0.3 PHP5.3

Prosím o pomoc

Jan Mikeš
Člen | 771
+
0
-

Ukaz co ti to vygeneruje za HTML kod.

hAssassin
Člen | 293
+
0
-

WWW_DIR je cesta v systemu, ty ale potrebujes webovou adresu k tomu obrazku, cili neco jako baseUrl v sablone, ne?

Jan Mikeš
Člen | 771
+
0
-

No z vysledneho html kodu by se dalo vycist co se mu nelibi, predpokladam ze pokud si zapnes firebug tak na tebe bude rvat ze obrazek neexistuje, takze bude problem v ceste, ale muzu se milit.

Juve
Člen | 27
+
0
-

Cesta je dobře, zkoušel jsem i lomítka psat opačně a nic. Tady je usek HTML kodu:

<script>
<td>
<input id="frmedit-edit" class="imagebutton" type="image" name="edit" src="D:\www\majtyMaps\www\images\edit-validate.png">
</td>
</script>
Juve
Člen | 27
+
0
-

Myslel jsem třeba, že obrázek musí mít specifickou velikost, nebo třeba ve verzi Nette 2.0.3 to byl nějaky bug.. Funkcionalita je vpořádku ale obrázek se ne a ne zobrazit místo bílého obdélníčku :(

Jan Mikeš
Člen | 771
+
0
-

Zkus tam napsat cestu ve tvaru http://localhost/…validate.png jestli toto bude fungovat, a firebug ti nehlasi ze obrazek neexistuje?

Juve
Člen | 27
+
0
-

Tak už se zobrazuje. Jako druhy parametr se musí předat funkci addImage() argument ve tvaru plné cesty k obrázku:

<script>
$form->addImage('edit', 'http://localhost/majtyMaps/www/images/edit-validated.png');
</script>

sice to nechápu ale hlavně že to jde, děkuji za pomoc :)

Jan Mikeš
Člen | 771
+
0
-

Kdyz pouzijes misto cele cesty toto:

	$this->template->baseUri . '/images/edit-validated.png';

bude to pro tebe prijemnejsi :)

hAssassin
Člen | 293
+
0
-

Juve > co na tom nechapes? WWW_DIR je konstanta s aktualni slozkou ve file systemu, ale tu ty prece nezobrazis, ty potrebujes webovou cestu, stejne jako kdyz linkujes csska nebo javascript. cili ta druha moznost je spravne, idealne tak jak pise lexi pres $this->template->baseUrl (baseUrl je tusim lepsi, protoze dava absolutni url, baseUri dava jen relativni url, ale mozna ze kecam, uz je nejak moc hodin :)