Class _Cmd_Foreach

Description

Macht etwas für jeden Eintrag aus dem Array $list.

 {#FOREACH array=$list var=$item key=$itemkey index=$itemindex odd=$indexisodd limit=$limit}
 {#SEC}
 {#MID}
 {#END}

Wird array nicht angegeben, wird stattdessen der aktuelle Namespace verwendet.

Der Variable $item wird für jeden Schleifendurchlauf der aktuelle Eintrag aus dem array $list zugewiesen. Wird var nicht angegeben, dann sollte der aktuelle Eintrag selbst eine Array sein. der Aktuelle Namespace wird dann durch seine Einträge ergänzt. (siehe Beispiel)

In der Variable $itemkey wird der Schlüssel, unter dem der aktuelle Datensatz in $array angesprochen werden kann, gespeichert.

In $itemindex wird ein Index des Datensatzes gespeichert, beginnend bei 1 für den ersten Datensatz.

In $indexisodd wird gespeichert, ob $itemindex-1 ungerade ist. Für die den ersten Datensatz ist $indexisodd also 0, für den Zweiten 1, für den Dritten wieder 0, usw.

Der Parameter limit bestimmt, wieviele Elemente des Arrays array durchlaufen werden sollen. Damit lässt sich z.B. die Ausgabe der im Template auszugebenden Zeilen begrenzen.

Der Templatecode der Sektion {#SEC} wird, wenn angegeben, für jeden zweiten Datensatz an Stelle des Codes in {#FOREACH ...} verwendet.

Der Inhalt der Sektion {#MID} wird zwischen den Datensätzen ausgegeben.

Beispiel:

 Variablen:
 $list = array(
   array("name" => "Peter", "age" => 28),
   array("name" => "Alice", "age" => 19),
   array("name" => "Bob", "age" => 21)
 );

 Templatecode:
 {#FOREACH $list}
   name: {%name}, age: {$age}
{#END} Ausgabe: name: Peter, age: 28
name: Alice, age: 19
name: Bob, age: 21

Located in /web/mod/mod.template.compiler.php (line 536)

_Cmd
   |
   --_CmdBlock
      |
      --_Cmd_Foreach
Variable Summary
mixed $_Code
mixed $_Section
mixed $_VarArray
mixed $_VarIndex
mixed $_VarKey
mixed $_VarLimit
mixed $_VarOdd
mixed $_VarVar
Method Summary
void add ( $data)
void compile ( $NSIndex,  $Depth)
void init ( $param)
void isValidSection ( $aName)
void newSection ( $aName,  $aParam)
Variables
mixed $_Code = array() (line 544)
mixed $_Section = "first" (line 545)
mixed $_VarArray = "" (line 540)
mixed $_VarIndex = "" (line 541)
mixed $_VarKey = "" (line 538)
mixed $_VarLimit = "" (line 543)
mixed $_VarOdd = "" (line 542)
mixed $_VarVar = "" (line 539)
Methods
add (line 581)
void add ( $data)
  • $data

Redefinition of:
_CmdBlock::add()
compile (line 586)
void compile ( $NSIndex,  $Depth)
  • $NSIndex
  • $Depth

Redefinition of:
_Cmd::compile()
init (line 547)
void init ( $param)
  • $param

Redefinition of:
_Cmd::init()
isValidSection (line 576)
void isValidSection ( $aName)
  • $aName

Redefinition of:
_CmdBlock::isValidSection()
newSection (line 565)
void newSection ( $aName,  $aParam)
  • $aName
  • $aParam

Redefinition of:
_CmdBlock::newSection()

Inherited Methods

Inherited From _CmdBlock

_CmdBlock::add()
_CmdBlock::finish()
_CmdBlock::isBlock()
_CmdBlock::isValidSection()
_CmdBlock::newSection()
_CmdBlock::_compileArray()

Inherited From _Cmd

_Cmd::_Cmd()
_Cmd::compile()
_Cmd::getName()
_Cmd::init()
_Cmd::isBlock()
_Cmd::isValidParent()

Documentation generated on Mon, 22 Oct 2007 17:17:26 +0200 by phpDocumentor 1.3.1