Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [OPT 1.x] Eval w pliku tpl
Inscure
post 4.07.2011, 13:02:46
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 4
Dołączył: 18.09.2010

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


Witam,

Na wstępie proszę nie krzyczeć, że piszę odnośnie wersji 1.x.
Przejdźmy do rzeczy:

chciałbym wywołać eval() w pliku tpl.
Nie mogę zrobić tego w pliku php, gdyż wtedy treść wyświetli mi się w momencie przypisywania wartości przez assign (jak niżej);

$tpl->assign('data', eval($_POST['content']));


Ma ktoś jakiś pomysł?


--------------------
eXtreme-Fusion CMS - polski, darmowy system zarządzania treścią z rozbudowanym wsparciem technicznym.
Go to the top of the page
+Quote Post
Adi32
post 4.07.2011, 13:07:00
Post #2





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


A nie mógłbyś najpierw wywołać funkcję eval() a potem ładować do smarta?

poza ty z tego co pamiętam to eval musi mieć na końcu średnik

  1. eval ('$eval = '.$jakas tam.';');
  2.  
  3. $tpl->assign('data', $eval);


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post
Inscure
post 27.08.2011, 12:31:25
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 4
Dołączył: 18.09.2010

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


Nie mogę zbytnio w ten sposób.

Zmienna którą chcę wsadzić do eval to $_POST['content'].
Pochodzi ona z textarea, w którym znajduje się następujący przykłądowy kod:

Kod
$zmienna = 5;
echo $zmienna.'tekst';


Chodzi o to, żeby zrobić podgląd dodawanego, dynamicznego (z kodem PHP) panelu.
Wartośc wpisana w textarea musi się wyświetlić w odpowiednim miejscu otoczona kodem html z pliku tpl.

Dlatego wnioskuję, że jedyny sposób to coś typu eval w pliku tpl.


EDIT:


Pracując nad innym projektem, dośc przypadkowo znalazłem rozwiązanie.

Wykonujemy eval() ale w pliku TPL, a nie PHP, czyli

PLIK PHP

Kod
$zmienna = 'echo $zmienna;';


Kod
$tpl->parse('plik.tpl');


PLIK TPL

Kod
{php} eval($zmienna); {/php}


I działa jak trzeba smile.gif

Ten post edytował Inscure 27.08.2011, 12:32:05


--------------------
eXtreme-Fusion CMS - polski, darmowy system zarządzania treścią z rozbudowanym wsparciem technicznym.
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: 19.04.2024 - 23:18