Heim > php教程 > PHP源码 > Yii的smarty插件 ESmartyViewRenderer 中的错误更正

Yii的smarty插件 ESmartyViewRenderer 中的错误更正

PHP中文网
Freigeben: 2016-05-25 17:13:08
Original
948 Leute haben es durchsucht

Yii的smarty插件 ESmartyViewRenderer 中的错误更正

class ESmartyViewRenderer extends CApplicationComponent implements IViewRenderer
{
    省略..................

    public function renderFile($context,$sourceFile,$data,$return) {
        // current controller properties will be accessible as {$this.property}
        $data['this'] = $context;
        // Yii::app()->... is available as {Yii->...} (deprecated, use {Yii::app()->...} instead, Smarty3 supports this.)
        $data['Yii'] = Yii::app();
        // time and memory information
        $data['TIME'] = sprintf('%0.5f',Yii::getLogger()->getExecutionTime());
        $data['MEMORY'] = round(Yii::getLogger()->getMemoryUsage()/(1024*1024),2).' MB';

        // check if view file exists
        if(!is_file($sourceFile) || ($file=realpath($sourceFile))===false)
            throw new CException(Yii::t('yiiext','View file "{file}" does not exist.', array('{file}'=>$sourceFile)));

        $template = $this->smarty->createTemplate($sourceFile, null, null, $data, false);

        //render or return
        if($return){
            /*
             * 源代码错误!
             * return $template->fetch($sourceFile);
             * 正确的调用方法如下,当指定参数时,必须指定所有相关的参数
             * return $this->smarty->fetch($sourceFile, null, null, $data, false);
             */

            return $template->fetch();    // 所有参数均从 $template 对象继承
        } else {
            /*
             * 源代码错误!
             * $template->display($sourceFile);
             * 正确的调用方法如下,当指定参数时,必须指定所有相关的参数
             * $this->smarty->display($sourceFile, null, null, $data, false);
             */

            $template->display();    // 所有参数均从 $template 对象继承
        }
    }
}
Nach dem Login kopieren

                   

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage