![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Nie znam smartów ni w ząb. Jednak chciałem utworzyć taką pętle/wybór:
na taką z możliwością wprowadzenia dwunastu przypadków a nie tylko dwóch. Znalazłem, że jest wyrażenie elseif ale to zwiększa mi możlowść w/w kodu do trzech przypadków - chyba, że się to jakoś zagnieżdża. Z góry dziękuję za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 37 Dołączył: 1.05.2008 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Domyślam się, jednak nie wiem jaka dokładnie ma być składnia w smartach
Napisałem tak i pokazuje błąd w zaznaczonej linijce
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Składnia z manuala do Smarty. Tak ciężko zajrzeć?
Kod {if $name eq 'Fred'} Welcome Sir. {elseif $name eq 'Wilma'} Welcome Ma'am. {else} Welcome, whatever you are. {/if} |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czy to ja jestem już zmęczony czy Ty, ale ten przykład który podałeś z manuala też widziałem. tyczy się to 3przypadków i z tym nie ma problemu. Pytam właśnie jak to rozszerzyć do większej liczby przypadków - kod podałem powyżej. Kiedy wpiszę samo else (bez elsif) w 3linijce nic to nie poprawia. Jeśli wpiszę w ostatnie to również nie działa (IMG:style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Ale lepiej użyć funkcji switch(); |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Trzeba tylko dodawać {elseif} jak wspomniał cudny. A co do switcha... Smarty nie ma tej struktury, ale z tego co gdzieś czytałem to użytkownicy sobie sami ją "stworzyli", choć oficjalnie ona w bibliotekach Smarty nie istnieje. Na forum Smarty temat o switchu swego czasu czytałem i tam właśnie o tym pisali.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę nie wiem dlaczego nie działa, ale nie działa to u mnie.
Kiedy wprowadzam taki kod to działa:
natomiast kiedy wprowadzam coś takiego to już wywala:
Jako błąd wywala: Parse error: syntax error, unexpected T_ELSE in /home/serwer/ftp/admin/class/tpl.class.php(166) : eval()'d code on line 47 poniżej fragment kodu z pliku tpl.class.php public function TPL ( $tpl = '' ) { $this->args = $tpl; $this->initial(); $this->set_root_dir(); $this->set_theme(); # usunac jesli wiele themow $this->set_default_mod(); $this->set_lang(); # usunac jesli wiele jezykow } ----------> linia nr 47!!! public function source ($name) { return $this->config[$name]; } Jak pisałem nie znam się na tym zbyt dobrze, ale myślałem że taka drobna modyfikacja to pikuś, Pan Pikuś (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ja to się zastanawiam nad składnią IF na Twoim miejscu. Co prawda Smarty tylko "polizałem" ale nie widziałem tam czegoś takiego jak
if:arr:simple:about eq '1' A konkretnie tych dwukropków. Przyjrzyj się przykładom. Tam po IF brak spacji i takie "złączenie" może sprawiać, że szuka czegoś, co nie istnieje. Choć myślę, że w przypadku jaki podałeś pluło by się o nieznany tag a nie grzebało w jakiejś klasie. Spróbuj warunek poprawić i powiedz czy dało to spodziewany efekt. Jak dla mnie to w nim tkwi problem Ten post edytował thek 25.09.2009, 10:28:15 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
tutaj tak jest zrobione i działać musi, bo kiedy daję dwa przypadki to nie ma problemu i dzaiła.
Dla pewności zrobiłem spację i usunąłem dwukropek i wtedy znowu błąd (IMG:style_emoticons/default/sad.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
slawoo, naucz się Smarty bo to co napisałeś z tymi dwukropkami jest błędne (IMG:style_emoticons/default/winksmiley.jpg) :| to co napisał cudny i thek jest prawidłową budową w Smarty (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jeśli już jesteśmy przy błędach to jaki błąd wywala po wstawieniu spacji i usunięciu dwukropka?
Inne pytanie mnie też interesuje... Za co odpowiada ":arr:simple:about" jaka to struktura danych? Pytam dlatego, że nie widziałem nigdy by odwołanie do jakiejkolwiek odbywało się poprzez pojedynczy dwukropek. Jedynie przez podwójny do zmiennej statycznej. Stąd mnie dziwi takie podejście do wyciągania wartości. Zaznaczam, że dziś tylko jeszcze odpisuję i być może jutro... Potem 2 tygodnie urlopu bez netu (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie ja to pisałem. Ja chce to tylko zmodyfikować, wiec nie wiem dlaczego jest tak a nie inaczej.
Tutaj podaje cały plik formularza w pliku tpl: http://www.wklej.org/id/156356/ Tutaj natomiast podaje cały plik wyświetlanej listy po wprowadzeniu danych z formularza http://www.wklej.org/id/156358/ jak widać sprawa dotyczaca rezerwacji stalej i tymczasowej działa. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie czaję też po co te dwukropki? może napisz od nowa to wszystko... i taka sugestia...
w select napisz to wszystko na pętli (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dziwne, że jak dotąd nikt nie zauważył, że zastosowany system szablonów to nie Smarty...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 00:50 |