Nette 3.0 – Argument 1 passed to Nette\Application\UI\Control::flashMessage() must be of the type string, obje

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

Zdravím,

migrvolal jsem na Nette 3.0 a mám tento problém:

Argument 1 passed to Nette\Application\UI\Control::flashMessage() must be of the type string, object given

Do Flash message dávám Nette\Utils\Html s odkazem:

$message = Nette\Utils\Html::el( "a", "Sledování je ZDE" )->href( $this->link( 'Homepage:sledovani' ) )->class( "alert-link" );
$this->flashMessage( $message, "alert-danger" );

Dokáži to udělat jinak, nebo již do flash message odkaz nedostanu?

Díky

nightfish
Člen | 519
+
-1
-

$this->flashMessage($message->__toString(), 'alert-danger');?

Jan Tvrdík
Nette guru | 2595
+
+2
-

@nightfish To nebude fungovat, ten Html object se do flash message dává, aby správně fungovalo escapování.

nightfish
Člen | 519
+
0
-

Jan Tvrdík napsal(a):

@nightfish To nebude fungovat, ten Html object se do flash message dává, aby správně fungovalo escapování.

Ajo, on vlastně v __toString() nebude znát kontext. Pak to asi bude chtít odstranit typehint z prvního parametru flashMessage?

Editoval nightfish (12. 9. 2017 22:32)

David Grudl
Nette Core | 8239
+
+2
-

Můžeš poslat PR s odstraněním toho typehintu string?