Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%)
|
Witam,
Mam prawdopodobnie problem banalny, ale jakoś nie umiem sobie z nim poradzić a przeszukiwanie google nie daje oczekiwanych rezultatów (niestety...) Problem przedstawia się następująco: Tworzę serwis WWW dostępny w kilku wersjach językowych. W zmiennej $_SESSION['lang'] trzymam identyfikator języka (pl, en, ger, fr, ...) Pobieram z bazy danych pewną treść strony, która ma pojawić się na stronie. Zapisana jest ona w kolumnie 'content_body_pl' lub 'content_body_ger', '...' Oczywiście wszystko to zarzucam do tablicy asocjacyjnej mając postać:
Kod Array ( [welcome] => Array ( [content_name_pl] => Witaj na stronie [content_name_en] => [content_name_ger] => [content_name_fr] => [content_body_pl] => Lorem ipsum bla, powitanie w j. polskim [content_body_en] => [content_body_ger] => [content_body_fr] => ) ) i teraz na stronie w szablonie chcę wyświetlić dany element tablicy zależny od danego języka. Próba odwołania się w stylu: Kod $content.welcome.content_body_$smarty.session.lang nie skutkuje jak należy. Łączenie zmiennych w samym szablonie ({assign ...}) też niebardzo wychodzi... Bardzo proszę o pomoc w rozwiązaniu problemu. Pozdrawiam, Michał |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%)
|
No jakby to było takie proste.. Wydaje się tak jakby moje smarty nie rozumiało znaczka `
Poniżej jak mam to zrobione teraz. Języki są w tabeli w polu zapisane w postaci:
Wyciągam je z bazy i:
Następnie wyciągam dane z tabeli menu:
I odpalam wszystko w szablonie: Kod {section start=0 step=1 name=j loop=$jezyki} {assign var="lang" value="name_$jezyki[j]"} <input type="text" name="name_{$jezyki[j]|strtolower}" value="{$menu.`$lang|strtolower`}"><br /> {/section} Proszę pomóżcie bo ja już nie wiem co robić. Siedzę w manualu i dłubię i nie daje to rezultatów żadnych. EDIT: Problem rozwiązany. Prawidłowe rozwiązanie (dla potomnych): Kod {section start=0 step=1 name=j loop=$jezyki}
{assign var="lang" value="name_`$jezyki[j]`"|lower} <input type="text" name="{$lang}" value="{$menu.$lang}"><br /> {/section} Ten post edytował kasior 18.11.2010, 11:41:56 |
|
|
|
mokry [smarty] Łączenie zmiennych ze sobą 27.11.2007, 22:03:18
nospor Kod{assign var="lang" value="content_b... 27.11.2007, 22:17:51
mokry @nospor: Wywala mi następujący błąd:
Fatal error:... 27.11.2007, 22:20:10
nospor sorki, moj blad:
Kod{assign var="lang" val... 27.11.2007, 22:26:12
mokry No i sobie pyka jak należy.
@nospor: Dzięki 27.11.2007, 22:28:19
kasior Odświeżę stary temat gdyż mam podobny problem. Mia... 17.11.2010, 15:36:05
sebekzosw musisz zrobić nową zmienną z poziomu Smarty - spos... 17.11.2010, 15:59:15 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 00:48 |