2013-03-31 56 views
0

我正在开发Codeigniter项目,需要在多个视图中使用同一位功能。多个视图中的可重用功能

这里是什么,我想要做一个基本轮廓:

在我的网站的几个领域,我需要显示有关用户的一些信息。此信息包括个人资料图片,评分以及发送电子邮件或查看评论的链接。

显示必须进行动态修改。由于各种设置,有时候发送电子邮件的链接不可用。

现在,有些页面可能只有其中的一个,有些页面可能有几个。

所以我想要做的是构建一个小组件,可以加载,提供用户信息,然后处理构建显示。

我的第一个想法是建立一个帮手,但我已经读过,包括助手在视图中并不是很好的MVC实践。那么CI有什么其他技术来做这样的事情?

照顾, 李

+0

如果我正确理解你,你想在多个视图中使用多个视图部分,并且不想不断重复自己。你可以看看这个http://stackoverflow.com/a/15593888/1592648这是一个创建一个模板视图的例子,它加载了它的通用视图,并允许你将数据传递给它,同时在其中加载一个自定义视图。 –

回答

0

你可以建立一个局部视图,并将其加载到主视图为HTML的一大块。

// In Controller 
$data['user_info_box'] = $this->load->view('partials/user_info', $settings, true); 

$this->load->view('main_view', $data); 

然后在你的主视图中使用那个($user_info_box)。

+0

谢谢。唯一的问题是它有时需要多次和不同的数据。我正在考虑使用图书馆。 –

+0

你可以多次使用它,你必须改变'$ settings'数组和你的相关数据,并得到你需要的任何HTML并传递给你的主视图。 – dakdad

相关问题