在 Codeigniter 中创建块/模块

2024-07-04

到目前为止,我一直很喜欢使用 CodeIgniter 创建一些简单的 Web 应用程序(实际上只是学习框架),但我无法找到创建块/模块的简单方法。

我希望有一个“最近的图像”块,我可以将其放在网站上的任何页面上,而无需在每个页面的控制器中重复查询并将其传递到带有 $vars 的模板。

2个问题:

  1. 我在视图中使用部分内容 已经,但是我该怎么写 从控制器拉取的部分 除指定的以外 网址。
  2. 我怎样才能干净地创建一个 提取数据的控制器 该块并且不会创建
    它的页面。

这看起来应该很简单,我只是没有运气自己找到合适的解决方案。提前致谢。


好的,这是我对“小部件”、“模块”、“部分视图”或任何你想称呼它们的东西的看法。不管怎样,我们指的是页面的可重用项。

有很多不同的方法可以做到这一点,所以我的方法可能不适合您 - 不过,这可能正是您正在寻找的!

首先,我将小部件作为视图,假设路径如下:views/widgets/myview.php

我决定计划在控制器中使用哪些小部件。我的方法是将我想要的视图的路径放入数组中,如下所示:

$data['widgets'] = array('widgets/myview', 'widgets/myview2');

然后,当我加载主视图(仍在我的控制器中)时,我这样做:

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

现在小部件数组已传递到主视图。

然后在我的主视图中,当我到达小部件所在的位置时,我会像这样循环遍历我的数组:

foreach ($widgets as $widget)
{
    $this->load->view($widget);
}

该循环在我的主视图中运行。方便的是,您传递到主视图的所有数据都将在您加载的嵌套视图中可用。

