![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 2 Dołączył: 5.02.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
witam
mam w php funkcje którą rejestruje w smarty funkcja przyjmuje 3 parametry i zwraca tablice Kod function make_seed() { list($usec,$sec) = explode(" ", microtime()); return ((float)$sec+(float)$usec) * 100000; } mt_srand(make_seed()); function randomArray($params, &$smarty) { $tmp = array(); while(count($tmp) < $params['counter']) { $rand = mt_rand($params['from'],$params['to']); if(! in_array($rand,$tmp)) $tmp[] = $rand; } return $tmp; } $smarty->register_function('randomArray','randomArray'); w szablonie mam tak Kod {capture name=returned_array} {randomArray counter=5 from=0 to=30} {/capture} {assign var=randArr value=$smarty.capture.returned_arry} {$randArr[0]} i oczywiście nie działa pomożecie ![]() dzięki za pomoc Ten post edytował pawel.b 27.03.2009, 11:03:31 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://www.smarty.net/manual/en/plugins.php http://www.smarty.net/manual/en/plugins.functions.php popraw bbcode edit: no dobra, widze ze zrobiles to przy pomocy tego: http://www.smarty.net/manual/en/api.register.function.php wlacz sobie wyswietlanie bledow to moze jakis blad zobaczysz ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 2 Dołączył: 5.02.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
problemem nie jest rejestracja funkcji w smarty tylko przypisywanie jej wyniku do zmiennej w szablonie smarty. twierdze że tak jest ponieważ inne funkcje mi działają a rejestruje je identyczne.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
to nie mogles od razu napisac w czym problem?
widze pewną niescisclosc miedzy slowem: returned_array a: returned_arry bbcode dla php to [php] a nie [code] -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Funkcje w Smartym nie są tym samym, co w PHP (w ogóle nawet nie wiem, czemu nazwali to w ten sposób). Ten system szablonów automatycznie wyświetla to, co zwrócą, jako tekst wynikowy. Skoro Twoja "funkcja" zwraca tablicę, to sam sobie odpowiedz, dlaczego nie działa, wiedząc że
produkuje tekst "Array" ![]() ![]() -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 2 Dołączył: 5.02.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
![]() ale dalej nie działa tak jak chce Kod {$smarty.capture.returned_array} // wypisuje Array {$smarty.capture.returned_array[0]} // nie wypisuje nic {$smarty.capture.returned_array[1]} // wypisuje A {$smarty.capture.returned_array[1]} // wypisuje r niestety zmiana silnika szablonych odpada pomóżcie jak uzyskać efekt o który pisze wyżej czyli wygenerować x losowych liczb z danego zakresu (a, ![]() Ten post edytował pawel.b 27.03.2009, 11:44:49 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no ale zyx ci juz odpowiedzial:
Cytat produkuje tekst "Array" Cytat Zamiast zwracać wartość, powinieneś wykorzystać dostarczany obiekt $smarty i przypisać wynik do jakiejś zmiennej metodą assign()
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:33 |