好的,这是我对“小部件”、“模块”、“部分视图”或任何你想称呼它们的东西的看法。不管怎样,我们指的是页面的可重用项。
有很多不同的方法可以做到这一点,所以我的方法可能不适合您 - 不过,这可能正是您正在寻找的!
首先,我将小部件作为视图,假设路径如下:views/widgets/myview.php
我决定计划在控制器中使用哪些小部件。我的方法是将我想要的视图的路径放入数组中,如下所示:
$data['widgets'] = array('widgets/myview', 'widgets/myview2');
然后,当我加载主视图(仍在我的控制器中)时,我这样做:
$this->load->view('main_view', $data);
现在小部件数组已传递到主视图。
然后在我的主视图中,当我到达小部件所在的位置时,我会像这样循环遍历我的数组:
foreach ($widgets as $widget)
{
$this->load->view($widget);
}
该循环在我的主视图中运行。方便的是,您传递到主视图的所有数据都将在您加载的嵌套视图中可用。
我已经用这种方式在 Codeigniter 中制作了许多小部件,这也是我在 CMS 中使用的方法。