我已经用这种方式在 Codeigniter 中制作了许多小部件,这也是我在 CMS 中使用的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Codeigniter 中创建块/模块 的相关文章

  • 基于 Woocommerce 中用户总购买金额的自定义购物车通知

    我正在尝试根据 Woocommerce 中的用户总购买金额显示自定义购物车通知 基于此答案代码 根据 Woocommerce 中的客户总购买金额添加百分比折扣 https stackoverflow com questions 521417
  • codeigniter 中的会话超时动态

    我有关于 codeigniter Timeout 的问题 我知道配置文件夹手动设置会话超时 如 l config sess expiration 123 但我需要网站管理员在管理页面动态管理会话超时 请帮助我如何实现这个逻辑 我尝试了这个逻
  • LIBXML_NOENT 是做什么的(为什么不叫 LIBXML_ENT)?

    在 PHP 中 可以将可选参数传递给各种 XML 解析器 其中之一是LIBXML NOENT The 文档 https secure php net manual en libxml constants php对此有这样的说法 LIBXML
  • WordPress 如何在没有重写映射的情况下重写 URL?

    WordPress 站点的 htaccess 文件如下所示
  • 检查您的代码是否在 64 位 PHP 上运行

    有谁知道在 PHP 中检查脚本是否以 32 位或 64 位运行的方法 目前我使用的是 PHP 5 3 5 理想情况下 我想编写一个函数 以便我的代码如下所示 if is 32bit true do 32bit workaround do e
  • Laravel 自定义验证消息参数

    我正在使用 Laravel 5 1 我有一个 Summernotejs 表单元素 我已经成功创建了一个自定义验证规则 该规则获取从表单输入提供的 HTML 剥离标签 然后执行strlen 调用文本内容 因此我可以看到消息的长度 其中没有任何
  • Cron 调度程序 CakePHP 2.0

    我正在使用 CakePHP 2 0 并一直在尝试设置一个 cronjob 来执行控制器中的方法 我一直在疯狂地浏览各种教程和随机网站 看看是否能找到解决方案 我收到的错误是这样的 Undefined variable argc APP we
  • 用于 LIKE 时 MySqli 准备语句错误

    我正在尝试使用 php 的 mysqli 扩展为 LIKE 查询制作准备好的语句 但无论我尝试什么 我总是会收到此错误 Fatal error Problem preparing query SELECT f r slug FROM foo
  • PHP 插入数组值、表名

    我正在努力处理 PHP 插入语句 我希望它通过使用将数据插入数据库array keys values and array values values 我试图弄清楚如何做到这一点 到目前为止 我的插入中已包含此代码 并且还包含了我的索引页 我
  • PHP回显随机数组并插入数据库而不重复

    我有一个代码可以滚动一个随机数字 并根据获胜者的机会显示获胜者 data array foreach getAllUserTicketHistoryJson as value data value user id number format
  • 调整大小然后裁剪 PHP

    好的 基本上我希望所有图像都是 170x170px 的正方形 因此 如果图像不是正方形 我希望调整它的大小 然后在中间裁剪 我花了很多时间玩这个 但一无所获 我已经让它裁剪较大图像的一部分等 但我特别需要调整图像大小 然后裁剪 任何帮助将不
  • 通过 AJAX 调用的 PHP header() 无法正常工作

    我是网络开发新手 现在我正在开发网站上的登录功能 我使用 Javascript AJAX 获取用户名和密码并将其发送到 PHP 文件以在 MYSQL 数据库上进行验证 这就是我要做的 我的问题是为什么 header 函数不能正常工作 我想在
  • 如何使用 TCPDF 将字体嵌入到 PDF 中?

    我尝试使用 TCPDF 其代码如下 require once SERVER DOCUMENT ROOT tcpdf tcpdf php pdf new TCPDF PDF PAGE ORIENTATION PDF UNIT PDF PAGE
  • 计算已发布字符串中的行数

    我试过这个 PHP 中计算文本区域中的新行以调整容器大小 https stackoverflow com questions 1743745 count new lines in textarea to resize container i
  • 以限制公共访问同时仍允许父类访问的方式覆盖子类中的公共方法?

    我有一个通用的 Collection 类 具有各种公共 getter 方法 要从 Collection 中获取一项 请调用 get 还有几种返回多个项目的方法 getMany getRange getAll find findAll que
  • 将 3 个具有透明度的图像组合在一起

    我正在做这个项目 我想将三张图像合并为一张 到目前为止 有效的方法是使每个图像 jpg 透明 但将它们合并成新的 png 图像后 透明度就消失了 这是代码 function CreateMyCoolOutfitBaby Outfitwidt
  • 在 Windows Server 2003 上安装 PHP 5 - %1 不是有效的 Win32 应用程序

    我正在尝试在带有 IIS 6 的 Windows Server 2003 环境上安装 PHP 5 安装 PHP 并在 IIS 中进行必要的更改后 出现以下错误 1 is not a valid Win32 application 服务器不是
  • 使用php从xml中导出mysql数据

    我正在尝试使用 php 将数据从 mysql db 导出为特定的 xml 格式 我是这样创建的 如果我这样做 我会在 xml 中得到 string 的正确输出
  • PHP:如何使图像中的绿色区域(背景)透明?

    我是 Stackoverflow 的新人 我非常想弄清楚是否可以使用 PHP 脚本使图像的特定颜色透明 如果是的话 该如何去做呢 假设这是背景颜色 绿色 必须完全透明的图像 法国热狗带绿色背景 http clubace dk hotdog1
  • 如何构建我的 PHP 项目?

    我即将开始另一个大型 PHP 项目 这次 我打算让项目文件夹变得整洁 所以我有几个关于保持我的项目干净和干燥的问题 如何区分 PHP 源文件和浏览器应访问的 PHP 文件 换句话说 我如何清楚哪些 PHP 文件提供输出 哪些提供函数或类定义

