Hallo!
Ich probiere hier gerade einen kleinen Onlineshop zu schreiben.
Dafür brauche ich eine Kategorienübersicht ähnlich wie auf
dieser Seite.
Die Anzeige soll dann etwa so aussehen:
<ul>
<li stile="font-weight:bold;>Kategoriename_1</li>
<li>Unterkategorie_1.1</li>
<li>Unterkategorie_1.2</li>
</ul>
<ul>
<li stile="font-weight:bold;>Kategoriename_2</li>
<li>Unterkategorie_2.1</li>
<li>Unterkategorie_2.2</li>
</ul>
Also für jede Kategorie eine eigene Liste. Mit reinem php und html funktioniert das auch einwandfrei.
Probleme hab ich jetzt bei der Übergabe ins Template.
Der php-Teil sieht so aus:
DB Abfrage..
$cat_overview = array();
while( $row = mysql_fetch_object( $res ) ) {
array_push($cat_overview, array(
list_item => $row->name
)
);
}
$tmpl->setloop(overview, $cat_overview);
$tmpl->pparse();
Die Ausgabe mit print_r lautet:
Array
(
[0] => Array
(
[list_item] => Fernsehgeräte
)
[1] => Array
(
[list_item] => Flachbildschirm
)
)
Array
(
[0] => Array
(
[list_item] => Tragbare Elektronik
)
[1] => Array
(
[list_item] => MP3 PLAYER
)
)
Und das Template sieht so aus:
<tmpl_loop name=overview>
<tmpl_if name=__FIRST__><ul><li style="font-weight:bold;">{tmpl_var name=list_item}</li>
<tmpl_else><li>{tmpl_var name=list_item}</li></tmpl_if>
<tmpl_if name=__LAST__></ul><tmpl_else></tmpl_if>
</tmpl_loop>
(Bitte nicht gleich steinigen, ich hab heute erst mit dem vlib angefangen..)
Die Ausgabe ist dann richtig, allerdings wird immer nur
ein Datensatz angezeigt (derZweite). Vermutlich wird der Erste dann irgendwie überschrieben.
Ich blicke da grade nicht mehr durch. Vermutlich hab ich entweder das array falsch aufgebaut oder das Template. Bei den Beispielen bin ich mir jetzt nicht wirklich sicher, welches da am besten auf mich zutrifft..
Ich wäre für jede Hilfe Dankbar!