POST data jako argumenty view?

A.
Člen | 87
+
0
-

Ahoj,

Bylo by to moc hezky, kdyby se post data chovaly podobne jako normalni argumenty routy. Priklad:

<form action="{link test}">
	<input type="text" name="myId" />
</form>

No a view by mohl pekne dosat nektere parametry primo z post. Odpadlo by rucni sahani na post data z formu, ktere netvori nette.

	function actionTest($myId) {

	}

Mam pocit, ze takto to funguje i ve fw cherypy pod pythonem, takze by nemusel byt problem :).

David Grudl
founder | 8310
+
0
-

To je těžký, jsou situace, kdy by se to vyloženě hodilo, na druhou stranu to může kolidovat třeba s formuláři. Leda snad začít všechny prvky AppForm prefixovat názvem formuláře. Vlastně by to asi tak být mělo…

A.
Člen | 87
+
0
-

Nejak zvlast nechapu, co myslis onou kolizi. Mezi formulari? To uz je programatorovi. Nebo, ze data ziskana v Nette formu by se takto predavat do argumentu nemela?

Mam-li pak dvoje data, jedny v params, ktere se nyni jako argumenty action metody predavaji a dalsi v post, mohou byt jasna pravidla, ktere dostanou prednost.

Pokud by byly nejake pochypnosti, hezke (a logicke) reseni je aspon povolit tuto ficuru u signalu, kde bude v 99% tato funkcnost nejvice pozadovana.

Dovolil jsem si to v v PresenterComponent.php na 216. radce lehce „otuknout“ a funguje to ;-).

if (!$this->tryCall($this->formatSignalMethod($signal), $this->params + $this->presenter->request->post)) {
	throw new BadSignalException("There is no handler for signal '$signal' in '{$this->getClass()}' class.");
}
David Grudl
founder | 8310
+
0
-

Ano, jde o záležitost formulářů, které nedávají prvkům jména podle konvence, která se používá pro jiné parametry. Což jsem stejně plánoval změnit, takže pak by vložení POST dat do parametrů nemělo nic bránit.

RSS tématu Téma zavřeno