全部,
此代码可以通过CSS完美地打印每个列表项底部的所有5个结果。
然而,最后一项ID就像没有边框一样。如何在最后一次迭代中向列表项添加一个类?
<?php list($parent) = split('/', $this->url); ?>
<?php $last_articles = $this->find('/news')->children(array('limit'=>5, 'order'=>'page.created_on DESC')); ?>
<ul id="latest-news">
<?php foreach ($last_articles as $article): ?>
<li>
<?php echo '<h3>'.$article->link($article->title()).'</h3>'; ?>
<?php echo strip_tags(substr($article->content(),0,100)).'...'; ?>
</li>
<?php endforeach; ?>
</ul>
感谢您的帮助。
答案 0 :(得分:2)
<?php list($parent) = split('/', $this->url); ?>
<?php $last_articles = $this->find('/news')->children(array('limit'=>5, 'order'=>'page.created_on DESC')); ?>
<ul id="latest-news">
<?php $count = count($last_articles); $num = 0; ?>
<?php foreach ($last_articles as $article): ?>
<li <?php if($num == $count-1){ ?> class="last-item" <?php } ?>>
<?php echo '<h3>'.$article->link($article->title()).'</h3>'; ?>
<?php echo strip_tags(substr($article->content(),0,100)).'...'; ?>
</li>
<?php $num++ ?>
<?php endforeach; ?>
</ul>
BTW,这会将“last-item”类添加到最后处理的项目中。
是的,您应该重新构建代码,使其具有可读性。
答案 1 :(得分:0)
您可以使用:last-child
CSS修饰符:
ul.latest-news:last-child { border-bottom: none; }
但是它还没有得到广泛的支持,所以添加一个明确的.last
类可能是最好的。