0

我已经为我正在处理的网站配置了“分页”,每页呈现 4 个帖子。工作正常。现在我想在页面顶部设置链接,以便根据页面上的帖子数量,链接会发生变化。

1) 如果您在第一页并且他们的帖子少于 4 个,则“上一个”和“下一个”链接将显示为灰色。

2) 如果您在第一页并且有 4 个帖子,但总共只有 4 个帖子要呈现,那么“上一个”和“下一个”链接将显示为灰色。

3) 如果您在第一页并且有 4 个帖子,但还有更多帖子要呈现,“上一个”是灰色的,“下一个”是一个可点击的链接,带您到下一页

典型的逻辑。诀窍是,如果您在结果的最后一页,并且有更多帖子,则两个链接都应该是可点击的。如果没有,那么“下一步”应该是灰色的。此外,如果一个页面上的帖子少于 4 个,但您不在第 1 页,则“上一个”应该是可点击的,但“下一个”应该是灰色的。

所以,我试图找出处理这个问题的最佳方法。我的渲染帖子页面有一个递增函数来计算帖子($countposts),但它位于页面底部,并且需要在页面顶部使用该值来确定要应用的条件。我是否以正确的方式思考这个问题,或者我可以做一些更容易的事情?

4

1 回答 1

1

一种(经常使用的)解决方案是输出缓冲(http://php.net/manual/en/book.outcontrol.php):

<?php
ob_start();
// All output will be buffered

$count = 0;
while($post = get_post()) { // or something lik that
    $count++;
    ?>
     <h2><?= $post->title ?></h2>
    <?
}

$content = ob_get_clean(); // Turn off buffering and store output in $content

// Generate navigation here
if ($count < 4) {
    echo "No navigation";
}

// Echo the content from the buffer
echo $content
于 2013-10-22T17:16:21.607 回答