掌握 CodeIgniter - 模板化/加载视图

2024-04-27

尝试学习 CI 并浏览文档以获得更好的理解。如果没有单独的库,我可以通过包含视图列表来制作模板,如下所示:

$this->load->view('header');
$this->load->view('navigation');
$this->load->view('sidenav_open');
$this->load->view('blocks/userinfo');
$this->load->view('blocks/stats');
$this->load->view('sidenav_close');
$this->load->view('content',$data);
$this->load->view('footer');

这是有道理的,但我真的会在我的每个控制器(页面)上都有它吗?不确定是否有办法将其包含在初始控制器中(欢迎),然后在其他控制器中以某种方式引用它?或者也许有一些我完全想念的东西


您可以从视图文件中加载视图。例如,考虑一个名为的通用页面模板page_template.php:

<html>
<body>
  <div id = "header">
      <?php $this->load->view('header');?>
      <?php $this->load->veiw('navigation');?>
  </div>
  <div id = "sidenav">
     <?php $this->load->view('sidenav');?>
  </div>
  <div id = "content">
     <?php echo $content;?>
   </div>

  <div id = "footer">
      <?php $this->load->view('footer');?>
 </body>
 </html>

通过利用 codeigniter 的功能来加载更动态的区域,将视图作为控制器中的变量返回:

$template['content'] = $this->load->view('content',$data,TRUE);
$this->load->view('page_template',$template);

通过将 TRUE 传递给加载函数,CI 将从视图返回数据而不是输出到屏幕。

您的 sidenav 部分可能是它自己的视图文件 sidenav.php,其中您的“块”被硬编码或加载,类似于上面的示例。

我已经用两种方法完成了这件事,包括每个控制器方法中的每一个令人讨厌的视图,以及通过使用加载子视图和动态区域的页面模板,到目前为止,第二种方法让我更高兴。

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

