如何在另一个视图中包含或要求视图MVC

时间:2017-12-01 15:49:04

标签: php

我想创建一个页面,在所有页面上充当侧边栏。这个侧边栏显示了一些应该从数据库中获取记录的小部件。我不想将此侧边栏代码复制并粘贴到每个其他视图中,而是希望要求或包含它。

我不知道如何解决这个问题,但我尝试的是:

  • 在views文件夹中创建一个名为“widgets”的文件夹并放入一个 index.php文件。
  • 在控制器文件夹
  • 中创建了一个Widgets.php文件
  • 在models文件夹
  • 中创建了一个Widget.php文件
  • 将数据从模型发送到控制器并发送到视图。

如果我直接转到窗口小部件视图中的index.php文件,它工作正常,数据库记录显示为我想要的。

但是,如果我尝试将此索引文件包含在其他地方的另一个视图中,我会得到一个“未定义索引”和“无效参数提供foreach()”。

那么,实现这个目标的正确方法是什么?

PS。我没有使用框架,这是我的控制器:

public function index()
    {

        $widgets = $this->widgetModel->getWidgets();

        $data = [

        'widgets' => $widgets

        ];

        $this->view('widgets/index', $data);
    }

0 个答案:

没有答案