2

nettuts+ のいくつかのチュートリアルで学んだように、コードを構造化するためのより保守しやすい方法を試しています。

ヘッダー ファイルとフッター ファイルを各ページのメイン コンテンツから分離して、それぞれのページと共に読み込まれるようにすることに成功しました。これにより、これら 2 つのファイルへの変更を管理しやすくなりました。

現在、フッターに jQuery コードを 1 ページだけ追加したいと考えています。ここで思考の壁にぶち当たりました。この jQuery コードを、すべてのページではなく 1 ページのみのフッターに表示するにはどうすればよいですか? 誰か説明してくれませんか?

私は次のようなことを考えていました:

<?php if($title = "The jQuery Page"){?>
    <script>
       jquery code here....
    </script>
<?php } ?>

しかし、ある言語を使用して別の言語を引き立たせているため、それは面倒だと考えられていると思います。

編集: 要求されたコードは次のとおりです。

私のコントローラーでは、ビューを呼び出します。

 $data['title'] = "The jQuery Page";
    $this->load->view('header', $data);
    $this->load->view('cool_page');
    $this->load->view('footer');

次に、フッターで、この 1 ページのフッターだけに特定のスクリプトをロードします。

<script src="<?php echo base_url();?>js/jquery-1.10.2.min.js"></script>
        <script>
            $(document).ready(function() {

                /*cool jquery stuff*/

            });
        </script>
4

3 に答える 3

4

viewaをメインにロードしてみてくださいview

/アプリケーション/コントローラー/test.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Test extends CI_Controller {
  public function index() {
    $data = array(
      'title' => "The jQuery Page", 
      'script' => TRUE // if you omit or comment this variable the 'views/script.php' is not loaded
    );
    $this->load->view('test', $data);
  }
}

/アプリケーション/ビュー/test.php

<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
  <?php if (isset($script)) { $this->load->view('script'); } ?>
</body>
</html>

/アプリケーション/ビュー/script.php

<script>
  jquery code here....
</script>
于 2013-10-01T21:11:48.443 に答える
1

スクリプトの周りに条件付きの「if」ステートメントを作成する方法はないと思うので、質問で提案された解決策を使用しました。

タイトルをチェックして、目的のページかどうかを確認します。

<?php if($title = "Photo Albums - Hands of Humanity"):?>

その場合は、スクリプトを DOM に追加します。

<script>
$(document).ready(function() {

//jquery stuff

});
</script>
<?php endif;?>

保守性に優れた方法が他にある場合は、喜んでお聞きします

于 2013-10-01T20:39:11.833 に答える