掌握 CodeIgniter - 模板化/加载视图 的相关文章

  • 我如何解决语义错误:“类没有名为..”的关联

    我正在关注 symblog symfony2 教程的第 5 部分 http tutorial symblog co uk docs customising the view more with twig html 标题下 主页 博客和评论
  • 读取用 php 分块的范围块

    我有一个输入字段 可以在其中粘贴下载网址 之后 我使用 AJAX 请求来获取文件信息 例如 headerinfo 内容长度 mime 类型 如果我使用curl 接受范围 然后 我开始连续循环 xhr2 请求 其中包含我的 php 文件的范围
  • $mysqli->fetch_object($result) 不起作用

    我正在学习mysqli 我正在尝试从表 tbllogin 中获取数据 DATABASE CONNECTION hostname p localhost database dbLogin username user1 password pwd
  • 如何在 PHP 中检查特定类型的对象

    我有一种方法 它接受 PDO 对象作为参数 允许用户使用现有连接 而不是打开新连接的方法 并节省资源 public static function databaseConnect pdo null 我知道is object 检查参数是否是一
  • isSaleable() 和 isAvailable() 有什么区别?

    我正在我的 Magento 主题的 单个 产品页面上显示库存可用性 但有些事情我并不完全理解 我看到模板中使用了两种方法来检查产品是否可供销售 Mage Catalog Model Product isAvailable Mage Cata
  • C++ 模板静态成员实例化

    include
  • PHP:测试三个变量是否相等

    我以前从未遇到过这种情况 但是如何测试三个变量是否相同 以下内容显然不起作用 但我想不出一种优雅 且正确 的方式来编写以下内容 if select above average select average select below aver
  • html iframe 中的字符错误

    对不起我的英语我说西班牙语 我正在尝试显示多个php and mysql将在 iframe 内显示的注册 问题是 iframe 向我显示特殊字符的错误 例如 重音符号 感叹号等 D ndecuestamenosyseconsumem s 这
  • 从 BitBucket 请求 OAuth 令牌

    在过去的 4 个小时里 我一直在尝试将 BitBucket 集成到我的应用程序中 但没有成功 在阅读的过程中BitBucket 的 RESTful API 文档 https confluence atlassian com display
  • PHP DOMDocument 中 XML 内 HTML 表的 Xpath 查询

    我有一个具有以下树结构的 XML 文件
  • 带有 WCF BadContextToken 的 PHP Soap 客户端

    经过几天的谷歌 in 尝试 脱发 我仍然找不到解决方案 所以请帮助 简短信息 我需要使用 PHP SOAP 客户端 的 WCF 服务 它使用 wsHttpBinding ws security 并且无法设置 basicHttpBinding
  • 计算网站上多个文件的下载次数的最佳方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 问题是 计算网站上多个文件的下载次数的最佳方法 我正在尝试做的事情 跟踪并统计多个文件的下载数量 对于具有不同扩展名的文件 foo z
  • 'SQLSTATE[HY093]:参数数量无效:绑定变量的数量与令牌数量不匹配'[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到 SQLSTATE HY093 的错误 参数编号无效 绑定变量的数量与标记的数量不匹配 if isset POST cada
  • 过滤两个类别的产品集合 Magento 1.7

    我想要获取包含 A 类或 B 类产品的产品集合 我已经能够使用以下 php 代码成功获取这些产品 collection Mage getModel catalog product gt getCollection gt joinField
  • WP 用户注册 - 也可以立即选择他/她的密码

    这是一个非常简短的前端注册指南 但我在密码方面遇到了一个小问题 我禁用了用户注册时发送的带有密码生成的电子邮件 Don t Send Notification Email To Registered User if function exi
  • AngularJS + Laravel 5 身份验证

    在使用 AngularJS 构建 SPA 时 我想在 AngularJS 网站中实现用户身份验证 但是 我不知道从哪里开始以及最佳实践是什么 基本上我有一个确定可以担任一个或多个角色 我寻找了一些例子 这样我就可以对如何正确处理这个问题有一
  • regex php - 查找 div 中具有特定 ID 的内容

    我确信这是一个简单的问题 尽管我在谷歌上进行了如此多的搜索和搜索 但我似乎无法弄清楚这有什么问题 我在此页面上的其他区域使用类似的表达式来准确返回我想要的内容 但是 我无法让这个特定的位返回我想要的东西 所以也许有人可以帮助我 我有一个带有
  • PHP日期时间“下周星期三”给我星期一

    我正在尝试使用以下方法获取下周星期三的日期new DateTime next week wednesday 然而 它返回2016 12 19 00 00 00 000000今天是星期一 为什么会这样呢 如何得到正确的结果 我尝试在在线 PH
  • 将变量从 PHP 传递到 JavaScript 的有效方法[重复]

    这个问题在这里已经有答案了 有时我必须将一些变量从 PHP 传递到 JS 脚本 现在我是这样做的 var js variable 但这非常丑陋 我无法在 js 文件中隐藏我的 JS 脚本 因为它必须由 PHP 解析 处理这个问题的最佳解决方
  • PHP - 从图像创建一张图像

    我有 n 张图像 想用 php 代码创建一张 我使用 imagecopymerge 但无法成功 请举一些例子 Code numberOfImages 3 x 940 y 420 background imagecreatetruecolor

随机推荐

  • Visual Studio 2012 生成后事件 - 错误代码 255

    这是我尝试将应用程序可执行文件复制到另一个文件夹并更改其名称 IF ConfigurationName Release SET DESTINATION ProjectDir Output Distribution IF NOT EXIST
  • 多重绑定多重选择ListView

    好吧 我这里有一个奇怪的 我想要弄清楚的是如何拥有一个由 ObservableCollection 填充的列表视图 根据第一个列表视图的选择更新另一个由另一个 ObservableCollection 填充的 ListView 然后使用 v
  • URLConnection 和 setUseCaches(true)

    我正在使用当前代码在线程中下载图像 Log d TAG Fetching image BASE URL mURL URLConnection connection InputStream input connection new URL B
  • Hstore 和 Rails

    我正在尝试使用最新版本的 activerecord postgres hstore gem 在 Rails 3 2 9 项目中使用 Hstore 但在使用 ActiveRecord 提供的 store accessor 来获取 Hstore
  • 获取浏览器中正在查看的当前页面(可能吗?)

    我想知道 作为一名 Android 开发人员 我是否可以知道浏览器应用程序当前是否打开 如果是 正在查看哪个页面 网址 如果是这样 我将如何去做这件事 如果没有 我也很想知道 所以我不会再搜索了 谢谢 奥姆里 我不知道是否有可能知道浏览器应
  • solr索引嵌套文档

    solr支持嵌套文档吗 有没有更好的方法来实现这种文档
  • Identity Server:在 MVC 客户端的混合流中添加访问令牌的声明

    我已阅读文档并遵循示例 但无法将用户声明放入访问令牌中 我的客户端不是 ASP NET core 因此 MVC 客户端的配置与 v4 示例不同 除非我误解了文档 否则在创建访问令牌时 ApiResources 用于填充配置文件服务中的 Re
  • findbugs-maven-plugin 不执行任何操作

    我不明白 我想在 Maven 3 项目站点中启用 findbugs 报告 并通过将其添加到我的 pom xml 中来实现 如所述here http mojo codehaus org findbugs maven plugin usage
  • 使用反射从泛型结构获取类型参数

    想象一下我有以下结构 type MyGeneric T string int struct 我想在创建新的 MyGeneric 时检查用于实例化该结构的泛型是字符串还是 int myGenericString MyGeneric strin
  • 使用 r 写入和更新 DB2 表

    我不知道如何更新 R 中现有的 DB2 数据库或更新其中的单个值 除了非常一般的信息之外 我在网上找不到关于这个主题的太多信息 但没有具体的例子 library RJDBC teachersalaries data frame name c
  • Java OutputStream 读取字符串行

    我使用一个 API 更多信息 见下文 它接受输出流捕获数据 相反 我想提供一个Consumer of Strings它消耗了一行又一行的数据 因此我必须编写一个 OutputStream 实现来包装这样的 Consumer 这是我能想到的最
  • 无法让 D3 .on('mouseover', ...) 工作

    我正在学习 D3 并尝试通过将鼠标悬停在 SVG 圆圈上来在散点图上显示数据信息 我从 csv 文件中获取数据 数据位于太阳系 包含行星名称 质量和半径 并且所有圆圈都正确显示 但是当我尝试在鼠标悬停时 console log 数据信息 例
  • 如何使用 grep 查找文件夹内的单词?

    在 Windows 中 我会进行搜索以在文件夹中查找单词 同样 我想知道某个特定单词是否出现在包含许多子目录和文件的目录中 我对 grep 语法的搜索显示我必须指定文件名 即grep string filename Now I do not
  • 使用 Javascript DOM 获取带有标签名称的第一个元素

    我正在尝试获取带有标签的第一个元素
  • 渐进增强 - Node.js、Backbone.js

    Node js 服务器有两个角色 前缀为 api 的路由上的 RESTFul API 在其他路线上呈现网站页面 plans features terms 目前 我的所有页面都会呈现一个 正在加载页面 并与 Backbone router 启
  • 如何增加/检查 Linux 上 Docker 的默认内存?

    我发现在 Windows 和 Mac 上 更改给定的 RAM 容器非常容易 您只需进入 GUI 即可 但是如何在 Linux 上执行此操作 使用 CLI 而不是 GUI 呢 Docker 文档提到了 m标志 但这个标志没有给出任何响应 只是
  • 我可以自定义 UILocalNotification 重复间隔(即仅限工作日吗?)

    我希望能够安排 UILocalNotification 在每天的同一时间重复 但仅限于工作日 没有周六或周日 使用 UILocalNotification 的重复间隔功能是否可以实现这一点 或者是我创建某种处理时间和日期并计算出何时提前安排
  • 如何快速识别 SQL Server 中最近修改的存储过程

    我需要手动将修改后的存储过程从 DEV SQL Server 2005 数据库实例迁移到 TEST 实例 除了我要迁移的更改之外 数据库具有相同的架构 如何快速识别DEV数据库中哪些存储过程被修改并迁移到TEST实例 我假设我可以针对某些系
  • Redis INCRBY 有限制

    我想知道是否有一种方法可以通过我的应用程序的单次往返在 Redis 中执行此操作 对于给定的键K 其可能值V是范围内的任意整数 A B 基本上 它有上限和下限 When an INCRBY or DECRBY发出命令 例如INCRBY ke
  • 掌握 CodeIgniter - 模板化/加载视图

    尝试学习 CI 并浏览文档以获得更好的理解 如果没有单独的库 我可以通过包含视图列表来制作模板 如下所示 this gt load gt view header this gt load gt view navigation this gt