Latte šablona – existence proměnné

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

Ahoj, řeším, asi pro větišnu z Vás, velmi jednoduchý problém, a to ten, že mám latte šablonu:

<?php
{if $uzivatel != false}
<h1>{$uzivatel->Jmeno} {$uzivatel->Prijmeni}</h1>
{else}
<h1>Uživatel neexistuje</h1>
{/if}
?>

Do proměnné uživatel vkládám osobu podle id z databáze – když zadáte id, které se v db nenachází, tak se do proměnné $uzivatel vloží bool hodnota false. Poraďte mi, prosím, jak to mám řešit, aby mi to fungovalo, jelikož mi to i při hodnotě false chce vypisovat jméno a příjmení. Já si myslím, že by tento blok měl být úplně přeskočen, ne? Děkuji.

s4muel
Člen | 92
+
0
-

to sa mi nezda, skus si predtym vydumpovat premennu $uzivatel, ze co naozaj obsahuje.
a netreba to porovnavat s false, staci

{if $uzivatel}
...
{/if}
semz5
Člen | 9
+
0
-

To porovnání vím, chtěl jsem jen, aby to bylo jasně vidět.
dump, když se mi do proměnné vloží uživatel, tak obsahuje Nette\Database\Table\ActiveRow, když ne, tak bool(false)

ViPEr*CZ*
Člen | 818
+
0
-

Pro hodnoty bool používejte === nebo !== operátory. Samozřejmě přes {if $uzivatel} je to ještě lepší.

semz5
Člen | 9
+
0
-

Tak jsem narazil na chybu. měl jsem to:

<?php
{if $uzivatel }
<h1 n:block=title>{$uzivatel->Jmeno} {$uzivatel->Prijmeni}</h1>
{else}
<h1>Uživatel neexistuje</h1>
{/if}
?>

a právě <h1 n:block=title> dělalo neplechu :D

Editoval semz5 (9. 8. 2013 16:05)