代码之家  ›  专栏  ›  技术社区  ›  Germán Rodríguez

在CodeIgniter框架上有什么类似于母版页的东西吗?

  •  11
  • Germán Rodríguez  · 技术社区  · 14 年前

    我是新的代码点火器,我想知道是否有什么工作,如母版页做的.NET。

    我还想知道我应该把我的公共文件,如脚本、样式和图像,放在哪里。

    问候,并提前感谢您

    4 回复  |  直到 12 年前
        1
  •  12
  •   Stephen Curran    14 年前

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

    控制器:

    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保存在项目根目录中。

        2
  •  2
  •   Chris    14 年前

    我不确定他们有什么和母版页完全一样的东西。CodeIgniter更像是一个MVC框架,它使用视图和控件来构建页面。如果你是一个新手,net.tutsplus有一个很好的 series of videos 对于如何为不同的场景使用这个框架,这已经深入到了一定程度。在“追赶”部分下面看看视频列表。

    希望这对你的项目有所帮助并祝你好运。

        4
  •  0
  •   TNi    14 年前

    我对.NET或CodeIgniter不太熟悉,但通过明智地使用 Views . 那一页的第一句话是:

    实际上,如果需要这种层次结构,视图可以灵活地嵌入到其他视图(其他视图等)中。

    这似乎正是母版页所提供的。实际上,大多数PHP框架和模板系统都提供相同的功能。

    在回答第二个问题时,您可能希望将脚本、样式和图像保存在Web根目录之外的单独文件夹中。我相信URL是相对于index.php的,所以保持资源在附近会使它们在视图中更容易被引用。另一种选择是看看 Asset Helper .