Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem ze smartami (zmienne)
servs
post 13.12.2009, 20:12:07
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Witam!

Smarty zachowuje się tak jakby w ogóle nie przenosił zmiennych.

Zaczyna się od pliku up.php.

  1. $view = new Smarty();
  2. require_once('modules/main_mod.php');
  3. $view->template_dir = dirname(__FILE__).'/templates';
  4. $view->compile_dir = dirname(__FILE__).'/templates_com';
  5. $view->cache_dir = dirname(__FILE__).'/cache';
  6. $view->caching = CACHE_ENABLE;
  7. $view->cache_lifetime = 6000;
  8.  
  9. $menu = get_menu();
  10. $view->assign('menu',$menu);
  11.  
  12. $view->display('up.tpl',$cache_id);


get_menu() jest oczywiście wcześniej odpowiednio definiowane (na 100% działa przy wywołaniu bezpośrednim)

plik up.tpl:
  1. {include file="$page.tpl"}


Wyświetla błąd:
Cytat
Fatal error: Smarty error: [in up.tpl line 1]: syntax error: unrecognized tag 'menu' (Smarty_Compiler.class.php, line 590) in /home/admin/domains/domena.pl/public_html/testing/libs/Smarty.class.php on line 1095


Nie rozumiem dlaczego coś takiego mi się pojawia, proszę o pomoc.

Pozdrawiam!

Ten post edytował servs 13.12.2009, 20:28:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post 13.12.2009, 20:15:10
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$view->assign('menu',$menu); - przeciez tak deklarujesz zmienną, czyli
nie: {menu}{/menu}
a: {$menu}

trochę podstaw odnosnie tego co uzywasz to by sie przydalo...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
servs
post 13.12.2009, 20:27:03
Post #3





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Ok, dzięki, jednak nie likwiduje to mojego głównego problemu związanego z tymi plikami + jeszcze jednym - main-mod.php o którym mowa w pliku pierwszym (up.php)

main_mod.php
  1. $view->assign('page','main');


i wywala coś takiego:

Cytat
Warning: Smarty error: unable to read resource: ".tpl" in /home/admin/domains/strona.pl/public_html/testing/libs/Smarty.class.php on line 1095


(zmieniałem kody w pierwszej wiadomości)

Ten post edytował servs 13.12.2009, 21:27:29
Go to the top of the page
+Quote Post
nospor
post 13.12.2009, 21:11:28
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




patrzac na kod bledu i na kod:
{include file="$page.tpl"}
to smiem twierdzic ze zmienna $page nie została sparsowana tudzież jej nie ma smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
servs
post 13.12.2009, 21:16:04
Post #5





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Zmienna jest definiowana w pliku main_mod.php, a owy plik wykonywany jest w pliku up.php, więc zmienna jest zdefiniowana i zadeklarowana.

Powtarzam, żeby było w jednym miejscu

main_mod.php
  1. $view->assign('page','main');


up.php
  1. $view = new Smarty();
  2. require_once('modules/main_mod.php');
  3. $view->template_dir = dirname(__FILE__).'/templates';
  4. $view->compile_dir = dirname(__FILE__).'/templates_com';
  5. $view->cache_dir = dirname(__FILE__).'/cache';
  6. $view->caching = CACHE_ENABLE;
  7. $view->cache_lifetime = 6000;
  8. $menu = get_menu();
  9. $view->assign('menu',$menu);
  10.  
  11. $view->display('up.tpl',$cache_id);


up.tpl
  1. {include file="$page.tpl"}


Ten post edytował servs 13.12.2009, 21:21:47
Go to the top of the page
+Quote Post
nospor
post 13.12.2009, 21:20:23
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jesli zmienna jest to kod powinien wygladac tak:
Kod
{include file=$page.tpl}

jesli nadal nie dziala to jednak tej zmiennej nie ma, a konkretnie nie ma kodu:
$view->assign('page','blabla');


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
servs
post 13.12.2009, 21:27:06
Post #7





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Kod jest, nawet chamsko go wsadziłem dla sprawdzenia w pliku up.php przed $view->display('up.tpl',$cache_id);
Wsadziłem: $view->assign('page','main');

A dalej w zamian dostaję
Cytat
Warning: Smarty error: unable to read resource: ".tpl" in /home/admin/domains/strona.pl/public_html/testing/libs/Smarty.class.php on line 1095


Ten post edytował servs 13.12.2009, 21:28:41
Go to the top of the page
+Quote Post
nospor
post 13.12.2009, 21:28:31
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no a zamieniles tak jak ci kazalem?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
servs
post 13.12.2009, 21:36:34
Post #9





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Ahh przepraszam.
Teraz mam:

Cytat
Warning: Smarty error: unable to read resource: "m" in

----------------------------------------------------------------------------------------------------------------------
Zwariowane to jakieś :|

Działa! smile.gif

Zaczęło działać na skrypcie, który przedstawiłem na początku i sprawiał problemy.
Dziwna sprawa, że wtedy nie działało, a teraz nagle działa :]
Cóż, dziękuję za chęci pomocy.
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: 14.08.2025 - 14:31