QQ:在线客服

24小时客服:15069066861 建站流程

NEWS建网站知识

济南建网站知识,网站建设技术灵魂总结
Website news, Technical summary of soul

企业网站建设,beescms前台支持php语句的方法。

点击次数:更新时间:2012-11-28 19:11:36【打印】【关闭】

        我们在济南网站建设中,通常用到的企业网站的cms,主要用的是beescms,但是现在这个cms是无法直接在前台直接写php代码的,这样就大大减少了网站前台标签的灵活性,我们只需要按照济南腾飞网络和你说如下几点修改,就可以让beescms前台标签支持php语句了,beescms前台支持php语句的方法

第一、打开beescms根目录的include文件夹。

打开beescms根目录的include文件夹,找到里面的tpl.class.php文件,在48行左右找到private function tpl_replace()这个函数,将这整个函数修改为:

实现beescms前台支持php语句的方法

 //替换模板
 private function tpl_replace(){
  $template=$this->template_file_content;//模板内容
  
  $preg_arr[] = '/\{\/loop\}/isU';
  $preg_arr[] = '/\{(lang|print)\s+(.*)\/\}/isU';//输出变量
  $preg_arr[] = '/{cate\s+(.*)\s*\/}/isU';//栏目变量
  $preg_arr[] = '/\{webinfo\s+(.*)\/\}/isU';//网站信息
  $preg_arr[] = '/{position\s+(.*)\/}/isU';//当前位置
  $preg_arr[] = '/\{if\s+(.*)\}/isU';//判断
  $preg_arr[] = '/\{else\}/';//判断
  $preg_arr[] = '/\{\/if\}/';//判断
  $preg_arr[] = '/\{flash\s*(.*)\/\}/isU';//flash幻灯
  $preg_arr[] = '/\{list_page\s+source=(.*)\/\}/isU';//列表分页
  $preg_arr[] = '/\{body_page\s*\/\}/isU';//内容分页
  $preg_arr[] = '/{path\s+(.*)\s*\/\}/isU';//路径
  $preg_arr[] = '/{langs\s+(.*)\s*\/\}/isU';//语言
  $preg_arr[] = '/{include\s+(.*)\s*\/\}/isU';//包含标签
  $preg_arr[] = '/\{assign\s+source=(.*)\s+name=(.*)\/\}/isU';//assign输出
  
  $replace_arr[] = "<?php \n}\n}?>";
  $replace_arr[] = "<?php echo \\2;?>";
  $replace_arr[] = '<?php echo $cate_info[\'cate_\\1_seo\'];?>';
  $replace_arr[] = "<?php webinfo(\\1);?>";
  $replace_arr[] = '<?php position(); ?>';
  $replace_arr[] = "<?php if(\\1){?>";
  $replace_arr[] = "<?php }else{?>";
  $replace_arr[] = "<?php }?>";
  $replace_arr[] = "<?php echo flash_ad('\\1');?>";
  $replace_arr[] = "<?php echo \$\\1;?>";
  $replace_arr[] = "<?php echo \$body_page;?>";
  $replace_arr[] = "<?php cmspath('\\1');?>";
  $replace_arr[] = "<?php langs('\\1');?>";
  $replace_arr[] = "<?php \$this->display('\\1',1);?>";
  $replace_arr[] = "<?php \$\\2=\\1;?>";
  
  ksort($preg_arr);
  ksort($replace_arr);
  
  $template = preg_replace($preg_arr,$replace_arr,$template);
  //循环标签
  $template=$this->made_tag($template,'loop');
 
  return $template;
 }

然后继续在这个文件里面找到private function made_tag($tpl,$tag_type)这个函数,将这整个函数替换为:

 //处理标签
 private function made_tag($tpl,$tag_type){
  $preg_str='/{'.$tag_type.'(.*)}/isU';
  preg_match_all($preg_str,$tpl,$rel);
  if(!empty($rel[1])){
  $tag_value='';
   foreach($rel[1] as $k=>$v){
    $val=preg_split('/\s/',trim($v));//标签属性
    if(!empty($val)){
    $tag_value2='';
     foreach($val as $key=>$value){
      if(!empty($value)){
       $value_tag_arr=explode('=',$value,2);//属性名称和值
       $tag_value2[$value_tag_arr[0]]=empty($value_tag_arr[1])?'':$value_tag_arr[1];
       
      }
     }
     $tag_value[]=$tag_value2;
    }
   }
   if(!empty($tag_value)){
   //获取标签值
   $replace=$this->get_tag_value($tag_value,$tag_type);
   }
   return str_replace($rel[0],$replace,$tpl);
  }else{
   return $tpl;
  }
  
 }
 

然后保存,到网站的后台更新一下缓存,然后你在去前台写一个php的语句试试。

前台的php语句格式应该是这样:

<?php

//这里是php的语句//

?>

这就是实现beescms前台支持php语句的方法。大家如果有什么不明白的地方可以联系下我们,济南网站建设公司-济南腾飞网络,大家可以一起交流进步。本文由济南腾飞网络发布,转载请注明。http://www.0531soso.com

济南网站建设成功案例更多
底部线条

7x24小时服务热线:15069066861   网站建设博客