用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4141|回复: 8
收起左侧

关于入门第一个例子的疑问

[复制链接]
发表于 2008-4-16 12:04:55 | 显示全部楼层 |阅读模式
<?php
class 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();
  • 发表于 2008-4-16 12:10:15 | 显示全部楼层
    静态页请参考 http://codeigniter.org.cn/user_guide/libraries/parser.html 模板解析器类。

    PS: 一般都用 .php 后缀,这没什么不好,不影响性能。
    发表于 2008-4-16 12:14:59 | 显示全部楼层
    我是这样认为的,你view里,虽然你要是静态页面,但还是必须写成blog.php,但内容你可以全写html代码,通过模板解析将变量解析到view页面。
    PHP复制代码
     
    $data=array('title'=>'abc','head'=>'bcd','body'=>'body');
    $this->parser->parse('blog',$data);
     
    复制代码

    你要在view里使用{title}、{body}这样的,必须加载模板解析类
    在autoload.php中的librarys里加入parser即可
     楼主| 发表于 2008-4-16 12:18:19 | 显示全部楼层
    在Hex的帮助下,我实现了我想要的功能,谢谢各位的指导

    其实就是在controller里改几个地方
    $this->load->library('parser');
    $data = array('title'=>"这是第一个例子",'content'=>"这是内容,模板的内容!");
    $this->parser->parse('blog/index.html', $data);
    发表于 2008-4-16 14:31:26 | 显示全部楼层
    出手晚了一点点
    发表于 2008-4-17 08:42:41 | 显示全部楼层
    如果用html有点地方用了php语句,不会被解释的吧,不知道CI中怎么处理的?
    发表于 2008-4-17 09:04:44 | 显示全部楼层
    在这点,CI应该和其他框架一样的,有php语句,不会被执行的
    例如在a.html中
    HTML复制代码
    <html>
            <body>
                    <?php
                    echo "ok";
                    ?>
                    laksjdf
            </body>
    </html>
     
    复制代码

    不会输出ok的
    发表于 2008-4-17 19:10:14 | 显示全部楼层
    同样问题。
    发表于 2013-4-19 16:50:32 | 显示全部楼层
    mark!

    本版积分规则