Mam problem z wygenerowaniem menu poziomego w szablonach. Całe menu jest w bazie danych:
Za pomocą poniższego kodu pobieram dane z bazy i przekazuje je do pliku szablonu:
<?php
//Dołączenie plików php
require_once("zmienne_globalne.php"); //zmienne globalne
require_once("smarty/libs/Smarty.class.php"); //klasa główna systemu szablonow Smarty
require_once("php/funkcje_sql.php"); // moje funkcje automatyzujące dostęp do bazy
//Tworzenie obiektu klasy Smarty oraz jego konfiguracja
$smarty = new Smarty();
$smarty->template_dir = 'smarty/templates';
$smarty->compile_dir = 'smarty/templates_c';
//Pobranie danych z bazy danych
$cnn = connection();
// polecenie wysyłane do sql
$polecenie="SELECT * FROM Kategorie WHERE dzial_id='$dzialId';";
$Wynik = mysqli_query($cnn, $polecenie) or die('Błąd zapytania: '.mysqli_error($cnn));
$ilosc_wierszy = mysqli_num_rows($Wynik);
//Pobranie wszystkich wyników zapytania w formie tablicy
$tabKatRekordy = array();
while ($Rekord = mysqli_fetch_assoc($Wynik))
{
$tabKatRekordy[] = $Rekord;
}
//Podanie tablicy do smartów
$smarty->assign('tabKatRekordy', $tabKatRekordy);
// zamknięcie połączenia
mysqli_close($cnn);
//Wyświetlenie szablonu strona_glowna.tpl
$smarty->display('strona_glowna.tpl');
?>
Następnie tworzę template za pomocą Smarty i kurcze nie wiem jak ugryźć dalej temat, żeby wypluł mi wielopoziome listy:
<ul id="menu-poziome">
{foreach item=Rekord from=$tabKatRekordy}
{foreach item=value key=col from=$Rekord}
{if $col == 'parent_id' && $value == '0'}
<li><a></a></li>
{/if}
{/foreach}
{/foreach}
</ul>
Macie może jakieś pomysły?