获取模板继承中指定block块的HTML编译代码

原创
2016-06-07 11:38:20787浏览
用于AJAX 获取 模板中需要变动的部分代码
可写在公共继承类,例如AdminBaseController.class.php 用于覆盖 Controller的display() 方法 final protected function display($templateFile='',$charset='',$contentType='',$content='',$prefix=''){
if(empty($templateFile)) $templateFile=ACTION_NAME;
if(IS_AJAX){
C('SHOW_PAGE_TRACE',false);
//获取指定继承块模板
$block=I('block','');
if(!empty($block)){
//获取模板文件路径
$tpl_file=$this->view->parseTemplate($templateFile);
//获取模板文件内容
$tpl_content=file_get_contents($tpl_file);
//匹配指定block内容
$tpl_find=preg_match('/(.*?)<\/block>/is',$tpl_content,$tpl_block);
if($tpl_find){
//编译指定block内容
$tpl_html=$this->view->fetch($templateFile,$tpl_block[1]);
$this->ajaxReturn($tpl_html);
}
}

$content = $this->view->fetch($templateFile);
$this->ajaxReturn($content);
}else{
$this->view->display($templateFile);
}
}
BY:悠悠山雨

AD:真正免费,域名+虚机+企业邮箱=0元

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。