Hallo Frank, hallo Samuell,
@Frank: Limit kann ich im Feld Bedingung nicht verwenden. Das ist ausschließlich für die Where-Klausel da. Contao produziert mir so ein SQL:
SELECT COUNT(*) AS count FROM tl_comments WHERE (LIMIT 0,1)
Ich sortiere jetzt nach Id (aufsteigend, da absteigend im Backend ja nicht festgelegt werden kann), drehe die Reihenfolge dann im Array um und breche die Schleife ab, so wie du es vorgeschlagen hast. Unschön, aber zu mehr reichen meine Kenntnisse hier nicht aus.
Php sieht jetzt so aus:
PHP-Code:
<div class="<?= $this->class ?> comments_last listing block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>
<?php if ($this->headline): ?>
<<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>>
<?php endif; ?>
<?php
$orderedValues = array_reverse($this->tbody, true);
foreach ($orderedValues as $value):
$counter++;
/* Show first 3 comments only */
if($counter > 3) break;
if($value['published']['content'] == 1):
/* show only first 100 characters of comment wihthout enclosing <p></p> */
$commentShort = str_replace("</p>","",str_replace("<p>","",substr($value['comment']['content'], 0, 100)));
if (strlen($commentShort) > 10)
{
$commentShort = $commentShort . "...";
}
?>
<p class="article">Zu: <a href="{{news_url::<?php echo $value['parent']['raw']; ?>}}">{{news_title::<?php echo $value['parent']['raw']; ?>}}</a></p>
<p class="comment">"<?= $commentShort ?>"</p>
<p class="author"><?= $value['name']['content'];?>, <?php echo $this->parseDate("d.m H:i", $value['date']['raw']);?></p>
<?php
endif;
endforeach;
?>
</div>
Danke für die Hilfe und Gruß!
Lesezeichen