2011-01-16 58 views
0

你好im工作在一个项目上,我有一个页脚和一个侧栏,我想从数据库中加载一些信息,我怎么能这样做,它加载所有页面上的相同。codeigniter,管理系统和自动加载

我想做一个管理系统,我应该怎么做?我需要一个新的codeigniter灌输,或者我可以在我的控制器,模型和视图地图中创建一个新的地图吗?

你们是怎么做到的?

回答

0

模板方法,我通常用的是这样...(这显然是依赖于是否侧边栏,在您的设计,来之前/在你的标记“内容”后)

<? $this->load->view('path/to/header') ?> 

//content of page 

<? $this->load->view('path/to/sidebar') ?> 

<? $this->load->view('path/to/footer') ?> 

现在如果你打算为每个视图都需要变量,你可以像控制器的构造函数一样在全局加载它们。

$data->some_variable = $some_information; 
$this->load->vars($data); 

这将使您从该控制器加载的所有视图都可以使用$some_variable

管理系统仅仅是您的站点/应用程序的另一个区域,它仅受认证系统的保护。您首先需要一种方法来验证用户的身份。我通常使用Ion_Auth作为我的首选auth库,并且我已经完成了关于如何以非常干净的方式设置Ion_auth和“受保护”控制器的fairly extensive write-up

1

我会这样做的方式是创建一个MY_Controller,然后将所有的通用逻辑放在它的内部,然后所有其他控制器扩展您的MY_Controller。这样可以避免不得不重复提取内容,并在控制器内部重复定义和写入相同的代码。参见Phil Sturgeon的文章base classes and keeping it DRY

一个用于模板网站,包括管理面板,菲尔鲟鱼还创建了一个简单的template library,使您可以在您的网站有不同的布局,你可以切换主题等

至于创建管理面板,菲尔也写了一篇关于这个主题的文章,他详细介绍了你可以开发管理面板的各种方式,哪种方法最好,等等。关于这篇文章的一些评论也非常有帮助太。阅读他的admin article here

+0

你有这个链接有点不对http://philsturgeon.co.uk/news/2009/07/Create-an-Admin-panel-with-CodeIgniter :) –

+0

啊,很好拿起菲尔。当我发布链接时,你的网站已经关闭,所以我不得不复制谷歌搜索结果中的网址,并从网址中删除所有Google Googlecrap,看起来像我错过了一个角色,哈哈。 –