所以我想要从我的数据库中显示第二个最新的行。所以我的例子(为了更好地解释它)如果我有10行。我想只显示第二个最新的。不是最新的,而是紧随其后的那个。或者甚至可能是第三个。我有下面的工作代码,我看到每个循环。但我不知道如何只显示我想要显示的那个。我也不认为我如何设置它是实现这一目标的最有效方式。
我正在使用concrete5这个网站,主要的想法是作曲家,所以我可以发布一个新的帖子和拉最近的新闻提要,但显示第二个帖子。
这是我目前的代码:(这显示了第一篇文章)
<?php
defined('C5_EXECUTE') or die("Access Denied.");
?>
<div id="blog-index">
<?php
$isFirst = true; //So first item in list can have a different css class (e.g. no top border)
$excerptBlocks = ($controller->truncateSummaries ? 1 : null); //1 is the number of blocks to include in the excerpt
$truncateChars = ($controller->truncateSummaries ? $controller->truncateChars : 255);
$imgHelper = Loader::Helper('image');
foreach ($cArray as $cobj):
$title = $cobj->getCollectionName();
$date = $cobj->getCollectionDatePublic(DATE_APP_GENERIC_MDY_FULL);
$author = $cobj->getVersionObject()->getVersionAuthorUserName();
$link = $nh->getLinkToCollection($cobj);
$firstClass = $isFirst ? 'first-entry' : '';
$entryController = Loader::controller($cobj);
if(method_exists($entryController,'getCommentCountString')) {
$comments = $entryController->getCommentCountString('%s '.t('Comment'), '%s '.t('Comments'));
}
$isFirst = false;
?>
<div class="entry">
<div class="title">
<h3>
<a href="<?php echo $link; ?>" class="text-error"><?php echo $title; ?></a>
</h3>
<h6 class="post-date">
<?php
echo t('Posted by %s on %s',$author,$date);
?>
</h6>
</div>
<div class="excerpt">
<?php
$a = new Area('Main');
$a->disableControls();
if($truncateChars) {
$th = Loader::helper('text');
ob_start();
$a->display($cobj);
$excerpt = ob_get_clean();
echo $th->entities($th->shorten($excerpt,$truncateChars));
} else {
$a->display($cobj);
}
?>
</div>
<div class="ccm-spacer"></div>
<br />
<div class="meta">
<?php echo $comments; ?> <a href="<?php echo $link; ?>" class="btn btn-danger"><?php echo t('Read the full post'); ?> <i class="icon-chevron-right"></i></a>
</div>
</div>
<hr class="blog-entry-divider"/>
<?php endforeach; ?>
</div>
答案 0 :(得分:1)
以其他人写的评论为基础:
你粘贴的是具体的视图。您会注意到那里没有db查询或PageList构建。为此,您需要查看控制器。 (这看起来像一个页面列表块视图,因此控制器将位于/ concrete / core / controllers / blocks / page_list.php(在c5.6 +上)。
用于执行其他人建议的具体的5 api代码(让mysql处理跳过)是在->get()
调用中完成的。所以,关于第135行:
$pl->get(1, 1);
请记住不要直接修改文件,而是以c5方式覆盖它们。 c5网站上有很多关于此的教程。