1

何らかの理由$this->load->model('whatever')でコントローラーを呼び出すと、ページはそのモデルのソース コードをレンダリングします。これは私のコントローラーです:

<?php
class Testing extends CI_Controller {

    function index()
    {
        $this->load->model('Testing');
        $this->load->view('testing/view');
    }

}
?>

モデルの読み込みを省略して通常どおりビューを読み込むと正常に動作しますが、モデルを読み込むとビューがレンダリングされず、モデル ソースがレンダリングされます。

また、入れてフックを追加してみました

$hook['pre_controller'] = array(
'class'    => 'Loader',
'function' => 'template',
'filename' => 'ViewTemplate.php',
'filepath' => 'hooks'
);

私のhooks.phpで、次に

Class Loader{

    function template($viewName, $data) {
        $this->view('header');
        $this->view($viewName, $data);
        $this->view('footer');
    }

}

「hooks/ViewTemplate.php」ファイルで。目標は、ヘッダーとフッターを自動的に挿入するビューの代わりにコントローラーでテンプレート関数を使用することです。フックは config.php で有効になっています。そのセクションを hooks.php に追加するたびに、ビューをロードしたときに得られる唯一の出力はフック ソースです。

私はこれを間違って実装しようとしましたか? CI設定を台無しにした可能性はありますか?ApacheまたはPHPに関連している可能性がありますか?

フックが機能するかどうかについてはそれほど心配していませんが、ページにレンダリングされたファイルのソース コードを取得し続けるのはなぜでしょうか。

4

1 に答える 1

2

<?phpファイルの先頭に開始タグがあることを確認してください。これは、CodeIgniter ファイルの一般的な見落としです。

于 2013-03-20T10:36:43.220 に答える