国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了帝國CMS專題調(diào)用標簽eshowzt不支持標簽模板使用程序代碼的解決方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

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

一、問題:

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

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

復制代碼
代碼如下:
$listtemp='
'.ReturnZtAddField('[!--classid--]','ftitle').'
';

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

二、分析:

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

分析源碼找到如下代碼:

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

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

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

再找到

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

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

三、解決方法:

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

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

如下圖所示:

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

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

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

如下圖所示:

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

步驟3. 在e/class/t_functions.php頁面底部添加自定義函數(shù)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);
//記錄數(shù)
$listtemp=str_replace("[!--num--]",$num,$listtemp);
//序號
$listtemp=str_replace("[!--no--]",$no,$listtemp);
//針對docode=1(執(zhí)行程序代碼)的情況statr
if($docode==1)
{
$listtemp=stripSlashes($listtemp);
eval($listtemp);
}
//針對docode=1(執(zhí)行程序代碼)的情況end
return $listtemp;
}

經(jīng)過上述三步,問題解決!

PS:這里主要修改的代碼就是針對$docode的判斷與執(zhí)行代碼,如果將ReplaceShowClassVars函數(shù)也添加對應的$docode處理:

復制代碼
代碼如下:
if($docode==1)
{
$listtemp=stripSlashes($listtemp);
eval($listtemp);
}

也能解決問題,但考慮到還有其他頁面調(diào)用該函數(shù)的情況,因此使用自定義函數(shù)user_ReplaceShowClassVars相對來說不會影響其他程序的運行。文章來源地址http://www.zghlxwxcb.cn/news/detail-419145.html

到了這里,關(guān)于帝國CMS專題調(diào)用標簽eshowzt不支持標簽模板使用程序代碼的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 帝國cms讓listshowclass標簽也可以調(diào)用欄目別名

    通過修改t_functions.php文件的以下幾個地方 循環(huán)子欄目導航標簽 function sys_ForShowSonClass($classid,$tempid,$show=0,$cline=0){ ... $sql=$empire-query(\\\"select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where \\\".$where.\\\" and showclass=0 order by myorder,classid\\\".$limit);(這里加了bname 目的調(diào)

    2024年02月03日
    瀏覽(82)
  • 帝國CMS如何通過靈動標簽調(diào)用日期時間的方法

    靈動標簽調(diào)用時間默認的代碼不行。用以下代碼即可: =date(\\\"Y-m-d H:i:s\\\",$bqr[newstime])? 這樣就可以了

    2024年02月03日
    瀏覽(87)
  • 帝國CMS靈動標簽調(diào)用多表多模型調(diào)用文章的方法

    靈動標簽調(diào)用多表多模型調(diào)用文章 1、調(diào)用多模型的最新文章 [e:loop={\\\'select * from ( select id,classid,titleurl,filename,title,newstime,titlepic from phome_ecms_movie where newstime union select id,classid,titleurl,filename,title,newstime,titlepic from phome_ecms_news where newstime union select id,classid,titleurl,filename,title,newsti

    2024年02月03日
    瀏覽(87)
  • 帝國CMS首頁通過loop標簽調(diào)用TAGS的實現(xiàn)代碼

    帝國CMS首頁無法調(diào)用TAGS,但是本人整理了一段可以使用的代碼分享給大家。 \\\' target=\\\'_blank\\\' rel=\\\'nofollow\\\'\\\' alt=\\\'=$bqr[\\\'title\\\']?\\\' / =$bqr[\\\'smalltext\\\']?...\\\' title=\\\'更多\\\' target=\\\'_blank\\\'[更多] =date(\\\'Y-m-d\\\',$bqr[newstime])? 類目:=$bqsr[classname]? :=$alltag? ?php }else{? =$bqr[\\\'smalltext\\\']?...\\\' title=\\\'更多\\\' targe

    2024年02月03日
    瀏覽(220)
  • 帝國CMS模板調(diào)用只讀取當天發(fā)布的信息的代碼

    核心 =$xinxi_row[title]? }? 這樣就可以了,一般來說網(wǎng)站每天都要更新才可以得到搜索引擎的親睞。

    2024年02月03日
    瀏覽(104)
  • 帝國cms wap模板中調(diào)用欄目分類的實現(xiàn)代碼

    我們在帝國wap模板中調(diào)用欄目導航的方法,代碼如下: =DoWapClearHtml($rd[classname])??php }? 到這里就完成了,大家根據(jù)需要調(diào)用即可。

    2024年02月03日
    瀏覽(87)
  • 帝國CMS靈動標簽如何調(diào)用$ecms_hashur[‘ehref‘]函數(shù)

    我們在二次開發(fā)時,后臺調(diào)用鏈接就需要加上帝國CMS的$ecms_hashur[\\\'ehref\\\']函數(shù),這是帝國CMS后臺的安全函數(shù),防止外部直接訪問后臺頁面,直接強制訪問后臺鏈接就會提示“非法來源”。 我的站長站分享下制作自定義php頁面,用帝國CMS靈動標簽如何調(diào)用$ecms_hashur[\\\'ehref\\\']函數(shù)方法

    2024年02月09日
    瀏覽(88)
  • 帝國cms自定義列表模板里調(diào)用當前列表ID的方法

    我們在使用帝國cms自定義列表做模板時,需要獲取當前自定義列表對應的ID,在自定義列表模板里面調(diào)用($GLOBALS[\\\'navclassid\\\'])獲取不到當前自定義列表的id的 需要改下程序 eclassfunctions.php 搜索 //生成信息列表 $GLOBALS[\\\'navclassid\\\']=$classid; 改成 $GLOBALS[\\\'navclassid\\\']=$enews==4?$userlistr[\\\'l

    2024年02月03日
    瀏覽(88)
  • 帝國CMS靈動標簽調(diào)用昨天、今天、某天、某天以前、某天以后發(fā)布的文章

    昨天發(fā)布的10篇文章 調(diào)用2020-01-30的10篇文章 [e:loop={\\\'news\\\',10,18,0,\\\'newstime=\\\'.to_time(\\\'2020-01-30 00:00:01\\\').\\\' and newstime=$bqr[title]? [/e:loop] 調(diào)用除今天以前的10篇文章 [e:loop={0,10,3,0,\\\'newstime=$bqno?、=$bqr[\\\'title\\\']?=date(\\\'Y-m-d\\\',$bqr[newstime])? [/e:loop] 調(diào)用2020-01-30以前的10篇文章 [e:loop={0,10,3,0,\\\'newstime=$bq

    2024年02月03日
    瀏覽(87)
  • 帝國CMS靈動標簽調(diào)用文章第一張圖片作為縮略圖的實現(xiàn)代碼

    今天給大家整理一下帝國CMS 靈動標簽調(diào)用特俗效果是的一些實例代碼,希望能給大家獲得幫助。 教程開始: 靈動標簽實例代碼: \\\".$bqr[\\\'title\\\'].\\\" \\\".date(\\\'Y-m-d\\\',$bqr[newstime]).\\\" \\\".esub($bqr[smalltext],90).\\\" \\\";}?\\\" title=\\\" [/e:loop] 這篇文章就介紹到這了。

    2024年02月03日
    瀏覽(86)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包