當(dāng)前位置:首頁 >  站長 >  建站經(jīng)驗(yàn) >  正文

dede靜態(tài)模板類dede:foreach如何正確使用

 2020-10-09 15:37  來源: 黎青松SEO博客   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競價(jià),好“米”不錯(cuò)過

剛剛接觸織夢dedecms,就從基礎(chǔ)看起,希望大家不要見笑,多多鼓勵(lì)啊 呵呵。

在測試的時(shí)候發(fā)現(xiàn)靜態(tài)模板類里面的 。 {dede:foreach array=”數(shù)組名”} [field:key/] [field:value/] {/dede:foreach}這本標(biāo)簽總不能正常使用,執(zhí)行后總是返回 [field:key/] [field:value/] [field:key/] [field:value/] ….n個(gè)“[field:key/] [field:value/] ”而不是正在的數(shù)據(jù)。

在網(wǎng)上搜了搜,結(jié)果大部分都是轉(zhuǎn)載織夢系統(tǒng)的原裝幫助文檔里面的資料,沒有說明此問題,這里有人也遇到了一樣的問題,本來想回復(fù)他來,可是我是新人,他所在的版塊我無權(quán)回復(fù),就發(fā)一個(gè)新帖了,呵呵,扯遠(yuǎn)了,書歸正傳! 為什么會有這樣的效果呢,數(shù)組名設(shè)置后是可以遍歷的,而且遍歷的次數(shù)也是對了,就是數(shù)據(jù)不能正常顯示 肯定是哪里解析錯(cuò)誤了, 順著思路往下找, 最后在include/dedetag.class.php文件中的第578行和579行(版本不一樣可能不同,在該文件的AssignSysTag()方法體里面)找到了答案!

$istr .= preg_replace(“/\[field:key([\r\n\t\f ]+)\/\]/is”,$k,$this->CTags[$i]->InnerText); $str .= preg_replace(“/\[field:value([\r\n\t\f ]+)\/\]/is”,$v,$istr);

問題就在正則表達(dá)式上,主要是這部分([\r\n\t\f ]+) 說明在 [field:key 與 /] 之間可以包含換行、制表符、空格,但是不能什么都沒有, 也就是說 [field:key/]是不對的 必須是 [field:key /](空格的) 或 [field:key /](制表符的) 或 [field:key /](換行的) 這樣就解決問題了,我測試是可以的。 ============================= 希望對需要的人可以解決問題!

轉(zhuǎn)載:非常歡迎各位朋友分享到個(gè)人站長或者朋友圈,但轉(zhuǎn)載請說明文章出處“黎青松SEO博客”。

原文地址:http://www.alitaohuo.com/CMSjiaocheng/zhimengjiaocheng/1868.html

申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
dedecms
dede

相關(guān)文章

熱門排行

信息推薦