Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Smarty podstawianie
gaden
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 28.06.2005

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


Witam.
Mam następujący problem.
Mam taki oto szablon, index.htm
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>{$tytul}</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. </head>
  5. <!--tabelka glowna-->
  6. <table width="100%" border="0" align="center">
  7. <tr>
  8. <td>&nbsp;</td>
  9. </tr>
  10. <tr>
  11. <td><h1 align="center">{$banner}</h1></td>
  12. </tr>
  13. <tr>
  14. <td>&nbsp;</td>
  15. </tr>
  16. <tr>
  17. <td align="center"> {$tresc} </td>
  18. </tr>
  19. </body>
  20. </html>


A tutaj plik index.php
  1. <?php
  2.  
  3. require_once 'c:phpsmartylibsSmarty.class.php';
  4.  
  5. $smarty = new Smarty;
  6.  
  7. $smarty -> assign('tytul', 'Wydziałowy portal informacji!');
  8. $smarty -> assign ('banner', 'Wydziałowy portal informacji');
  9.  
  10.  
  11.  
  12. if( ($_GET['action'] == &#092;"\") ){
  13. $szablony = file_get_contents(&#092;"templates/powitanie.htm\");
  14.  }
  15. else 
  16. {
  17. $sciezka[ ] = &#092;"./\";  
  18. $strona = $_GET['action'];
  19. for ($i=0;$i<count($sciezka);$i++) {
  20. if (file_exists (&#092;"$sciezka[$i]$strona.php\")){ 
  21. // warunek sprawdzania istnienia pliku w tablicy \"lista\" w porownaniu z wywolaniam GET
  22. include (&#092;"$sciezka[$i]$strona.php\");
  23.  $szablony = file_get_contents(&#092;"templates/$strona.htm\"); 
  24.  
  25. }
  26. else
  27. $szablony = file_get_contents(&#092;"templates/$strona.htm\");
  28. }
  29. }
  30. $smarty -> assign ('tresc', $szablony);
  31. $smarty -> display('index.htm');
  32.  
  33. ?>


Jeżeli chce podstawić za {$tresc} jakiś plik statyczny html to chodzi.

Problem pojawia się wówczas jeżeli w miejscu {$tresc} chce podstawić szablon, który jest uzupełniany danymi z bazy danych (np. dane użytkowników wpisane do pól formularza odpowiednio, sformatowanych,itd.). To nie działa tak jak powinno, tzn. wyświetla się szablon, ale bez podstawionych zmiennych.

Porszę o małe wskazówki. Z góry dziękuję za pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
MaKARON
post
Post #2





Grupa: Zarejestrowani
Postów: 114
Pomógł: 1
Dołączył: 17.07.2003

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


opisowo (nie mam czasu /praca!/ przegladac twojego kodu):

Kod
$smarty->assign( 'do_wlaczanego_do_glownego_zmienna1', 'wartosc1' );
$smarty->assign( 'do_wlaczanego_do_glownego_zmienna2', 'wartosc2' );

$wyjsciowyWlaczany = $smarty->fetch( 'szablon_wlaczany_nie_glowny.tpl' );

$smarty->assign( 'body_czy_jakos_tak', $wyjsciowyWlaczany );
$smarty->assign( 'inne_zmienne_glownego', 'asdf' );

$smarty->display( 'index.tpl' );


mam nadzieje ze moj kod opisowy jest zrozumialy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pozdrowienia
Go to the top of the page
+Quote Post
Fipaj
post
Post #3





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

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


A może {include file=$plik} (tzn. nie pamiętam czy ten atrybut to akurat file, przecztaj w smartty-manualu)
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: 22.08.2025 - 16:20