Font Awesome v submitu formuláře
- Honza.Mottl
- Člen | 104
Ahoj, chtěl bych použít font Awesome v submitu formuláře. Metoda
$form->addSubmit mi ale z „ Hledat“ udělá
<input type=„submit“ name=„filter[filter]“ class=„grid-filter“
value=„ Hledat“>
Na fóru jsem našel starší radu. Metoda setHtml už ale zřejmě není
podporovaná:
$this->addSubmit(‚add‘, ‚Přidat‘)
->getControlPrototype()
->setName(‚button‘)
->setHtml(‚<i class=„fa fa-shopping-cart“></i>‘);
Napadá vás nějaká cesta? Díky.
- Honza.Mottl
- Člen | 104
Pardon, nenastavil jsem dobře formátování. Tak ještě jednou.
Chtěl bych použít font Awesome v submitu formuláře. Metoda $form->addSubmit mi ale z
" Hledat"
udělá
<input type="submit" name="filter[filter]" class="grid-filter" value="&#xf002; Hledat">
Na fóru jsem našel starší radu. Metoda setHtml už ale zřejmě není podporovaná:
$this->addSubmit('add', 'Přidat')
->getControlPrototype()
->setName('button')
->setHtml('<i class=„fa fa-shopping-cart“></i>');
Napadá vás nějaká cesta jak tam ten ampersand protlačit rep. jinź způsob jak dostat Awesome do submitu? Díky.
- Honza.Mottl
- Člen | 104
Vyhodí to výjimku:
Nette\MemberAccessException
Call to undefined method Nette\Forms\Controls\SubmitButton::setHtml(), did you
mean setHtmlId()?
if (!isset($form['filter']['filter'])) {
$form['filter']->addSubmit('filter', $this->translate('Filter'))
->setHtml('<i class="fa fa-search" aria-hidden="true"></i>');
}
- Honza.Mottl
- Člen | 104
Díky :) Pomohlo to, výjimka je vyřešena. Teď si ještě pohraju s obsahem html.
- Honza.Mottl
- Člen | 104
Díky. Tady to nevykresluji ručně. Ale ta rada se mi bude hodit. Teď se pustím do svého prvního ručního formuláře.
Dodělal jsem si do Nextras Datagrid a ikony Awesome. Nejdříve do šablony na stránkování, atm to bylo snadné. Teď už mi to jede i na submity :D
public function createComponentForm()
{
$form = new UI\Form;
if ($this->filterFormFactory) {
$form['filter'] = Callback::invoke($this->filterFormFactory);
if (!isset($form['filter']['filter'])) {
$form['filter']->addSubmit('filter', '')
->getControlPrototype()
->setName('filter')
->setHtml('<input type="submit" name="filter[filter]" class= "fa-input" value=" '
.$this->translate('Filter').'">');
}
if (!isset($form['filter']['cancel'])) {
$form['filter']->addSubmit('cancel', '')
->getControlPrototype()
->setName('filter')
->setHtml('<input type="submit" name="filter[cancel]" class= "fa-input" value=" '
.$this->translate('Cancel').'">');
}
.fa-input {
font-family: FontAwesome, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}