Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dołaczanie kolejnych plików do szablonów Smarty
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Bryla
Witam, mam pewien problem z szablonami smarty.
Mam takie pliki: index.php, index.tpl, login.php, login.tpl. Index.tpl jest ładowany przez index.php. W index.tpl jest również linijka odpowiadająca za zmianę głównej treści strony na podstawie id przekazanego przez $_GET. Napisałem prostą klasę, która będzie to robiła automatycznie. I gdy mam id=login ma załączyć plik login.php - to działa. Problem jest w tym, że plik login.php nie chce załączyć pliku login.tpl.

Kody plików:
index.php
  1. require_once('/smarty/libs/Smarty.class.php');
  2. require_once('class/class.main.php');
  3. require_once('class/class.router.php');
  4.  
  5.  
  6.  
  7. $main = new Main();
  8. $router = new Router();
  9. $objSmarty = new Smarty;
  10.  
  11. $objSmarty->template_dir = '';
  12. $objSmarty->config_dir = '';
  13. $objSmarty->cache_dir = '';
  14. $objSmarty->compile_dir = '';
  15. $strTemplate = 'index.tpl';
  16.  
  17. $router = "./controler/" . $router->getId() . ".php";
  18.  
  19. $objSmarty->assign('title', $main->get($title = 'title'));
  20. $objSmarty->assign('autor', $main->get($autor = 'autor'));
  21. $objSmarty->assign('router', $router);
  22.  
  23. $objSmarty->display($strTemplate);


index.tpl
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <link rel="stylesheet" type="text/css" href="style.css" />
  5. <title>{$title}</title>
  6. </head>
  7. <body>
  8. <div id='logo'>
  9. <h1>{$title}</h1>
  10. </div>
  11.  
  12. <div id='menu_left'>
  13. </div>
  14.  
  15. <div id='news'>
  16. {include file="$router"}
  17. </div>
  18.  
  19. </body>
  20. </html>


login.php
  1. $str = "./view/login.tpl";
  2. $objSmarty->display($str);


login.tpl
  1. <div class='nag'><span>Logowanie</span></div>
  2.  
  3.  
  4. <form actoin='#' method='POST' style='margin: 20px;'>
  5. <b>Login:</b> <input type='text' name='username'>
  6. <b>Hasło:</b> <input type='password' name='password'>
  7.  
  8. <input type='button' value='Zaloguj' name='login' style='margin-left: 55px;'>
  9. </form>


Oczywiście pliki login są jeszcze niedokończone, jednak na początku chcę je poprawnie wyświetlić.
smentek
Tak, to jest idealny dział właśnie na tego typu pytanie.
Daiquiri
Proszę poprawić temat na taki, który będzie bardziej oddawał charakter problemu. Przenoszę do odpowiedniego działu.
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.