Deutscher Support > vlibTemplate, vlibMimeMail, vlibDate

Problem mit Listenausgabe in Template

(1/1)

DanielK:
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:


--- Code: ---<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>

--- End code ---

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:


--- Code: ---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();

--- End code ---

Die Ausgabe mit print_r lautet:

--- Code: ---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
        )
)

--- End code ---

Und das Template sieht so aus:


--- Code: ---<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>

--- End code ---

(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!

DanielK:
Hallo, Sorry Problem gelöst. Ich hatte das array ganz falsch aufgebaut, genau wie das Template.
Letzteres sieht jetzt so aus:


--- Code: ---<tmpl_loop name=outer>
<ul>
    <tmpl_loop name=inner>
        <li<tmpl_if name=__FIRST__> style="font-weight:bold;"<tmpl_else></tmpl_if>>{tmpl_var name=list_item}</li>
    </tmpl_loop>
</ul>
</tmpl_loop>

--- End code ---

ClausVB:
Bitte noch

--- Code: ---<tmpl_if name=__FIRST__> style="font-weight:bold;"<tmpl_else></tmpl_if>
--- End code ---
ersetzen durch

--- Code: ---<tmpl_if name=__FIRST__> style="font-weight:bold;"</tmpl_if>
--- End code ---
denn ein leerer TMPL_ELSE macht keinen Sinn.

Gruß
Claus

DanielK:
Da haste Recht.. Danke!

ClausVB:

--- Quote from: DanielK on Thu, 30. April 2009 - 20:22:37 ---Da haste Recht.. Danke!

--- End quote ---

Gern geschehen! :)
Claus

Navigation

[0] Message Index

Go to full version