Ako vložiť do formulára čistý text?
- dakur
- Člen | 493
Na „něco jako“ se trochu těžko radí, chtělo by to konkrétní případ a ne abstraktní placeholdery – není z toho vidět záměr.
Z {label aa}
usuzuju, že používáš ruční renderování (viz docs). Jaký je problém
to napsat do šablony?
{form myForm}
{label aa}
výsledok:<br>
{input aa}
{/form}
Editoval dakur (10. 5. 2023 13:55)
- Takeshi
- Člen | 596
No neviem. či to robím správnym spôsobom, ale snažím sa vytvoriť
test,
kde budem vykresľovať v cykle 2D array. Jeden riadok bude obsahovať
nasledovné údaje:
array1[0,0] = samotná otázka ⇒ toto chcem vykresliť ako label
array2[0,0–4] = odpovede, ktoré po každom cykle zamiešam ⇒ tieto odpovede
dám a vykreslím do $form-addCheckbox(…)
SORRY rozmýšlam za chodu, tak v tom mám chaos
- H0w4rd
- Člen | 96
Vytvor si vlastni formularovy prvek.
Do Form pridej neco takoveho (bud vytvor potomka Form nebo pres extension methods):
public function addLabel(string $name, $caption = NULL)
{
$component = new Label($caption);
$this->addComponent($component, $name);
return $component;
}
Trida Label by mohla vypadat takhle:
<?php
namespace App\Control;
class Label extends \Nette\Forms\Controls\BaseControl
{
public function getControl()
{
return "<div class='text'>{$this->getValue()}</div>";
}
}
- Takeshi
- Člen | 596
no nakoniec som to urobil nasledovne:
vložil som text, ktorý som chcel vložiť do LABEL, predal som class, pri renderovani som pridal css:
Presenter>
$form->addText('label', 'text na zobrazenie')
->setAttribute("class='classLabel'");
CSS:
classLabel{
display: none; => zobrazá sa mi len samotný Label
}
No možno to nie je ‚KOŠER‘, ale spĺňa to účel – najjednoduchšie
riešenie.
Každopádne ďakujem za odpovede.
- m.brecher
- Generous Backer | 873
Ačkoliv je možné textová pole ve formulářích, třeba pokyny k vyplňování formuláře, vložit přímo do šablony, formulářový prvek TextBlock, který by pouze vypisoval vložený text, mě ve formulářích Nette také chybí. Pokud by zobrazení tohoto textu podléhalo nějakému logickému řízení, tak je určitě lepší mít řídící logiku v objektu formuláře než v šabloně.
Časem, až budou důležitější témata v Nette vychytaná, bychom jako komunita mohli popřemýšlet nad modernizací Nette formulářů. Mám doma pár tipů a jak si to v hlavě nějak urovnám, dal bych nějaký podnět do samostatného vlákna k diskuzi.