进一步传递到模板内部

时间:2013-06-05 21:11:27

标签: php codeigniter

我使用的是phil sturgeon创建的模板库,我的控制面板有以下布局。我收到了这个错误。我在控制面板控制器内部的模板变量上运行了一个var_dump,它显示了控制面板视图的字符串,但是当我在内容视图中执行相同的操作时,它表示没有正文索引。我想知道如何将数据传递到内容视图。

对我有什么想法?

Severity: Notice

Message: Undefined index: body

Filename: partials/content.php

Line Number: 8

控制面板控制器

<?php

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

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

    public function index()
    {
        $this->template
            ->title('Control Panel')
            ->set_layout('controlpanel')
            ->set_partial('header', 'partials/header')
            ->set_partial('sidebar', 'partials/sidebar')
            ->set_partial('breadcrumbs', 'partials/breadcrumbs')
            ->set_partial('content', 'partials/content')
            ->set('user_data', $this->users_model->get($this->session->userdata('uid')))
            ->build('dashboard');
    }
}

content.php

<div id="content">

    <!--    Insert Header    -->
    <?php echo $template['partials']['breadcrumbs']; ?>

    <div class="separator bottom"></div>

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

</div>

我已经尝试过对此进行调查,但仍未找到解决方案。我希望其他人可能会看到我不喜欢的东西。

2 个答案:

答案 0 :(得分:1)

我也使用他的库,在通过

传递对象时遇到了一些问题
$this->template->set('data_name', $my_object);

将它投射到数组。

$this->template->set('data_name', (array) $my_object);

答案 1 :(得分:1)

以下对我有用:

$this->template->set('body', $body);

然后在我看来(使用PyroCMS lex解析器):

{{ body }}

或者,您可以为set方法指定一个数组:

// $ page来自数据库查询

$this->template->set('page', $page);

然后在视图中:

{{ page->body }}