我們在北京網(wǎng)站建設(shè)中,通常用到的企業(yè)網(wǎng)站的cms,主要用的是beescms,但是現(xiàn)在這個(gè)cms是無法直接在前臺(tái)直接寫php代碼的,這樣就大大減少了網(wǎng)站前臺(tái)標(biāo)簽的靈活性,我們只需要按照北京騰飛網(wǎng)絡(luò)和你說如下幾點(diǎn)修改,就可以讓beescms前臺(tái)標(biāo)簽支持php語句了,beescms前臺(tái)支持php語句的方法:
第一、打開beescms根目錄的include文件夾。
打開beescms根目錄的include文件夾,找到里面的tpl.class.php文件,在48行左右找到private function tpl_replace()這個(gè)函數(shù),將這整個(gè)函數(shù)修改為:
//替換模板
private function tpl_replace(){
$template=$this->template_file_content;//模板內(nèi)容
$preg_arr[] = '/\{\/loop\}/isU';
$preg_arr[] = '/\{(lang|print)\s+(.*)\/\}/isU';//輸出變量
$preg_arr[] = '/{cate\s+(.*)\s*\/}/isU';//欄目變量
$preg_arr[] = '/\{webinfo\s+(.*)\/\}/isU';//網(wǎng)站信息
$preg_arr[] = '/{position\s+(.*)\/}/isU';//當(dāng)前位置
$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';//內(nèi)容分頁
$preg_arr[] = '/{path\s+(.*)\s*\/\}/isU';//路徑
$preg_arr[] = '/{langs\s+(.*)\s*\/\}/isU';//語言
$preg_arr[] = '/{include\s+(.*)\s*\/\}/isU';//包含標(biāo)簽
$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);
//循環(huán)標(biāo)簽
$template=$this->made_tag($template,'loop');
return $template;
}
然后繼續(xù)在這個(gè)文件里面找到private function made_tag($tpl,$tag_type)這個(gè)函數(shù),將這整個(gè)函數(shù)替換為:
//處理標(biāo)簽
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));//標(biāo)簽屬性
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)){
//獲取標(biāo)簽值
$replace=$this->get_tag_value($tag_value,$tag_type);
}
return str_replace($rel[0],$replace,$tpl);
}else{
return $tpl;
}
}
然后保存,到網(wǎng)站的后臺(tái)更新一下緩存,然后你在去前臺(tái)寫一個(gè)php的語句試試。
前臺(tái)的php語句格式應(yīng)該是這樣:
<?php
//這里是php的語句//
?>
這就是實(shí)現(xiàn)beescms前臺(tái)支持php語句的方法。大家如果有什么不明白的地方可以聯(lián)系下我們,北京網(wǎng)站建設(shè)公司-北京騰飛網(wǎng)絡(luò),大家可以一起交流進(jìn)步。
上一篇:北京做網(wǎng)站這篇文章講解一下 ecshop后臺(tái)ajax無刷新修改商品數(shù)量的原理是什么 怎么實(shí)現(xiàn)的
下一篇:做為設(shè)計(jì)師 我們要設(shè)計(jì)出有情感的產(chǎn)品 如何為用戶做出更好的體驗(yàn)