久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

帝國CMS專題調用標簽eshowzt不支持標簽模板使用程序代碼的解決方法

這篇文章主要為大家介紹了帝國CMS專題調用標簽eshowzt不支持標簽模板使用程序代碼的解決方法,通過修改帝國CMS源碼,添加處理字段與代碼,實現專題調用標簽eshowzt可處理標簽模板PHP代碼的

本文講述了帝國CMS專題調用標簽eshowzt不支持標簽模板使用程序代碼的解決方法。涉及針對帝國CMS源碼的修改。分享給大家供大家參考,具體如下:

一、問題:

在項目開發中需要在首頁調用專題,且專題增加了“專題自定義字段”:副標題(ftitle),需要在欄目名調用出比較簡短的副標題。

使用【專題調用標簽】eshowzt并設置對應的標簽模板,在標簽模板的list.var部分勾選【使用程序代碼】,編寫代碼如下:

復制代碼
代碼如下:
$listtemp='
<li><a href="[!--classurl--]">'.ReturnZtAddField('[!--classid--]','ftitle').'</a></li>
';

專題調用標簽寫好后刷新首頁,發現勾選【使用程序代碼】無效,就是說使用【專題調用標簽】eshowzt的時候list.var部分無法使用程序代碼。

二、分析:

查看帝國CMS源碼,找到專題調用標簽eshowzt對應的函數:sys_ShowZtData(位于e/class/t_functions.php約1860行)

分析源碼找到如下代碼:

復制代碼
代碼如下:
//取得模板
$tr=sys_ReturnBqTemp($tempid);

此處獲取模板ID號對應的模板相關變量,包括:模板名(tempname),頁面模板內容(temptext)、列表內容模板(list.var)(listvar)以及是否使用程序代碼(docode)等。

注意:此處的關鍵就在于是否使用程序代碼(docode)字段!

再找到

復制代碼
代碼如下:
//替換列表變量
$repvar=ReplaceShowClassVars($no,$listvar,$r,$num,1,$subnews);

分析函數ReplaceShowClassVars可以發現該函數并未接受與處理【使用程序代碼】字段docode,至此就明白了為什么【專題調用標簽】eshowzt在標簽模板勾選【使用程序代碼】的情況下并未作出代碼解析的原因!

三、解決方法:

步驟1. 新增【使用程序代碼】字段,在e/class/t_functions.php頁面下找到函數function sys_ShowZtData,并在“取得模板”部分添加$docode字段:

復制代碼
代碼如下:
//取得模板
$tr=sys_ReturnBqTemp($tempid);
$docode=$tr[docode];//新增項,判斷標簽模板是否使用程序代碼

如下圖所示:

該步驟可獲取是否使用程序代碼的標志信息。

步驟2. 還是在步驟1中e/class/t_functions.php頁面的函數function sys_ShowZtData中,修改“替換列表變量”部分為自定義函數user_ReplaceShowClassVars,代碼如下:

復制代碼
代碼如下:
//替換列表變量
//$repvar=ReplaceShowClassVars($no,$listvar,$r,$num,1,$subnews);
$repvar=user_ReplaceShowClassVars($no,$listvar,$r,$num,1,$subnews,$docode);

如下圖所示:

PS:仔細對比就能看出,此處的自定義函數比原先的函數多了一個針對$docode的接收處理。

步驟3. 在e/class/t_functions.php頁面底部添加自定義函數user_ReplaceShowClassVars:

具體代碼如下:

復制代碼
代碼如下:
////**************自定義替換欄目導航標簽********************//
function user_ReplaceShowClassVars($no,$listtemp,$r,$num,$ecms=0,$subnews=0,$docode){
global $public_r,$class_r;
//欄目鏈接
if($ecms==1)
{
$classurl=sys_ReturnBqZtname($r);
$r['classname']=$r['ztname'];
$r['classid']=$r['ztid'];
$r['classimg']=$r['ztimg'];
}
else
{
$classurl=sys_ReturnBqClassname($r,9);
}
if($subnews)
{
$r[intro]=sub($r[intro],0,$subnews,false);
}
$listtemp=str_replace("[!--classurl--]",$classurl,$listtemp);
//欄目名稱
$listtemp=str_replace("[!--classname--]",$r[classname],$listtemp);
//欄目id
$listtemp=str_replace("[!--classid--]",$r[classid],$listtemp);
//欄目圖片
if(empty($r[classimg]))
{
$r[classimg]=$public_r[newsurl]."e/data/images/notimg.gif";
}
$listtemp=str_replace("[!--classimg--]",$r[classimg],$listtemp);
//欄目簡介
$listtemp=str_replace("[!--intro--]",nl2br($r[intro]),$listtemp);
//記錄數
$listtemp=str_replace("[!--num--]",$num,$listtemp);
//序號
$listtemp=str_replace("[!--no--]",$no,$listtemp);
//針對docode=1(執行程序代碼)的情況statr
if($docode==1)
{
$listtemp=stripSlashes($listtemp);
eval($listtemp);
}
//針對docode=1(執行程序代碼)的情況end
return $listtemp;
}

經過上述三步,問題解決!

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

本篇文章主要介紹了PHP對稱加密算法(DES/AES)類的實現代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要給大家介紹了關于利用Homestead如何快速運行一個Laravel項目的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們
命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數或者類出現相同的名字,否則會產生一個致命的錯誤。這篇文章主要介紹了PHP命令空間namespace及use的用法實踐總結,需
這篇文章主要給大家介紹了關于Laravel中Sessionid處理機制的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來
wordpress是很多新手站長搭建個人博客最喜愛的程序,但是最近在使用WordPress的時候遇到了一些問題,所以想著將遇到問題總結分享出來,下面這篇文章主要給大家介紹了關于wordpress在安
這篇文章主要介紹了PHP 中TP5 Request 請求對象的實例詳解的相關資料,這里提供實現代碼幫助大家理解這部分內容,需要的朋友可以參考下
主站蜘蛛池模板: 亚洲一区二区三区桃乃木香奈 | h视频在线播放 | 亚洲男女视频在线观看 | 在线播放一区 | 嫩呦国产一区二区三区av | 欧美一二三区 | 国内精品伊人久久久久网站 | 日本超碰 | 亚洲视频免费观看 | 特黄一级 | 一二三四在线视频观看社区 | 欧美一区二区三区在线播放 | www.黄色网 | 日韩一级电影免费观看 | 毛片免费在线 | 欧美日韩高清在线观看 | 妞干网视频 | 国产精品一区二区三区在线 | 国产一区二区三区色淫影院 | 亚洲视频一区 | 亚洲欧美在线免费观看 | 天天插天天操 | 一级片av| 九色91视频 | 国产视频一区在线 | 超黄毛片 | 91在线免费观看网站 | 91传媒在线观看 | 韩国精品一区 | 日韩久久中文字幕 | 国产精品不卡一区 | 午夜成人免费视频 | 日本激情一区二区 | 最新日韩在线 | 日韩精品一区二区三区四区 | 国产精品久久久一区二区三区 | 污污的网站在线观看 | 国产偷录叫床高潮录音 | 蜜桃免费一区二区三区 | 国产免费a视频 | 宅女噜噜66国产精品观看免费 |