Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][TPL] przekazywanie zmiennych GET
Forum PHP.pl > Forum > Przedszkole
krystian1991x
Witam chce przekazać zawartość zmiennej get z linków do include ale coś nie działa więc tak zaczynam to w taki sposób

w pliku tpl mam link
  1. <a href="index.php?id=news"><img border="0" src="templates/images/aktualnosci.jpg"></a>

w pliku php
  1. $site == $_GET['id'];
  2.  
  3. $smarty->assign('site', $site);

oraz ponownie w pliku tpl
  1. {if $smarty.get.id == ""}
  2. {include file="news.tpl"}
  3. {/if}
  4. {if $smarty.get.id != ""}
  5. {include file="zmiennaget!.tpl"}
  6. {/if}


w tym miejscu "zmiennaget" chce wstawić zawartość zmiennej get ale nie wiem jak bo gdy wstawiam {$site} to nie działa
Mackos
Nie wiem czy to o to chodzi ale chyba powinno być $site = $_GET['id'];
bo zmiennej $site nadajesz wartość z $_GET['id'], a ty w swoim kodzie ją jedynie porównujesz, więc pozostaje ona nadal pusta.
rocktech.pl
Zrób to tak.
Co bedzie jak id=admin albo admin_panel itp.?
  1. switch($_GET['id']) {
  2. case 'a':
  3. $site = 'a';
  4. break;
  5. case 'b':
  6. $site = 'b';
  7. break;
  8. default:
  9. $site = 'news';
  10. };
  11. $smarty->assign('site', $site);

W szablonie.
  1. {include file=`$site`.tpl}
krystian1991x
nie za bardzo działa to ostatnie rozwiązanie tzn wszędzie wczytuje mi news.tpl nieważne jaka jest zawartość id
rocktech.pl
Pokaż kod php.
krystian1991x
  1. switch($_GET['id']) {
  2. case 'a':
  3. $site = 'a';
  4. break;
  5. case 'b':
  6. $site = 'b';
  7. break;
  8. default:
  9. $site = 'news';
  10. };
  11. $smarty->assign('site', $site);
rocktech.pl
Powyższy skrypt zadziała tylko przy takim wywołaniu.

index.php?id=a
index.php?id=b

W takim przypadku.

index.php?id=inna_akcja

Potrzebujesz dodać do instrukcji switch.
  1. case 'inna_akcja':
  2. $site = 'inna_akcja';
  3. break;
krystian1991x
nie rozumiem tego co ty chcesz zrobić za bardzo cóż dla mnie to jest jakieś dziwne oO po co jakieś a i b ? przecież jak dam ?id=admin to o jezus w pliku admin.php ustawie sobie warunek i zabezpieczę go sobie tak że user nie będzie miał dostępu i co to ma być ta inna_akcja ?
rocktech.pl
Poniższe rozwiązanie pozwala mi metodą prób i błędów sprawdzić jakie pliki .tpl znajdują się w katalogu templates, przy okazji zarzynając twoją aplikację masą notice'ów o niezdefiniowanych indeksach i Błędów (Smarty error: unable to read resource). Jeżeli takie rozwiązanie ci nie przeszkadza to lecisz.
  1. {include file=`$smarty.get.id`.tpl}
krystian1991x
ok ale tamto rozwiązanie "inna_akcja" coś nie działa tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.