Pridanie HTML prvku do formulára
- pisa98
- Člen | 17
Potreboval by som vlozit HTML element ako mam v tom foreachi. Chcem aby sa mi to vykresľovalo pri každom inpute a neviem ako to spraviť. Nikde sa o tom nemôžem dočítať.
/**
* Component category form
*
* @return Form
*/
protected function createComponentContactForm()
{
$id = $this->presenter->getParameter('id');
$contact = $this->contactsRepository->get(['id' => $id]);
$contacts = $this->contactsRepository->find();
$children = $this->contactsRepository->buildTree($contacts, $id);
$form = new Form;
$form->addText($contact->name, '');
$form->setDefaults([$contact['name'] => $contact['value']]);
foreach ($children as $key => $value) {
$form->addText($value['name'], $value['title']);
$form->setDefaults([$value['name'] => $value['value']]);
echo Html::el('a')->href("deleteContact!, name = $key")->setText('delete');
}
$form->addSubmit('send', 'Save');
$form->onSuccess[] = [$this, 'onSubmit'];
return $form;
}
- David Matějka
- Moderator | 6445
slo by asi udelat nejaky custom prvek, ktery bude pouze vykreslovat input, ale imho bude lepsi pouzit manualni vykreslovani
- ali
- Člen | 342
@pisa98 ja si kvuli takovymhle vecem vytvoril k formulari vlasti
control, ktery dokaze vlozi odkaz do formulare, tak se muzes inspirovat jak na
to nebo rovnou pouzit moje reseni:
https://github.com/…ols/Link.php
- matopeto
- Člen | 395
nejde pouzit setDescription
a tam vlozit do neho dane html cez
Html::
triedu?
Daco ako:
<?php
$form->addText($value['name'], $value['title'])
->setDescription(Html::el('a')->href("deleteContact!, name = $key")->setText('delete'));
?>
Samozrejme ti nebude fungovat to „deleteContact!“ tam si musis ten odkaz vytvorit, ale to je uz o inom. Manualne vykreslovanie to isti
Editoval matopeto (27. 7. 2017 19:01)
- pisa98
- Člen | 17
matopeto napsal(a):
nejde pouzit
setDescription
a tam vlozit do neho dane html cezHtml::
triedu?Daco ako:
<?php $form->addText($value['name'], $value['title']) ->setDescription(Html::el('a')->href("deleteContact!, name = $key")->setText('delete')); ?>
Samozrejme ti nebude fungovat to „deleteContact!“ tam si musis ten odkaz vytvorit, ale to je uz o inom. Manualne vykreslovanie to isti
nefunguje to takto nepozna metodu setDescription
Editoval pisa98 (27. 7. 2017 19:46)
- pisa98
- Člen | 17
matopeto napsal(a):
nejde pouzit
setDescription
a tam vlozit do neho dane html cezHtml::
triedu?Daco ako:
<?php $form->addText($value['name'], $value['title']) ->setDescription(Html::el('a')->href("deleteContact!, name = $key")->setText('delete')); ?>
Samozrejme ti nebude fungovat to „deleteContact!“ tam si musis ten odkaz vytvorit, ale to je uz o inom. Manualne vykreslovanie to isti
jak inac manualne by som vykreslil ten href ku kazdemu inputu ked foreach mam v komponente