Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Smarty]$smarty.const
daniel1302
post 10.03.2011, 19:55:37
Post #1





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


Witam mam w skrypcie zdefiniowane Stałą(STALA = 'Daniel\).
I jeśli próbuje wywołać stałą ręcznie z poziomu ({$smarty.const.STALA}) to jest wszystko ok
ale jeśli mam obiekt {$option} i w niej wartość name='STALA';
ale jeśli próbuje wywołać tak: {$smarty.const.{$option -> name}}
to wyskakuje napis STALA.
natomiast jeśli w PHP spróbuje tak: constant($option -> name) to wyswietla mi wszystko poprawnie.


Proszę o pomoc jak wywołać tą stałą z poziomu TPL przechowując nazwę tej stałej w obiekcie wyżej wymienionym? Zawsze moge przekazać stałą z PHP ale to już spowolnienie skryptu(mam ok 2000 takich stałych- losowo wybierane jest 100)
Pozdrawiam Daniel

Ten post edytował daniel1302 10.03.2011, 20:00:34
Go to the top of the page
+Quote Post
wizu
post 10.03.2011, 21:13:06
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

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


Bezpośrednio w php mógł byś to zrobić w ten sposób:
  1. ${'smarty.const.' . $option -> name}

Analogicznie więc smarty powinien pozwolić to zrobić tak:
  1. {${'smarty.const.' . $option -> name}}

Jednak może być konflikt znaków {}, który spowoduje błąd.
Spróbuj, może zadziała. Nie mam teraz pod ręką żadnego serwera, więc piszę "na oko" smile.gif
Go to the top of the page
+Quote Post
AndyPSV
post 11.03.2011, 08:05:30
Post #3





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


smarty to wolno dzialajace **

tylko template lite: http://templatelite.sourceforge.net/docs/index.html
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: 10.08.2025 - 17:34