【问题标题】:Load views - Error with codeigniter加载视图 - codeigniter 出错
【发布时间】:2015-10-29 06:40:56
【问题描述】:

我是 codigniter 的新手,我正在做一个菜单,所以我把所有链接都放在同一个主文件中,以免一直重复。

我的代码是:

在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 功能: 需要一次

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

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

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

    在 CI 3.0 中有效

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

    是用法。

    【讨论】:

    • 这是我从 CI2 升级到 CI3 时遇到的问题。谢谢!
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      您可以尝试在主视图中使用如下所示:

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

      这会将您的菜单视图文件加载到主视图文件中。

      【讨论】:

        【解决方案4】:

        不要使用

        <?= 
        

        因为和

        一样
        <?php echo
        

        但是$this->load->view返回不是一个字符串,所以你只需要使用

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

        没有回声

        【讨论】:

          【解决方案5】:

          你为什么回声&lt;?=$this-&gt;load-&gt;view('headers/menu');?&gt;

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

          【讨论】:

            【解决方案6】:

            在 Codeigniter 版本 1.5.4(或更低版本)中,使用 load->view('headers/menu');?> 将加载视图文件,但在 Codeigniter 版本 3.0 中,这将不再起作用,您只需像这样使用 load- >view('标题/菜单'); ?>

            【讨论】:

              【解决方案7】:

              你可以像这样编写你的代码

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

              这可以解决你的问题

              【讨论】:

              • 请解释您的解决方案
              猜你喜欢
              • 2011-10-07
              • 2014-10-18
              • 2013-01-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多