2013-10-21 46 views
1

我正在使用Bootstrap導航選項卡來分割一個頁面(我的網站上的帖子,一個頁面顯示用戶創建的帖子,另一個頁面顯示所有的帖子,我正在使用$ _GET變量通過包含相關頁面的鏈接進行分頁的頁面。Php分頁Bootstrap Nav選項卡問題

<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的第二頁。分頁是基於網址的,所以無論如何都需要填入網址tab/div是否有效?

回答

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 vs $ _GET ['page']的值。

你另一個想法:!檢查出引導的榜樣」 http://getbootstrap.com/javascript/#tabs 您可以在這裏盡情使用JavaScript,或者至少檢查他們的榜樣制定出你想要的語法和行爲

+0

完善這個原則是什麼我需要並因爲某種原因而逃避我的把握,你說得對,硬編碼的主動課是問題,再次感謝! – Shamrockonov