Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
jak mam wstawić zmienną zamiast nazwy pliku ?
dodam że tak nie działa help ! Ten post edytował krystian1991x 15.10.2010, 12:37:50 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Mi bez problemu działa ta metoda:
{include_php file=$zmienna.php} Jeśli Tobie nie działa, to może w $zmienna masz coś innego niż myślisz lub może w ogóle nic nie masz (IMG:style_emoticons/default/smile.gif) A może scieżki masz złe. Sprawdź Kod To jest zmienna: {$zmienna}
{include_php file=$zmienna.php} |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
ta zmienna jest przekazywana jako get z pliku tpl do php przetwarzana na normalną zmienną i tam przekazywana do tpl z tym że jak ustawie te zmienną po za funkcją include to wtedy śmiga i pokazuje jest zawartość czyli news i tym podobne
w taki sposób mam podstrony wczytywane
Zauważyłem że gdy nie ma podanej zmiennej get czyli jest pusta to nie wczytuje mi nic nawet news.php ... w dodatku gdy już dopisze ręcznie ?id=news to wczytuje owszem ale i tak jak chce zmienić na inną podstronę to zostaje cały czas news.php ... . |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
to prowadzi mnie do punktu wyjścia a pisałem wyżej że już to naprawiłem i jest innej natury problem
to jest poważny problem ;[ zaczyna mnie to irytować już powoli ... ;/ |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Pokaż cały kod w obecnej postaci. .php i .tpl. Zerkniemy, może problem leży w pliku .php.
Generalnie poniższy kod nie powinien być zmartwieniem warstw widoku jaką są smarty. nie myślałeś o przeniesieniu tego do pliku *.php.
Poproszę kod. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
index.php
index.tpl
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Ok pokaż jeszcze co się dzieje w pliku np. news.php, że chcesz go załączyć do szablonu.
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
dodam że jak includuje konkretny plik to wtedy działa czyli np zamiast zmiennej w include jest news.php |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
No i wyszło szydło z worka. To co się dzieje w pliku news.php jest absolutnie bez sensu!
index.php - tu tworzysz obiekt smarty RAZ w pliku news.php masz do niego dostęp.
news.php - tu nie potrzebujesz jeszcze raz tworzyć obiektu smarty, ustawiasz zmienne dla szablonu news.tpl
w index.tpl includujesz plik tpl a nie plik .php . Smarty ma array result który wypełniłeś danymi w news.php i pliku news.tpl robisz np {foreach} czy {section}
Teraz spróbuj przerobić swój kod, może uda ci się przy okazji rozwiązać to bardziej elegancko. |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
zrobiłem tak jak napisałeś ale cóż nie działa (IMG:style_emoticons/default/sciana.gif)
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
1. Jakie błędy wywala?
2. index.php?id=news - teraz zadziała tylko w tym przypadku 3. Masz plik news.tpl, jeżeli tak co w nim masz ? |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
nie wywala błędów a dubluje mi news.php czyli wyświetla mi 2 razy jeden raz na górze strony a drugi raz tam gdzie pierwotnie powinno być :/ Teraz staram się jeszcze zrobić tak abym nie musiał każdej podstrony dopisywać bo to bez sensu jak ich będzie kilkadziesiąt ...
ok mam już wszystko zrobione brakuje mi odpowiedzi na pytanie dlaczego mi dubluje to co includuje ?! ;/ |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
nie login.php jest osobno ładowany i nie jest pod stroną a częścią konstrukcji szablonu
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Możesz pokazać kod pliku login.php ?
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
jak usunę $smarty = new Smarty; to mi wywali błąd więc tam musi zapewne pozostać
|
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Nie wiem dlaczego się upierasz żeby całą logikę aplikacji opierać o Smarty. W pliku login.php tworzyłeś nowy obiekt smarty nadpisując ten z index.php!!!
Wywalasz to include login.php z indexu zastępujesz {include file=login.tpl}. Dajesz include('login.php'); w index.php w linni 7. A plik login php ma wyglądać tak.
Ten post edytował rocktech.pl 15.10.2010, 17:51:20 |
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
ale co ma do tego login.php ? skoro nawet jak go nie dodam do indexu to i tak dubluje mi podstrony ... no i twoj sposób nie dziala bo wywala wielki błąd na pół strony (IMG:style_emoticons/default/smile.gif) więc zostaje przy tym co mam aktualnie
pytasz dlaczego smarty ? bo jak już się zrobi to potem łatwo edytować łatwo wprowadzić nowy wygląd i ogólnie bardziej przekonuje mnie smarty niż wciskanie kodu html w kod php jest bardziej estetycznie przynajmniej |
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Kiedy ci tłumacze, że robisz wszytko źle i cała obecna myśl która prezentujesz w kodzie jest straszna. to jest aktualnie nadaje się do zaorania co jedynie.
|
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
Powiedz że nie wiesz co jest źle a nie gadaj od rzeczy skoro jest do zaorania to pokaż inny sposób na podstawie smarty o takiej konstrukcji żebym nie musiał ładować wszystkiego za każdym razem od nowa
|
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%)
|
Ja wiem co jest źle tylko ty masz problem ze zrozumieniem.
1. index.php tworzysz obiekt smarty. 2. na podstawie id sprawdzasz jaka akcja i jaki szablon trzeba załadować. 3. w pliku $_GET['id'].php tworzysz zmienne do szablonu $_GET['id'].tpl nie wyświetlasz go tylko includujesz w index.tpl. 4. Na samym dole index.php masz $smarty->display('index.tpl'); <-smarty parsują cały plik łącznie z załączonym szablonem news.tpl czy innym 5. w news.tpl daj samo 'Hello world' albo np. {debug}. Wywal wszystkie instrukcję typu {include_php file="login.php"} (tu jest źle) zrób to na najprostszym przykładzie. Przy okazji w index.php daj w linni 7. Zobaczysz konsolę debugowania smarty.
Uwierz mi, że czytając to za kilka lat będzie ci wstyd, ze byłeś tak nieogarnięty (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 7.08.2010 Ostrzeżenie: (10%)
|
uwierz że wystarczyło displays usunąć z podstron
Ten post edytował krystian1991x 16.10.2010, 12:44:00 |
|
|
|
![]() ![]() |
|
Aktualny czas: 27.12.2025 - 22:35 |