随机推荐

  • 导入 python-pptx:ModuleNotFoundError:没有名为“pptx”的模块

    我正在 macOS Mojave 10 14 1 上运行 Python 3 6 6rc1 并且我正在尝试导入 python pptx 目前 我的第一行引起了问题 import python pptx 我删除了它并添加了它 但无济于事 fro
  • 使用 jquery 交替行颜色

    使用 jQuery 而不是 CSS 是否可以在记录之间交替行颜色 如果是这样 任何人都可以提供一个简短的代码脚本来说明如何完成此任务吗 尝试这个 tr even css background color eeeeee tr odd css
  • 从 Android Web 视图启动 QR 扫描仪并使用 Xamarin 返回扫描结果

    我有这个 Xamarin 应用程序 单击按钮时会启动 QR 扫描仪 此按钮点击是用 Javascript 处理的 单击按钮时 将调用下面的 C 代码 这应该会启动 QR 扫描仪 一旦扫描到该值 扫描的值就会返回到 Javascript 函数
  • 具有不同配置的 NLog 记录器

    在 NLog 中可以创建具有不同配置的多个记录器吗 我有一个组件 每次实例化时都必须将所有事件记录到与新实例相关的不同文件中 NLog 可以做到这一点吗 如果没有 有日志框架可以做到这一点吗 是的 你可以这么做 您可以配置该类型的记录器以记
  • Jetpack Compose 更改滑块拇指尺寸

    有没有办法改变滑块拇指大小 我认为现在我们只能操纵颜色 var sliderPosition by remember mutableStateOf 0f Text text sliderPosition toString Slider va
  • VueJS/Typescript - 找不到模块“./components/Navigation”或其相应的类型声明

    当我创建一个脚本作为打字稿 lang ts 时 我收到一条错误消息 找不到模块 components Navigation 或其相应的类型声明 Vetur 2307 我意识到只有当我将 lang 设置为 ts 时才会发生这种情况 这是我构建
  • 在 Visual Studio 2010 Professional 下更改 C++ Windows 窗体应用程序的启动窗体

    由于某种原因 我似乎找不到一种方法来做到这一点 更改 Visual Studio Professional 2010 下 C Windows 应用程序的启动形式 正如许多网站建议的那样 进入 Project properties Appli
  • 在绘制之前停止 NSView drawRect 清除? (lockFocus 不再在 macOS 10.14 上运行)

    我有一个使用两个视图的动画 我将调用 lockFocus 并使用 NSGraphicsContext currentContext graphicsPort 获取第二个 NSView 的图形上下文 然后进行绘制 在 macOS 10 14
  • Neo4j 节点/关系不一致

    当获取或当我尝试删除特定节点时 例如 MATCH p where ID p 79259223 OPTIONAL MATCH p r drops p s relations DELETE r p 我收到以下错误 在加载节点 79259223
  • cmd 将“字符保存到文件中,不换行

    是否可以将特殊字符 保存到字符串中而无需换行 我尝试了下面的代码 但没有一个工作 echo set p gt gt C text txt echo set p gt gt C text txt echo set p gt gt C text
  • 导入错误:没有名为“appdirs”的模块

    我正在尝试获取一个名为环聊机器人 https github com hangoutsbot hangoutsbot在我的 Linux 服务器上工作 我目前正在使用数字海洋服务器 然而 每次我尝试运行该脚本时 它都会给出一个错误 Import
  • ASP.NET CheckBox 在回发时未选中,没有奇怪的黑客攻击

    我有一个GridView带有复选框列 单击按钮后 所有选中复选框的行都应被删除 我不知何故偶然发现了一个奇怪而老套的解决方案 但我不知道它为什么有效 我已经搜索过相关的SO问题了 相关代码 Protected Sub Page Init B
  • 如何重新连接到 slime/swank-clojure 会话?

    似乎每当我从 clojure slime 会话断开连接时 我就无法再次重新连接 我正在使用 leiningen 启动 swank 会话 使用 lein swank 插件 所以 每次我退出 emacs 我知道我不应该 或重新启动 注销时 我都
  • 如何在microsoft access中动态加载、访问和卸载子表单

    我正在尝试从 ASP NET 过渡到 Access 中的编程 并且当我想到 Access 中的子表单时 我习惯于从用户控件的角度进行思考 我想做的是允许用户单击按钮来加载包含用户可以输入附加数据的控件的子表单 如果有任何信息或资源能够帮助我
  • 为什么同一个lua脚本执行结果不一致?

    为什么同一个lua脚本执行结果不一致 你好 lua obj a haha b jiji c name tom age 15 for i v in pairs obj do if i c then print i v age v name b
  • 使用 jQuery Toggle 更改 div 文本

    使用时slideToggle 如何更改文本关闭 显示 我做了一个简单的操作 但无法恢复文本更改 这是我所做的 document ready function open click function showpanel slideToggle
  • 从 Mac 应用程序启动 Safari

    如何启动 Safari 浏览器或用户的默认浏览器 将其指向 Mac 应用程序中的特定地址 我使用 Objective C 作为编程语言 Thanks 从 shell 中您可以使用open命令以 URL 作为参数 并且负责在默认浏览器中打开该
  • 在 UIPageViewController 中,当“pageViewController:viewControllerBeforeViewController”被调用时?

    我尝试在中显示照片UIPageViewController 首先 我在集合视图中显示我的照片 然后点击一张照片进入页面视图 然而 当我在页面视图中时 如果我滚动当前照片 向右或向左 我发现两者pageViewController viewC
  • iPad ajax 问题

    长话短说 我必须创建一个聊天功能 该功能似乎适用于除 iPad 也可能是 iPhone 之外的所有设备 我们的客户使用他们的 iPad 进行聊天 因此我在过去 7 个月左右的时间里一直在尝试解决这些问题 这就是我花了多长时间才找出问题所在
  • 在 Codeigniter 中创建块/模块

    到目前为止 我一直很喜欢使用 CodeIgniter 创建一些简单的 Web 应用程序 实际上只是学习框架 但我无法找到创建块 模块的简单方法 我希望有一个 最近的图像 块 我可以将其放在网站上的任何页面上 而无需在每个页面的控制器中重复查