加载视图 - codeigniter出错

时间:2015-08-06 08:12:25

标签: php codeigniter

我是一个有关编码的新手,我正在做一个菜单,所以我把所有的链接放在同一个主文件中,不要一直重复。

我的代码是:

在main.php中

    <?=$this->load->view('headers/menu');?>

在menu.php中

    <span><a href="<?=base_url()?>main/agregar">Agregar</a></span> 
    <span><a href="<?=base_url()?>main/modificar">Modificar</a></span> 
    <span><a href="<?=base_url()?>main/eliminar">Eliminar</a></span> 
    <span><a href="<?=base_url()?>main/buscar">Buscar</a></span> 

因此,出现以下错误,我不知道为什么...... 有任何想法吗???非常感谢你

  

遇到PHP错误

     

严重程度:4096

     

消息:类CI_Loader的对象无法转换为字符串

     

文件名:views / main.php

     

行号:15

     

回溯:

     

文件:C:\ xampp \ htdocs \ everisgas \ application \ views \ main.php行:15   功能:_error_handler

     

文件:C:\ xampp \ htdocs \ everisgas \ application \ controllers \ main.php行:   9功能:查看

     

文件:C:\ xampp \ htdocs \ everisgas \ index.php行:292功能:   require_once

6 个答案:

答案 0 :(得分:12)

这可能与您的框架版本有关。例如在CI 2.6中

    <?php echo $this->load->view('headers/menu');?> 

但在CI 3.0中有效

    <?php $this->load->view('headers/menu');?>

是用法。

答案 1 :(得分:3)

如果要加载视图的内容并打印它,那么你必须告诉CI通过将第3个参数作为true传递给视图内容作为字符串,如果你没有设置第3个参数参数为TRUE它将返回CI_Loader实例以进行链接。

<?=$this->load->view('headers/menu', '', TRUE);?>

答案 2 :(得分:1)

为什么你回应<?=$this->load->view('headers/menu');?>

而不是在加载主视图之前将其加载到控制器中,或者在同一目录中使用include 'menu.php'main.php时使用menu.php

答案 3 :(得分:1)

您可以在主视图中尝试使用以下内容:

<?php $this->load->view('headers/menu'); ?>

这将在主视图文件中加载菜单视图文件。

答案 4 :(得分:1)

不要使用

<?= 

因为它与

相同
<?php echo

但$ this-&gt; load-&gt;视图返回一个字符串,所以你只需要使用

<?php $this->load->view('some_template');?> 

没有回声

答案 5 :(得分:-1)

您可以这样编写代码

<?php $this->load->view('vadmin/menu'); ?>

这可以解决您的问题