Odkaz s více parametry, kde param1=NULL

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jakub Šulák
Člen | 222
+
0
-

Chci se zeptat, jakým způsobem řešit:
Mám presenter, který má dva parametry v renderDefault($param1=NULL, $param2=NULL).
Presenter na základě nich nějak plní template a může se stát, že $param1=NULL, nebo param2=NULL.

Pokud je $param2=NULL vše projde ok. Pokud je NULL $param1 a $param2=‚xyz‘ vypadne Fatal Error:
Argument 1 passed to CachingIterator::__construct() must implement interface Iterator, null given

takže?

  1. je to bug?
  2. chyba mezi rukama a klávesnicí – prostě nesmím posílat NULL (ale co mám pak posílat?)
kravčo
Člen | 721
+
0
-

Podľa toho čo píšeš, problém je v šablóne, nie v odkaze s parametrami, či prezenteri…

Tipujem, že v šablóne máš niekde takýto kus kódu:

{foreach $param1 as $value}
	<some-html-stuff />
{/foreach}

Je tomu tak?

Jakub Šulák
Člen | 222
+
0
-

nemám, ale nakoplo mě to – díky.

V presenteru jsem zpracovával dle param1 něco a pak to posílal šabloně, ale při param1=null se neposlalo nic a v šabloně ještě nebylo zapouzdření isset(template_param).

díky

kravčo
Člen | 721
+
0
-

Tipoval som na základe toho, že neviem o inom použití CachingIterator v Nette ako pri expandovaní foreach cyklov v CurlyBracketsFilter a navyše sa tvoj popis na toto presne hodí.