Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze zmarty a dokladnie z if ;)
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Rafał 40x
W pliku php definiuje sobie tak:

  1. <?php
  2. $smarty -> assign ("cos", $data['cos'] );
  3. ?>


Mam kilka takich linijek.

W pliku tpl pokazuje tak:

  1. Dodano przez: <a href="mailto:{$email}">{$autor}</a> w dniu {$data}. Otwierano {$views} razy.


Teraz najwazniejsze:

Jeżeli wpisze np. artykul.php?id=5 i ten art nie istnieje o id = 5 to mi pisze:


Artykul o takim ID nie istnieje.
Dodano przez: w dniu . Otwierano razy.


I chciałbym ze jak art o tym id nie istnieje to pisze tylko Artykul o takim ID nie istnieje.
A to: Dodano przez: w dniu . Otwierano razy. zeby sie nie pokazywalo

Wymyslilem cos takiego, ale nie dziala:

  1. {if ( mysql_num_rows ( $result ) > 0 )}Dodano przez: <a href="mailto:{$email}">{$autor}</a> w dniu {$data}. Otwierano {$views} razy.{/if}


Wiec prosze o pomoc jak to zrobic smile.gif Niekoniecznie chodzi mi o kod, ale ucze sie smarty i chcialbym przynajmniej jakies wskazowki jak to zrobic i czy ide w dobrym kierunku :]
mhs
Nie mieszaj kodu php w szablonach. Co prawda istnieje znacznik {php}{/php} ale jego nie używaj.

Napiszę Ci w ten sposób:

  1. <?php
  2. $smarty->assign('wartosc', true);
  3. ?>



  1. {if $wartosc == true}
  2. jezeli warunek jest spelniony ...
  3. {/if}


Podziałaj z wykorzystaniem tego kodu - a na pewno uda Ci się napisać to co Ty potrzebujesz.
Rafał 40x
Hehe, dzięki. Już mam winksmiley.jpg

{if $content}Dodano przez: <a href="mailto:{$email}">{$autor}</a> w dniu {$data}. Otwierano {$views} razy.{/if}

Gdzie $content to treść, która jest wyświetlana gdy artykuł o podanym ID istnieje.

Dzięki jeszcze raz :]
AxZx
a gdzie powinno byc sprawdzanie czy art istnieje czy nie?
w plikut tpl z szablonem strony czy w pliku php ze skryptem strony?
nazihipi
Cytat(AxZx @ 20.08.2006, 00:16 ) *
a gdzie powinno byc sprawdzanie czy art istnieje czy nie?
w plikut tpl z szablonem strony czy w pliku php ze skryptem strony?

to zależy jak rozumiesz oddzielenie warstwy prezentacji od kodu

kod w Smarty powinien odpowiadać jedynie za proste operacje na danych (jak wyświetl, zamień etc..)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.