Jak přidat dítě do Nette\Web\Html prvku?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Ondřej Mirtes
- Člen | 1536
Neumím do Html tagu přidat potomka daného prvku (tzn. dovnitř).
Metoda add()
by se měla jmenovat spíše append()
,
podle dokumentace se tak i chová:
$strong = $el->create('strong');
$strong->setText('La Trine');
// lze přidávat existující uzly Html
$br = Html::el('br');
$el->add($br);
echo $el; // <strong>La Trine</strong><br />
Potřebuji dovnitř tagu <a>
dostat
<img>
, aby obrázek byl klikatelný.
Html::el('a')->href($image->html->src)->insert(0, $image->getThumbnail(15, 15)->html);
mi vrátí:
<a href="/images/photos/photo-1-foo.jpg"></a>
Prostě se to dovnitř nepřidá.
Přidávaný objekt je v pořádku:
Nette\Web\Html(4) {
"name" private => "img" (3)
"isEmpty" private => TRUE
"attrs" => array(4) {
"src" => "/images/photos/thumbnails/photo-1-foo-thumb-15-15-1279610954.jpg" (85)
"width" => 15
"height" => 15
"alt" => "Image" (5)
}
"children" protected => array(0)
}
Nezná někdo řešení? Díky.
- Michalek
- Člen | 211
Buď jsem to nepochopil, nebo takhle?
$a = Html::el('a')->href('http://www.seznam.cz');
$img= Html::el('img')->src('/!_img/clanek.jpg');
$p = $a->add($img);
echo $p;
nebo
echo Html::el('a')->href('http://www.seznam.cz')->add(Html::el('img')->src('/!_img/clanek.jpg'));
Mě to funguje :-)
<a href="http://www.seznam.cz"><img src="/!_img/clanek.jpg"></a>
Editoval Michalek (21. 7. 2010 13:17)
- Ondřej Mirtes
- Člen | 1536
Aha! Takže je to bug DataGridu (vracím ten element pro formatCallback), venku mi to taky funguje. Teď teda babo raď :)