Eine absolute, fortlaufende Nummer könnte man mit so einer Datenbankabfrage im Template ermitteln:
PHP-Code:
<?php
$number = \Database::getInstance()->prepare("
SELECT num FROM (
SELECT id,
(@rownum := @rownum + 1) AS num
FROM tl_news
CROSS JOIN (SELECT @rownum := 0) r
WHERE pid = ?
ORDER BY date ASC, time ASC
) AS temp
WHERE temp.id = ?")->execute( $this->pid, $this->id )->num;
?>
(Vorsicht: das könnte die Seite stark verlangsamen.)
Die Gesamtanzahl könnte man so ermitteln:
PHP-Code:
<?php
$total = \NewsModel::countBy('pid',$this->pid);
?>
Beide Code Beispiele zählen aber alle News eines Archivs, nicht nur die die Sichtbar bzw. Published sind.
Hier nochmal für die Events:
PHP-Code:
<?php
$number = \Database::getInstance()->prepare("
SELECT num FROM (
SELECT id,
(@rownum := @rownum + 1) AS num
FROM tl_calendar_events
CROSS JOIN (SELECT @rownum := 0) r
WHERE pid = ?
ORDER BY startDate ASC, startTime ASC
) AS temp
WHERE temp.id = ?")->execute( $this->pid, $this->id )->num;
?>
PHP-Code:
<?php
$total = \CalendarEventsModel::countBy('pid',$this->pid);
?>
Lesezeichen