【问题标题】:Sending data to $this->include view in codeigniter 4将数据发送到 $this->codeigniter 4 中的包含视图
【发布时间】:2021-05-17 00:25:41
【问题描述】:

我已将 CodeIgniter 4 的模板分成不同的部分,如页眉、页脚和侧边栏。我可以将它们包含在主视图中,例如

<?= $this->include('layouts/header') ?>

但我无法将数据发送到此布局,我尝试以下语法,就像将数据发送到视图一样

<?= $this->include('layouts/header',['test'=>'hello']) ?>

但是当我将 layouts/header.php 中的变量保存并检查为 &lt;?=$test?&gt; 它给出了错误 错误异常 未定义变量:测试

【问题讨论】:

    标签: php codeigniter-4


    【解决方案1】:

    include 函数来自CodeIgniter\View\View,它的第二个参数是选项数组,而不是数据数组:

    /**
     * Used within layout views to include additional views.
     *
     * @param string     $view
     * @param array|null $options
     * @param null       $saveData
     *
     * @return string
     */
    public function include(string $view, array $options = null, $saveData = true): string
    {
        return $this->render($view, $options, $saveData);
    }
    

    include 旨在与View Layouts 结合使用,您没有提到任何内容。如果您只需要按原样查看视图,则应该使用 view function returns:

    echo view('layouts/header',['test'=>'hello']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      相关资源
      最近更新 更多