Array mit hoch zählung ausgeben?
Hi,
ich habe einen array:
PHP-Code:
<?php echo implode('', $this->elements); ?>
Welche mehrere items ausgibt wie:
PHP-Code:
<div class="tile g<?php $intVariableFuerHochzaehlen; ?>">
<a href="">
<h2>Test</h2>
<p>Test</p>
</a>
</div>
Wie kann ich nun die items hochzählen lassen, von 1 bis 10 und wenn 10 erreicht ist, wieder von vorne beginnend?
LG & Danke
Liste der Anhänge anzeigen (Anzahl: 1)
Habe ich probiert:
Item template:
PHP-Code:
<div class="tile g<?php echo $i; ?>"> <?php if ($this->headline): ?>
<<?php echo $this->hl; ?> class="title"><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
<?php endif; ?>
<?php if($this->customelement): ?>
<?php echo $this->customelement; ?>
<?php endif; ?>
</div>
Und array ausgabe template:
PHP-Code:
<?php
$i=1;
foreach($this->elements as $element){
echo implode('', $this->elements);
if($i==10){
$i=1;
} else {
$i++;
}
}
?>
Jetzt bekomme ich jetzt Statt 6 Items einige mehr und die hochzählung funktioniert nicht:
Anhang 16878
Geltungsbereich von Variablen
Zitat:
Zitat von
fr3d83
Was ist denn isset$GLOBAL[] bzw $GLOBAL[]?
$GLOBAL ist eine globale Variable und gehört zu den sogenannten "Superglobals". Auf eine globale Variable kann auf der ganzen aktuellen Seite bzw. im ganzen Script darauf zugegriffen werden.
Die Variable $i kannst du im Template eben nicht verwenden, da $i nur in dieser Template-Datei gültig ist. Das Modul ruft aber das Ausgabe-Template pro Eintrag (item) immer wieder auf und so wäre der Wert von $i immer = 1. Mit der globalen Variable können wir das umgehen, da diese einen grösseren Gültigkeitsbereichen hat ;)
Siehe dazu auch Geltungsbereich von Variablen
isset überprüft einfach, ob die Variable vorhanden ist. Bzw. if(!isset($GLOBALS['mycounter'])) bedeutet "wenn nicht vorhanden, dann...", weil das Ausrufezeichen ! invertiert das Ergebnis.
Gruss
Marco