Smarty, a wyświetlanie komunikatu

0

Witam,

Nie mam zupełnie pojęcia jak zrobić wyświetlanie komunikatu.

Dajmy na to mam taki kod PHP:

public function contact() {
		include_once "sblamtest.php";
		$this->model->smarty->assign("siteTitle", "Kontakt", true);
		$sql = new classMysql();
		$this->setTpl('Contact');
		if($_SESSION['lang']=='pl') {
			$strona = $sql->simpleQuery("SELECT `tresc_pl` AS tresc FROM `tabela` WHERE `nazwa` = 'nazwa'");
		}
		else {
			$strona = $sql->simpleQuery("SELECT `tresc_en` AS tresc FROM `tabela` WHERE `nazwa` = 'nazwa'");
		}
		$this->model->smarty->assign("list", $strona, true);
		$rezultat=$strona[0]['tresc'];
                if($rezultat=='cos') {
                       $this->model->smarty->assign("rezultat", "spam", true);
                }
	}

Oraz plik tpl w którym jest coś takiego:

{$rezultat}

I wszystko fajnie jeśli ten if się zgadza i zostanie wysłany do tpl komunikat, ale w przypadku jeśli jest zaprzeczenie if'a to dostaję:

Notice: Undefined index: rezultat in smarty_internal_templatebase.php(165) : eval()'d code on line 46

Notice: Trying to get property of non-object in smarty_internal_templatebase.php(165) : eval()'d code on line 46

Jak to naprawić, żeby notice nie pokazywało(wyłączenie pokazywania błędów nie wchodzi w grę)

0

Ja to robiłem zawsze przekazując do Smarty wartości - choćby puste. Możesz też wewnątrz Smarty zrobić if i sprawdzać, czy pokazać rezultat, czy może komunikat błędu.

0

Wszystko fajnie notice znika, ale komunikatu nie dostaje kiedy powinien zostać wyświetlony

0

zrób sobie var_dump($strona); bo nie wiem co tam w ogóle w zmiennej jest.

druga rzecz - biblioteka smarty to jednak musi działać na ukrytych warningach w PHP, bo inaczej się tak pluje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1