Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Smarty] Odzielnie działa w kupie nie chce, unable to read resource
BugsBunny
post 24.05.2007, 17:23:44
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


Mam taki kod

ustawienia.php
  1. <?php 
  2. define('APP_URL', 'http://MOJE IP/~homepage/');
  3. define('STYL_PATH', 'style/pierwszy/');
  4.  
  5. // baza danych
  6. define('DB_PREFIX', 'homepage_');
  7.  
  8. // Smarty
  9. $smarty->compile_check = true;
  10. $smarty->debugging = true;
  11.  
  12. $smarty->template_dir = STYL_PATH ; 
  13. $smarty->compile_dir = STYL_PATH . "Smartytemp/templates_c";
  14. $smarty->config_dir  = STYL_PATH . "Smartytemp/configs";
  15. $smarty->cache_dir = STYL_PATH . "Smartytemp/cache"; 
  16. ?>


index.php
  1. <?php 
  2. require_once 'klasy/class.db.php';
  3. require_once 'system/Smarty/Smarty.class.php';
  4.  
  5. $smarty = new Smarty;
  6. require_once 'system/ustawienia.php';
  7. $smarty->display('gora.tpl');
  8.  
  9.  
  10. if(isset($_GET['p']))
  11. {
  12. $p = intval($_GET['p']);
  13.  
  14. $db = new db();
  15.  
  16. $db->fetcharray("SELECT * FROM `".DB_PREFIX."strony` WHERE `kod`='".$p."' ");
  17. if($db->rekordy == TRUE)
  18. {
  19. if(file_exists($db->rekordy[0]['plik'].'.php'))
  20. {
  21.  
  22. include $db->rekordy[0]['plik'].'.php';
  23.  }
  24. }
  25.  } 
  26.  else
  27.  {
  28.  include 'news.php';
  29.  }  
  30. $smarty->display('dol.tpl');
  31.  
  32. ?>


a błędy takie

Warning: Smarty error: unable to read resource: "news.tpl" in c:\usr\krasnal\www\homepage\system\Smarty\Smarty.class.php on line 1095


Warning: Smarty error: unable to read resource: "news.tpl" in c:\usr\krasnal\www\homepage\system\Smarty\Smarty.class.php on line 1095

Jak w pierwszy display wpiszę dol.tpl albo news.tpl to się normalnie otwiera.

Ten post edytował BugsBunny 24.05.2007, 17:25:15
Go to the top of the page
+Quote Post
starach
post 24.05.2007, 17:46:05
Post #2





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Z informacjami które podałeś to wydaje mi się że zwyczajnie ścieżka jest niepoprawna. Tak w ogóle to chyba lepszym pomysłem jest podawanie wszystkich ścieżek bezwzględnie powiedzmy od stałej MAIN_DIR definiowanej w pliku konfiguracyjny lub innym będącym w katalogu głównym twojej strony
  1. <?php
  2. define('MAIN_DIR', dirname(__FILE__));
  3. ?>


Ten post edytował orglee 24.05.2007, 17:46:42
Go to the top of the page
+Quote Post
BugsBunny
post 24.05.2007, 17:57:10
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


No ale osobno wszystko działa.
Wydaje mi się, że Smarty nie ogarnia że na jednej stronie jest 3x funkcja display
Go to the top of the page
+Quote Post
starach
post 24.05.2007, 18:56:40
Post #4





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


No zależy w jaki sposób to testujesz oddzielnie.
Co do ilości wyświetleń to nie powinno mieć to znaczenia.
Można to przetestować, robiąc pętlę i wyświetlić 40 razy to samo.
Hmm możliwe jest też, że Smarty nie może odczytać news.tpl bo ten plik jest już używany na przykład przez inny proces.
Go to the top of the page
+Quote Post
snipe
post 24.05.2007, 18:57:48
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

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


Powinieneś dawać tylko jeden raz display() a np. plik gora.tpl includowac juz w samym szablonie smarty smile.gif


--------------------
Go to the top of the page
+Quote Post
BugsBunny
post 24.05.2007, 19:06:13
Post #6





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


No dobra zrobiłem w jednym i użylem funkcji {include_php file="news.php"} tylko że znowu to samo bo ten plik też wyświetla inny kawałek w smarty
Go to the top of the page
+Quote Post
snipe
post 25.05.2007, 19:48:01
Post #7





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

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


powiesz mi po co includujesz plik php w szablonie smarty?? to się mija z celem tongue.gif w końcu chcesz oddzielić logikę aplikacji od warstwy prezentacji, a w ten sposób to Ci za bardzo nie wyjdzie tongue.gif


--------------------
Go to the top of the page
+Quote Post
BugsBunny
post 26.05.2007, 15:43:02
Post #8





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


PROBLEM ROZWIĄZANY

wystarczyło z ustawnia.php wykasować dwie linijki:

$smarty->compile_check = true;
$smarty->debugging = false;

rolleyes.gif

co do jednokrotnego używania display na w jednym pliku to używam go 3x Rkingsmiley.png i działą
Go to the top of the page
+Quote Post
Jabol
post 26.05.2007, 17:09:03
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


lepiej zrób jeden duży tpl który sam sobie includuje inne. Możesz zresztą nawet robić dynamiczne include poprzez wartość zmiennej.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 06:27