Habe die Funktion nun in einer eigenen Class inkl. Neusortierung portiert.
Diese sieht wie folgt aus:
PHP-Code:
<?php
class eventSorting
{
private function sorting($wert_a, $wert_b)
{
$a = $wert_a['startTime'];
$b = $wert_b['startTime'];
if ($a == $b) return 0;
return ($a < $b) ? -1 : +1;
}
public function eventSort($events)
{
usort($events,array($this, 'sorting'));
return $events;
}
}
?>
Im Template wird diese dann so aufgerufen:
PHP-Code:
<tr>
<td valign="top" class="<?php echo $this->class; ?>"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<?php if(strlen($this->headline)):?>
<?php $hlTeile = explode(" ",$this->headline,2); ?>
<<?php echo $this->hl; ?>><span class="hl"><?php echo str_replace("_"," ",$hlTeile[0]); ?><span class="hlmore"> <?php echo $hlTeile[1]; ?></span></span></<?php echo $this->hl; ?>>
<?php endif;?>
<ul>
<?php $ichsortiere = new eventSorting; ?>
<?php $events = $ichsortiere->eventSort($this->events); ?>
<?php foreach($events as $event): ?>
<li>
<table class="tableeventlistBody"><tbody><tr>
<td class="col_0 day">
<div class="tag"><?php echo $this->parseDate("D",$event['startTime']); ?></div>
<div class="datum"><?php echo $this->parseDate("d.m.", $event['startTime']); ?><?php echo ($event['endDate'] > $event['startDate']) ? "<br>".$this->parseDate("- d.m.", $event['endTime']) : ""; ?></div></td>
<td class="col_1 time"><?php echo ($event['addTime']) ? "<span class='Zeit'>".$this->parseDate("H:i", $event['startTime']) : ""; echo ($event['addTime'] && ($event['startTime'] != $event['endTime'])) ? $this->parseDate(" - H:i", $event['endTime']) : ""; echo ($event['addTime']) ? "h<br>" : ""; ?><?php echo($event['price']) ? $event['price']."<br>" : ""; echo ($event['leader']) ? "mit ".$event['leader']."<br>" : ""; ?></span></td>
<td class="col_2 title"><a href="{{event_url::<?php echo $event['id'];?>}}" title="<?php echo $event['title']; ?> (<?php if ($event['day']): echo $event['day']; ?>, <?php endif; echo $event['date']; if ($event['time']): ?>, <?php echo $event['time']; endif; ?>)"><?php echo $event['title']; ?></a><br><?php echo $event['teaser']; ?></td>
</tr></body></table>
</li>
<?php endforeach;?>
</ul>
</td></tr>
sicherlich nicht orginell und konform aber so ließe sich der Newsletter dann versenden bis Tril den Fehler gefixt hat.
Gruß Oliver
Lesezeichen