Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Bloki w Smarty, jak wyświetlić smarty w WHILE
camelx
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czy w systemie Smarty istnieje cos takiego jak bloki (np. takie jak w phpBB)(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Chcę wyświetlić szablon smarty w pętli WHILE, ale wtedy cały szablon mi się kilka razy. Myslę, że bloki by w tym pomogły...
Go to the top of the page
+Quote Post
Vengeance
post
Post #2





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


moze chodzi ci o
{foreach}
Go to the top of the page
+Quote Post
camelx
post
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Hmmm... Wiem już mniej więcej o co chodzi, ale czy mógł bys dać jakiś mały przykładzik wykorzystania tego {foreach} (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
akubiczek
post
Post #4





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.07.2004
Skąd: z neostrady

Ostrzeżenie: (0%)
-----


W manualu są fajne przykłady. Oprócz foreach zobacz także section.
Go to the top of the page
+Quote Post
camelx
post
Post #5





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


czytałem opisy tego foreach (manual też trochę) ale nie umiem tego wykorzytsć na swojej stronie.

Czy mógł by mi ktoś napisać jak wyświetlić dane z WHILE w tabelce na stronie ?
Go to the top of the page
+Quote Post
.dragonfly
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 0
Dołączył: 5.10.2003
Skąd: Londyn / UK

Ostrzeżenie: (0%)
-----


Najprosciej mozesz zrobic tak

  1. <?php
  2. $smarty->assign( &#092;"news\", $newsArr );
  3. ?>


oraz

  1. {section name=i loop=$news}
  2. <font face=verdana size=2>{$news[i].title}<br></font>
  3. <font face=verdana size=2>{$news[i].body}</font><br><BR>
  4. {/section}
Go to the top of the page
+Quote Post
camelx
post
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Co oznacza {$news[i].title} {$news[i].body} ?

Zrobiłem coś takiego:
  1. <?php
  2. $smarty->assign( &#092;"news\", $row['news_title'] ); //to jest wewnątrz WHILE
  3. ?>
oraz
  1. {section name=i loop=$news}
  2. <font face=verdana size=2>{$news[i].title}<br>
  3. </font>
  4. <font face=verdana size=2>{$news[i].body}</font><br>
  5. <BR>
  6. {/section}


i nie działa... (nie ma błędów, ale nic się nie wyświetla).

Rozumiem, że $smarty = new Smarty; i $smarty->display('index_body.html'); NIE muszą być wewnątrz WHILE.

Ten post edytował camelx 19.11.2004, 18:19:54
Go to the top of the page
+Quote Post
JimX
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 23.11.2003
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Spróbuje napisać prostszy przykład...

  1. <?php
  2.  
  3. ...
  4. $x = mysql_query(mysql_fetch_assoc(&#092;"SELECT * FROM tabela ORDER BY ...\"));
  5.  
  6. $smarty->assign('dane', $x);
  7. $smarty->display('szablon.tpl');
  8.  
  9. ?>


a w pliku szablon.tpl:

Kod
{section name=i loop=$dane}
Tytul: {$dane[i].tytul} <BR>
Tresc: {$dane[i].tresc} <BR>
{/section}


A te: {$dane[i].tytul} to taki sposób wyswietlania, gdzie po kropce podajesz nazwe kolumny w danej tabeli.

Pozdro
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.08.2025 - 13:09