Is there anything like MasterPages on CodeIgniter Framework?

核能气质少年 提交于 2019-12-01 00:05:27

问题


I am new to Code Igniter and I wish to know if there is anything that works like MasterPages do on .NET.

Also i was wondering where should i keep my public files, like scripts, styles and images.

Greetings, and Thank you in Advance


回答1:


Master views aren't built into the framework. To get a similar effect you can load the subview and pass that to the master view.

Controller :

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));
    }
}

Master view :

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

To answer your other question, I keep all Javascript scripts and CSS in directories in the root of my project.




回答2:


I'm not sure that they have anything exactly like a master page. CodeIgniter is more of an MVC framework and uses views and controls to build up pages. If you're new to CodeIgniter, net.TutsPlus has a real good series of videos that goes into some depth about how to use the framework for different scenerios. Take a look under the section called "Catch Up" to see the list of videos.

Hope this helps out some and good luck in your project.




回答3:


try this library

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




回答4:


I am not too familiar with .NET or CodeIgniter, but it appears the same functionality can be provided by judicious use of Views. The first sentence on that page says:

In fact, views can flexibly be embedded within other views (within other views, etc., etc.) if you need this type of hierarchy.

This seems like exactly what a MasterPage provides. And in fact, most PHP frameworks and templating systems provide the same features.

In answer to your second question, you may want to keep your scripts, styles, and images in separate folders off of the web root. I believe that URLs are relative to index.php, so keeping your resources near there would make them easier to refer to in your views. Another option is to take a look at the Asset Helper.



来源:https://stackoverflow.com/questions/3200512/is-there-anything-like-masterpages-on-codeigniter-framework

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!