\Nette\Utils\Html: jak přidat třídu elementu, který už má třídu nastavenou?
- chikeet
- Člen | 160
Zdravím,
mám celkem triviální problém, ale nemůžu přijít na způsob, jak to
provést, aby to fungovalo podle mých potřeb.
Mám nějaký html element:
$el = new \Nette\Utils\Html::el('something');
Přidám mu html třídu:
$el->addAttributes(['class' => 'myClass']);
Později mu chci přidat další třídu, nevím a nezajímá mě, jestli už nějaké třídy má, ale chci, aby měl původní třídy plus tu novou:
$el->addAttributes(['class' => 'newClass']);
Co potřebuju je, aby v atributu class
byla hodnota
'myClass newClass'
. Z principu fungování metody
addAttributes
to ale vypadá, že to není možné. Jdu na to
špatně, nebo to fakt nejde nijak udělat?
- chikeet
- Člen | 160
Tak to funguje trochu jinak, než bych čekala. Zatímco při přidání
přes $el->addAttributes()
vrací $el->class
řetězec, při přidání přes $el->class[]
je to pole
[0 => 'class1', 1 => 'class2']
, což pak trochu komplikuje
renderování (nemůžu v latte jednoduše napsat
class => "someClass $el->class"
). Škoda.
Editoval chikeet (15. 4. 2015 23:00)