1

ライブラリのビルドメソッドでボディを確立しているときに、このコントローラーをロードすると、未定義のインデックスボディと表示される理由を理解しようとしています。私は phil sturgeon の 1.9 バージョンの彼のテンプレート ライブラリを使用しています。

<?php

if (!defined('BASEPATH'))
exit('No direct script access allowed');

class Control_panel extends Backend_Controller
{
public function __construct()
{
    parent::__construct();
}

public function index()
{

    $this->template
        ->title('Control Panel')
        ->set_layout('control_panel_view')
        ->set_partial('sidebar', 'partials/sidebar')
        ->build('dashboard_view');
    //echo '<pre>';
    //var_dump($this->template);
    //echo '</pre>';
    //die();
}
}

これは、ログイン ビューに使用するサイドバーを除いた同じレイアウトです。そして、それはうまくロードされます。

<!DOCTYPE HTML>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>    <html class="lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html class="lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->

<head>
<title><?php echo $template['title']; ?></title>

<?php echo $template['partials']['header']; ?>

</head>

<body>

<!-- Start Content -->
<div class="container-fluid login">

    <div id="wrapper">

        <?php echo $template['partials']['sidebar']; ?>

        <?php echo $template['body']; ?>

    </div>

</div>

<?php echo $template['partials']['footer']; ?>

</body>

 </html>

編集 :

私はまだこれに問題があり、これを修正できないようです。何か案は。

4

1 に答える 1

1

取得しているエラーは、投稿したコードからのものではありません。ただし、ファイル名と行番号が付いているはずです。

どこかのようなものを探してください$something['body']。その配列インデックスは設定されていませんが、とにかく使用しようとしています。

設定していません$template['body']。これを行うには、php でテンプレート オブジェクトを使用します。これを行う

$this->template
    ->title('Control Panel')
    ->set_layout('control_panel_view')
    ->set_partial('sidebar', 'partials/sidebar')
    ->set('body', 'body content!')
    ->build('dashboard_view');

明らかに、「本文コンテンツ」を最終的なコンテンツに変更したいと思うでしょう。

于 2013-07-24T18:28:26.810 に答える