php - CodeIgniter - 在网页上创建 "block"元素的正确方法

标签 php html model-view-controller codeigniter templates

我一直在寻找这个问题的解决方案,但还没有看到任何“有效的 mvc”解决方案。 我希望我能为你们清楚地解释我的问题。

  • 我需要在我的网站上创建一个动态 HTML block 。 (例如,包含用户最新博客评论的 block )。

  • 我有一个模板 View 文件(包含页眉、内容容器和页脚的文件),我需要在其中添加一些内容和此 block 元素。

问题是我不想在每个 Controller 上复制此 block 代码。这感觉很愚蠢,我确信有更好的方法来做到这一点,而不是在所有 Controller 文件上再次复制相同的内容?

我可以在另一个 View 中添加 View ,但让我烦恼的是如何实际生成该动态内容到该 block 的 View 文件中。 我无法从 View 文件调用 Controller 、从 Controller 文件调用 Controller 或从 View 文件调用模型,因为据我所知,这不是“mvc”方式?

有人对此有任何技巧或提示吗?

最佳答案

正如 Zack 所指出的,MY_Controller 非常适合创建全局数据。

我执行此操作的一种方法是创建“部分” View ,这些 View 只是包含所需所有内容的 View 。有时这需要一点 PHP,但对于这些特殊的 View ,我不介意弄脏它们。

另一种方法是将辅助函数与 View 配对。将所有 PHP(用于获取 RSS、缓存等的 cURL 请求)放入辅助函数中:

$this->load->view('partials/rss_feed');

最好的方法是实现 Widgets system from PyroCMS 。那东西太棒了! :D

关于php - CodeIgniter - 在网页上创建 "block"元素的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2640700/

相关文章:

php - INSERT 由于某种原因不会运行

javascript - 为每个浏览器加载 CSS

php - 使用 oAuth 授权,发布到 Twitter

css - 如何让 div 内容打印在一张 8.5x11 的纸的中央?

javascript - 我有一个用幻灯片制作的网页,但幻灯片在屏幕上移动

spring - 如何将Grails 2.2.4版本升级到最新或最新版本?

php - Model View Controller ......和泛型类?

Android 架构设计 - 如何正确做?

php - Laravel Auth::attempt 如何知道 Table

javascript - 使用参数将 Bootstrap 3 远程模态转换为 Bootstrap 4 模态