关于入门第一个例子的疑问
<?phpclass Blog extends Controller{
function index(){
$data = array('title' => '欢迎进入http://codeigniter.org.cn',
'heading' => '欢迎',
'message' => 'http://codeigniter.org.cn');
$this->load->view('blog', $data);//这里blog是视图名字不需要写扩展名,$this->load->view('folder/blog', $data)这样是在 folder 文件夹里面的blog.php文件[*]}
}
?>
这是坛主发的第一个实例,问一个问题
如果模板页是静态页,即blog.html,怎么实现在参数替换?
比如 blog.html里面有{$titile},{$head},{$content}这样的参数,那在类中怎么写$data=array(); 静态页请参考 http://codeigniter.org.cn/user_guide/libraries/parser.html 模板解析器类。
PS: 一般都用 .php 后缀,这没什么不好,不影响性能。 我是这样认为的,你view里,虽然你要是静态页面,但还是必须写成blog.php,但内容你可以全写html代码,通过模板解析将变量解析到view页面。
$data=array('title'=>'abc','head'=>'bcd','body'=>'body');
$this->parser->parse('blog',$data);
你要在view里使用{title}、{body}这样的,必须加载模板解析类
在autoload.php中的librarys里加入parser即可 在Hex的帮助下,我实现了我想要的功能,谢谢各位的指导
其实就是在controller里改几个地方
$this->load->library('parser');
$data = array('title'=>"这是第一个例子",'content'=>"这是内容,模板的内容!");
$this->parser->parse('blog/index.html', $data); :o 出手晚了一点点 如果用html有点地方用了php语句,不会被解释的吧,不知道CI中怎么处理的? 在这点,CI应该和其他框架一样的,有php语句,不会被执行的
例如在a.html中
<html>
<body>
<?php
echo "ok";
?>
laksjdf
</body>
</html>
不会输出ok的 同样问题。 mark!
页:
[1]