Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 31. Juli 2016 17:27

OmKFJ
hat von CMS/ms gehört
Registriert: 31. Juli 2016
Beiträge: 1

Variable für den Array Index verwenden

hier mein Array:

[== smarty ==]
$array[0].item = '1' 
$array[1].item = '2' 
$array[2].item = '3' 
...

Nun möchte ich den Wert vom nächsten Index mittels einer Variable haben: (mit counter)

[== smarty ==]
{counter assign=i start=1 print=false} 
{foreach $array as $myArray}     
  var currentValue = {$myArray.item}; // currentValue = 1     
  var nextValue = {$array[$i].item}; // geht nicht, warum?
  var nextValue = {$array[1].item}; // nextValue = 2
  {$staticVar=1}
  var nextValue = {$array[$staticVar].item}; // nextValue = 2
  {counter} 
{/foreach}

Im ersten Schleifendurchgang ist $i = 1, jedoch kann ich diese nicht für den Array Index verwenden

Beitrag geändert von OmKFJ (31. Juli 2016 18:21)

Offline

#2 31. Juli 2016 19:30

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.807
Webseite

Re: Variable für den Array Index verwenden

Um den Inhalt des nächsten Smarty-Elements auszulesen, kannst du die vorhandenen Smarty-Funktionen verwenden:

{* Dies ergibt den folgenden Output 0|1, 1|2, 2|3, ... etc *}
{foreach from=$array item=one name=oneitem}
  {$smarty.foreach.oneitem.index}|{$smarty.foreach.oneitem.iteration}, 
{/foreach} 

Also

{foreach $array as $myArray}     
  var currentValue = {$myArray.item}; // currentValue = 1     
  var nextValue = {$myArray[$smarty.foreach.myArray.index+1].item}; 
 {/foreach}

(Ungetestet)

Weitere Smarty-Funktionen rund um ein foreach:
https://www.blattertech.ch/blog/9/Smart … leifen.htm

Beitrag geändert von nockenfell (31. Juli 2016 19:31)


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline