1

Bootstrap ナビゲーション タブを使用してページを分割しています (自分のサイトの投稿です。1 つのページにはユーザーが行った投稿が表示され、もう 1 つのページにはすべての投稿が表示されます。$_GET 変数を使用してページをページ分割しています。

<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 では正常に機能しますが、2 番目のタブ (すべての投稿) をクリックしてページネーションを試みると、myPosts の 2 ページ目に移動します。ページネーションはすべて URL ベースなので、アクティブなタブ/div を URL にフィードする方法はありますか?

4

1 に答える 1

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'] 値をテストすることです。

別のアイデア: ブートストラップの例をチェックしてください" http://getbootstrap.com/javascript/#tabs ここで JavaScript を使用するか、少なくとも例を調べて、必要な構文と動作を確認してください。

于 2013-10-22T01:06:42.177 に答える