Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 进一步传递模板内部_Php_Codeigniter - Fatal编程技术网

Php 进一步传递模板内部

Php 进一步传递模板内部,php,codeigniter,Php,Codeigniter,我使用的模板库与phil sturgeon创建的模板库相同,我的控制面板的布局如下。我得到了这个错误。我在控制面板控制器中的模板变量上运行了一个var_转储,它显示了控制面板视图的字符串,但当我在内容视图中执行相同的操作时,它表示没有主体索引。我想知道如何将数据传递到内容视图 对我有什么想法吗 Severity: Notice Message: Undefined index: body Filename: partials/content.php Line Number: 8 控制面板

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

对我有什么想法吗

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');
    }
}


我已经试着调查了一下,但仍然没有找到解决办法。我希望其他人能看到我没有看到的东西。

我也使用了他的库,在通过对象时遇到了一些问题

$this->template->set('data_name', $my_object);
把它扔到数组里

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

以下是我的作品:

$this->template->set('body', $body);
然后在我看来(使用PyroCMS-lex解析器):

或者,您可以将数组分配给set方法:

//$page来自数据库查询

$this->template->set('page', $page);
然后在视图中:

{{ page->body }}

我以前没用过那个图书馆,但它看起来很有趣。根据文档,我猜测partials没有像模板那样自动设置“body”变量。试试这样的
set_partial('content','partials/content',array('user_data'=>…)
是的,出于某种原因,我尝试了一些类似的东西,但没有得到任何结果。我想我只是感到困惑,因为我的意思是,我有我的模板,使用构建方法,它告诉它将加载什么视图,但使用我的控制面板模板,它有一个标题、侧栏,和内容部分。内容部分的内部是面包屑部分和身体区域,这是构建应该得到的。只是在这里尝试了一下。我认为你不能在一个部分中使用模板['body']。有没有什么地方你做到了并且成功了?我认为@Klamir是对的。我想你不能部分使用
$template['title']
(和其他)。你可以尝试部分使用
print\r($template)
,看看你可以使用什么。查看库代码(构建方法),我发现部分视图是在设置模板['body']变量之前加载的,因此你将无法将其发送到部分视图。。。在build方法中检查它,也许您可以更改它。
$this->template->set('page', $page);
{{ page->body }}