首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我试图调用一个函数时,模板被呈现为纯文本。

当我试图调用一个函数时,模板被呈现为纯文本。
EN

Stack Overflow用户
提问于 2014-03-14 15:12:43
回答 1查看 129关注 0票数 0

在无脂框架中,我试图编写一个函数,它可以将css/js缩小,并从模板htm中调用它。但是,当我试图用htm调用函数时,整个页面就被呈现为文本,包括doctype和所有标记。

我的控制器只是:

代码语言:javascript
复制
public function index($f3, $params) {
            echo \Template::instance()->render($this->BM->themeAbsPath('user_group.htm'));
    }

在.htm模板中有:

代码语言:javascript
复制
<style>
{{ @BM->minify('css','css/',array(
                                    'bootstrap-theme.min.css',
                                    'main.css',
                                    'vendor/smartmenus-0.9.5/addons/bootstrap/jquery.smartmenus.bootstrap.css',
                                    'vendor/datatables/css/jquery.dataTables.css',
                                    'vendor/datatables/css/jquery.dataTables_themeroller.css'
                                )) }}
</style>

最后,职能是:

代码语言:javascript
复制
public function minify($type='css',$folderpath='css/',$files=array()){
        $filepaths = implode(",",$files);
        $this->f3->set('UI',$this->themeRelFolder().'/'.$folderpath); 
        $this->f3->set('minified_'.$type,\Web::instance()->minify($filepaths));
            return $this->f3->get('minified_'.$type);
    }

我没有收到任何500个错误,所以我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 16:54:29

默认情况下,Web->minify函数发送内容类型HTTP报头。为了防止这种行为,应该将第三个参数设置为FALSE:

代码语言:javascript
复制
\Web::instance()->minify($filepaths,NULL,FALSE)

注意:完成函数签名是:

代码语言:javascript
复制
minify ( string|array $files [, string $mime = NULL [, bool $header = TRUE ]] )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22408895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档