【问题标题】:Reusable functionality in multiple views多个视图中的可重用功能
【发布时间】:2013-03-31 04:55:26
【问题描述】:

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

这是我想做的基本概述:

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

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

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

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

我的第一个想法是构建一个助手,但我读到在视图中包含助手并不是好的 MVC 实践。那么 CI 中还有什么其他技术可以做这样的事情呢?

保重, 李

【问题讨论】:

  • 如果我对您的理解正确,您希望在多个视图中使用多个视图部分,并且不想重复自己。您可以查看此stackoverflow.com/a/15593888/1592648,这是创建模板视图的示例,该模板视图在其中加载常用视图并允许您将数据传递给它,同时在其中加载自定义视图。

标签: codeigniter


【解决方案1】:

您可以构建部分视图并将其作为 HTML 块加载到主视图中。

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

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

然后在您的主视图上使用该 ($user_info_box)。

【讨论】:

  • 谢谢。唯一的问题是有时需要多次使用不同的数据。我正在考虑使用图书馆。
  • 您可以多次使用它,您必须使用您的相关数据更改$settings 数组并获取您需要的任何 HTML 并将其传递给您的主视图。
猜你喜欢
  • 1970-01-01
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-18
  • 2022-08-18
相关资源
最近更新 更多