Author Topic: [gelöst]tmpl_if in tmpl_loop  (Read 633 times)

0 Members and 1 Guest are viewing this topic.

Offline EikeK

  • Newbie
  • *
  • Posts: 2
[gelöst]tmpl_if in tmpl_loop
on: Sun, 04. October 2009 - 19:19:11
Hallo, ich arbeite nun seit drei Tagen erstmals überhaupt mit einer Template-Engine und bin daher noch recht unerfahren was eigentlich wirklich möglich ist
Nun hätte ich gleich die erste Frage: undzwar  ist es mit vLib möglich, wie in PHP, in einer Schleife eine Bedingung zu stellen, die nur erfüllt wird, sobald ein bestimmter Teil in der Schleife vorkommt?
Ich arbeite zur Zeit an einer recht einfachen Listennavigation, die folgendermaßen aufgebaut ist:
Code: [Select]
<ul>
        <tmpl_loop name=navi>
<li>
<a href="{tmpl_var name=link}">{tmpl_var name="naviLinkName"}</a>

<ul>
<tmpl_loop name=subNavi>
<li><a href="{tmpl_var name=link}">{tmpl_var name="naviLinkName"}</a></li>
</tmpl_loop>
</ul>

</li>
</tmpl_loop>
</ul>

Nicht jeder Listenpunkt hat jedoch Unterpunkte, die in dem zweiten Loop angezeigt werden könnten, also wird auch immer ein öffnendes und sofort wieder schließendes <ul> erzeugt sobald keine Informationen vorhanden sind.
Gibt es in vLib eine Möglichkeit dies zu lösen?

[EDIT] Im nachhinein hab ich gesehen, dass ein es mal sehr ähnliches Beispiel auf http://doku.clausvb.de/vlib_beispiele.htm  gab unter vLIB: TMPL_IF in einen LOOP unterbringen. Jedoch scheint es die Datei sister_sourcecode.php nicht mehr zu geben.
Es wäre sehr nett, wenn dieses Problem behoben werden könnte.

[LÖSUNG] Die Lösung war einfacher als ich gedacht hatte:) Ich habe einfach in das Array, ein Element hinzugefügt, welches zB den Namen showSubNavi hat und den Wert 0 oder 1 annehmen kann. Je nach dem werden dann halt per <tmpl_if name=naviLinkName> die Untermenüpunkte angezeigt oder nicht. Ein Beispiel wird sehr bald folgen.

mit freundlichen Grüßen
Eike
Last Edit: Mon, 05. October 2009 - 19:35:02 by Sm0key

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: [gelöst] tmpl_if in tmpl_loop
Reply #1 on: Mon, 05. October 2009 - 22:57:14
Jedoch scheint es die Datei sister_sourcecode.php nicht mehr zu geben.

Doch tut es:
Adding colors, question by sister_sourcecode

Die Suche in diesem Forum hätte definitiv geholfen ... "sister_sourcecode" hat diese Frage hier im Forum gestellt.

Danke für das  Beispiel, ignoriert IMHO jeglichen PHP Coding Standard, aber trotzdem danke.

Ach noch was: Du wirst hier solange keinen Support bekommen, bis du dich an die Regeln hälst. Nicht umsonst steht in der News-Box: "Please register with your real name and do not post any SPAM! Violations: "Hk.", "Getagrip", "therain" and "lolox" => deleted"

Und bei der Anmeldung: "You have to use a part of your REAL NAME (e.g. John Doe = "JohnD" or "john.doe") for registration. You have to use a valid mail adress, which is similar to your account name ("[email protected]"). If you do not follow theses rules your account will be DELETED."

Gruß
Claus