我使用Bootstrap导航标签分割页面(我网站上的帖子。一个页面显示用户发布的帖子。另一个页面显示所有帖子。我使用$ _GET变量对页面进行分页。< / p>
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#myPosts">My Posts</a></li>
<li><a href="#allPosts">All Posts</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="myPosts">
<?php include "myPosts.php"; ?></div>
<div class="tab-pane" id="allPosts">
<?php include "allPosts.php"; ?></div>
</div>
我通过包含相关页面链接在每个标签上显示内容。
以下是应将用户带到第2页的其中一个链接的示例。
<a href="mySite.com/posts?page=2">2</a>
这适用于myPosts,但是当我点击第二个标签(所有帖子)并尝试分页时,它会将我带到myPosts的第二页。分页是基于url的,所以无论如何都要在url中输入tab / div是活动的吗?
答案 0 :(得分:0)
在您发布的代码中,您有<div class="tab-pane active" id="myPosts">
所以active
类在该div中被硬编码。如果这就是你想要的,那就太棒了......否则,我认为在生成列表时我们需要做一些像这个未经测试的代码:
<?php
//dummy data
$pages=array(
array('id'=>'1','posts'=>array('id'=>1,'content'=>'Go Bucks')),
array('id'=>'2'),//more posts
array('id'=>'3'),
);
?>
<ul class="nav">
<?php foreach($pages as $page): ?>
<li class="<?= ($page['id']===$_GET['page']) ? ' active':null ?>">
<a href="posts/page$<?= $page['id'] ?>"></a>Page <?= $page['id'] ?>
</li>
<?php endforeach; ?>
</ul>
<div class="tab-content">
<?php foreach($pages as $page): ?>
<div class="tab-pane<?php if($page['id']===$_GET['page']){echo ' active in';} ?>">
//foreach posts here
</div>
<?php endforeach; ?>
</div>
我想要演示的想法是测试页面ID与$ _GET ['page']值。
另一个想法:查看bootstrap的示例“http://getbootstrap.com/javascript/#tabs 您可能喜欢在这里使用javascript,或者至少检查他们的示例以找出您想要的语法和行为。