Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Szablon z bazy
sebekzosw
post
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


W systemie pobieram szablon HTML z bazy i wyświetlam normalnie na stronie, jednak chciałbym zapisać w bazie taki szablon z kodem smarty. W jaki sposób wymusić wywołanie tego kody w smarty, żeby się pokazał wynik a nie np {$zmienna}? Kiedyś było coś takiego jak eval, nawet w sumie działało ale teraz nie chce ruszyć. ma ktoś jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





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




No przecież smarty ma metodę fetch(), która wykonuje kod smarty. Jeśli ta metoda działa tylko na plikach, to dopisz do niej kawałek by działał na tekstach i po sprawie
Go to the top of the page
+Quote Post
sebekzosw
post
Post #3





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Dzięki za pomoc, to będzie pomocne. Tylko trzeba też wziąć pod uwagę, że za pomocą:

  1. return $smarty->fetch('szkic.tpl');


a szkic.tpl zawiera:

  1. <div>{$danezbazy}</div>


a

  1. $danezbazy = '<a href="">{$test}</a>';


kiedyś przechodził taki myk:

  1. <div>{$danezbazy|eval}</div>


ale teraz coś nie działa. Jakiś pomysł jest na taki problem?
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Coś chyba przekomplikowałeś ten swój system, skoro szablon masz i w plikach i w bazie. Po co ci to? Jesteś pewien ze nie da się tego zrobić bardziej po ludzku?


Wracając do problemu:
$danezbazy = '<a href="">{$test}</a>';
Właśnie na tym masz zrobić fetch
$smarty->fetchTekst($danezbazy);

I wynik tego fetch masz przypisac do smarty:
$smarty->assign('danezbazy',''tutajwynikfetch);
Go to the top of the page
+Quote Post
sebekzosw
post
Post #5





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


tzn w systemie zrobiłem możliwość dodawania modułów. Jeden nazywa się "własny kod HTML" - gdzie mogę wpisać jakiś blok, menu czy coś jako html lub formularz logowania. I teraz jak wysyłam formularz logowania to w Smarty mogę dodać warunek czy jest jakiś komunikat bo błędnym logowania. A tak to nie mógłbym dodać komunikatu nad formularzem ;-)
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: 16.10.2025 - 22:07