![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 13.10.2003 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
[php:1:0428340793]<?php
function wyswietl_menu($posx) { $sql = "select * FROM $_SESSION[db_prefix]menu WHERE posx='$posx' AND status=1 ORDER BY posy"; $dane = $db -> Execute($sql); while (!$dane->EOF) { $dane->fields[2] = '?>'.$dane->fields[2].'<?'; /* dane znajdujące się pomiędzy <? a ?> */ $dane->fields[2] = eval(''.$dane->fields[2].''); // są wykonywane jako kod php $dane->MoveNext(); } // while return $dane; } // function wyswietl_menu $smarty -> assign("left_menu", wyswietl_menu('left')); $smarty -> assign("right_menu", wyswietl_menu('right')) ?>[/php:1:0428340793] Mam taki problem ze funkcja się wykonuje przed wygenerowaniem strony przez smarty. Jak mam przekazać do smarty wynik funkcji zeby smarty to wyswietlilo w miejscu gdzie mam w pliku .tpl taki kod: [php:1:0428340793]<?php {section name=i loop=$left_menu} {$left_menu[i].text} {/section} ?>[/php:1:0428340793] On opowiada za wyswietlenie bloku menu. Pewnie to jest lamerskie pytanie ale to mój 3 dzień ze smarty i adodb. A niestety nie mogłem nic znaleźć na forum na ten temat (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Bardzo prosze o pomoc co mam z tym zrobić. Albo jakiś inny lepszy sposób na umieszczenie dynamicznych bloków menu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
[php:1:dd0930db3c]<?php
/* ** Wyciagamy dane */ $res=$db->execute("zapytanie"); $i=0; while(!$res->EOF) { $ret[$i]["jakiespole1"]=$res->fields["pole1"]; $ret[$i]["jakiespole2"]=$res->fields["pole2"]; $i++; $res->movenext(); } /* ** Do smarty */ $tpl->assign("blok",$ret); ?>[/php:1:dd0930db3c] A szablon moze wyglądać tak: Kod {section name="blok" loop=$blok}
<a href="{$blok[blok].jakiespole1}">{$blok[blok].jakiespole2}</a><br> {/section} |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 15:37 |