1

codeigniterでプロジェクト全体のデフォルトのテンプレート/レイアウトを実装する方法を教えてもらえますか?

私が見つけた1つの方法は、Code Igniter(CIフォーラム)を使用したテンプレートです。

他に方法はありますか?誰でも完全なサンプルコードを投稿できますか?

4

3 に答える 3

3

1つのレイアウトビューを作成します。このようなもの:

<html>
  <head>
    <title>My awesome site</title>
  </head>
  <body>
    <?= $this->load->view('shared/header') ?>
    <?= $this->load->view($partial) ?>
    <?= $this->load->view('shared/footer') ?>
  </body>
</html>

次に、コントローラーでこれを行います。

$this->data['partial'] = 'pages/index';
$this->load->view('layout/layout', $this->data);

MY_Controllerファイルがある場合は、そこにメソッドを作成できます。

function load_view($partial)
{
  $this->data['partial'] = $partial;
  $this->load->view('layout/layout', $this->data);
}

次に、MY_Controllerから継承するコントローラーで、次を使用できます。

$this->load_view('pages/index'); // pages/index will be loaded in the layout
于 2012-04-14T13:38:18.753 に答える
2

そのうちの1つを知っているいくつかの方法は、サイト/プロジェクトのヘッダービューとフッタービューを作成することです。

application/views/template/header.php
application/views/template/footer.php

次に、他のページを希望どおりに配置します。

application/views/users/login.php

あなたのコントローラーであなたはこのようなことをするでしょう

<?php
    class Blah extends CI_Controller
    {
        public function __construct()
        {
            parent::__construct();
        }

        public function index()
        {
            $this->load->view('template/header');
            $this->load->view('users/login');
            $this->load->view('template/footer');
        }
    }

私が偶然見つけた便利な小さなテンプレートライブラリもあります。これにより、これがさらに簡単になります。ただし、他の方法で入力するほど柔軟ではありません。

http://maestric.com/doc/php/codeigniter_template

編集::テンプレートのサンプルコードをいくつか指定する必要があるので、ここに移動します

header.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Lovely Title</title>
    </head>
    <body>
        <h1>Check This Out!!1!</h1>
        <div class="container">

footer.php

        </div>
    </body>
</html>
于 2012-04-14T12:20:00.483 に答える
0

ビューを他のビューと一緒にいつでもロードして、必要なものを実装できます。

他のより良い方法は、次のようなテンプレート継承をサポートするテンプレートエンジンを使用することです。

CIのライブラリには多くの実装があるため、CodeIgniterでそれらを使用するのはかなり簡単です。

于 2012-04-14T03:20:31.380 に答える