Povoliť v názve komponent niektoré nealfanumerické znaky (napr. bodku, minusko)
- leumas
- Člen | 13
Momentálne môže komponenta v názve obsahovať iba alfanumerické znaky a podčiarovník. Občas narážam na problém, kedy by som chcel v názve komponenty (hlavne pri formulároch) vyjadriť hierarchickú štruktúru, príklad:
adresa.ulica
adresa.mesto
adresa.psc
Viem, že na toto existujú vo formulároch kontajnery, tie však poskytujú menej voľnosti, nakoľko mi neumožňujú mať prvky z jedného kontajnera v rôznych grupách (fieldset).
Viem, že je povolený podčiarovník, avšak ten sa často vyskytne pri viacslovných názvoch komponent (datum_narodenia).
Uvítal by som preto možnosť používať v názvoch komponent aj znak bodky, prípadne mínuska.
Vďaka za prípadnu reakciu
- Filip Procházka
- Moderator | 4668
Ohledně tvých Container
ů. Máš pravdu, že to nejde zapsat
jednoduše, ale správně bys měl stejně použít na hierarchii komponenty. Ve
formulářích to dává velký smysl.
use Nette\Forms\ControlGroup;
class AddressContainer extends Nette\Forms\Container
{
public function __construct(ControlGroup $group1, ControlGroup $group2)
{
parent::__construct();
$group1->add($this->addText('city', 'Město'));
$group2->add($this->addText('street', 'Ulice'));
$group1->add($this->addText('number', 'Č.P.'));
$group2->add($this->addText('zip', 'PSČ'));
}
}
$form = new Nette\Application\UI\Form;
$form['address'] = new AddressContainer(
$form->addGroup('Jedna'),
$form->addGroup('Dva')
);
Stačí si jen najít způsob zápisu, který ti bude vyhovovat :)
Co se týče žádosti. Taky jsem teď narazil na to, že by se hodilo, mít ve jménu komponenty tečku. Příklad:
$grinder->addColumn('address.street', 'Ulice');
V datagridu by se tak dal strašně krásně vyřešit přístup k relacím, bez nutnosti to někam ohýbat a hackovat fungování komponent.
- Filip Procházka
- Moderator | 4668
Proto jsem navrhoval (/souhlasil s) tečku :)
Jenom nevím, jak moc by to bylo validní, kdyby bylo dovoleno to používat při vypisování html atributů u formulářů. Asi zůstanu u hackování komponent. Ale hodil by se nějaký řídící znak :)
- leumas
- Člen | 13
HosipLan napsal(a):
Jenom nevím, jak moc by to bylo validní, kdyby bylo dovoleno to používat při vypisování html atributů u formulářů. Asi zůstanu u hackování komponent. Ale hodil by se nějaký řídící znak :)
w3c vraví:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters,
digits ([0-9]
), hyphens ("-"
), underscores ("_"
), colons (":"
), and periods ("."
).
Mimochodom, bežný php trik s používaním hranatých zátvoriek [] v názve elementov, toto odporúčanie w3c porušuje.
- Filip Procházka
- Moderator | 4668
Mně šlo hlavně o to, jestli to nerozbije css selektory, jestli to bude validní, už mě nepálí.