问题 CodeIgniter框架上有类似MasterPages的东西吗?


我是Code Igniter的新手,我想知道在.NET上是否有像MasterPages那样有效的东西。

此外,我想知道我应该在哪里保存我的公共文件,如脚本,样式和图像。

问候,并提前谢谢你


2365
2017-07-08 03:33


起源



答案:


主视图不会内置到框架中。要获得类似的效果,您可以加载子视图并将其传递给主视图。

控制器:

class Items extends Controller
{
    function show($id)
    {
        $item = $this->item_model->get_item($id);

        // Load the subview
        $content = $this->load->view('item/show', array('item' => $item), true);

        // Pass to the master view
        $this->load->view('master_view', array('content' => $content));
    }
}

主视图:

<div id="header">
</div>
<div id="content">
    <?php echo $content; ?>
</div>
<div id="footer">
</div>

要回答您的其他问题,我将所有Javascript脚本和CSS保存在项目根目录中的目录中。


12
2017-07-08 21:54



这正是我想要的,非常感谢你:) - GerManson


答案:


主视图不会内置到框架中。要获得类似的效果,您可以加载子视图并将其传递给主视图。

控制器:

class Items extends Controller
{
    function show($id)
    {
        $item = $this->item_model->get_item($id);

        // Load the subview
        $content = $this->load->view('item/show', array('item' => $item), true);

        // Pass to the master view
        $this->load->view('master_view', array('content' => $content));
    }
}

主视图:

<div id="header">
</div>
<div id="content">
    <?php echo $content; ?>
</div>
<div id="footer">
</div>

要回答您的其他问题,我将所有Javascript脚本和CSS保存在项目根目录中的目录中。


12
2017-07-08 21:54



这正是我想要的,非常感谢你:) - GerManson


我不确定他们有什么像母版一样的东西。 CodeIgniter更像是一个MVC框架,它使用视图和控件来构建页面。如果您是CodeIgniter的新手,net.TutsPlus有一个真正的好处 系列视频 关于如何将框架用于不同的场景,深入探讨了这个问题。请查看“Catch Up”部分,查看视频列表。

希望这有助于您的项目中的一些好运。


2
2017-07-08 03:47



谢谢你的链接,我真的很感激 - GerManson


试试这个库

http://www.williamsconcepts.com/ci/codeigniter/libraries/template/?v141


1
2017-07-08 11:59





我不太熟悉.NET或CodeIgniter,但似乎可以通过明智地使用提供相同的功能 查看。该页面上的第一句话说:

事实上,如果您需要这种类型的层次结构,则可以灵活地将视图嵌入到其他视图中(在其他视图中等等)。

这看起来就像MasterPage提供的那样。事实上,大多数PHP框架和模板系统都提供相同的功能。

在回答第二个问题时,您可能希望将脚本,样式和图像保留在Web根目录下的单独文件夹中。我相信URL与index.php相关,因此将资源保留在附近将使它们更容易在您的视图中引用。另一个选择是看看 资产助手


0
2017-07-08 03:44



现在我正在使用视图播放功能,但我想知道是否有一些事情能够以更加智能和简单的方式解决问题。 - GerManson
我承认我不知道MasterPages的第一件事,不得不查看它们。但是,从我读过的内容来看,似乎每个内容页面都需要引用它的MasterPage,这与在每个“内容”控制器中加载主视图似乎没什么不同。如我错了请纠正我。 - TNi
msdn.microsoft.com/en-us/library/wtxbf3hh.aspx - GerManson
谢谢!那是我读过的确切页面。内容页面似乎需要在顶部指示如<%@ Page Language =“VB”MasterPageFile =“〜/ MasterPages / Master1.master”Title =“Content Page”%>。 - TNi