有關dede靜態模板類dede:foreach的使用,織夢技術
導讀:織夢技術織夢技術剛剛接觸織夢,就從基礎看起,希望大家不要見笑,多多鼓勵啊 呵呵在測試的時候發現靜態模板類里面的{dede:foreach array="數組名"} [field織夢首頁模板織夢模板。
剛剛接觸織夢,就從基礎看起,希望大家不要見笑,多多鼓勵啊 呵呵 在測試的時候發現靜態模板類里面的 {dede:foreach array=”數組名”} [field:key/] [field:value/] {/dede:foreach}這本標簽總不能正常使用,執行后總是返回 [field:key/] [field:value/] [field:key/] [field:value/] ….n個“[field:key/] [field:value/] ”而不是正在的數據,在網上搜了搜,結果大部分都是轉載織夢系統的原裝幫助文檔里面的資料,沒有說明此問題,這里有人也遇到了一樣的問題,本來想回復他來,可是我是新人,他所在的版塊我無權回復,就發一個新帖了,呵呵,扯遠了,書歸正傳!
為手機模板dede什么會有這樣的效果呢,數組名設置后是可以遍歷的,而且遍歷的次數也是對織夢首頁模板了,就是數據不能正常顯示
肯定是哪里解析錯誤了,
順著思路往下找,
最后在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 ]+)\/\]/i織夢模板修改s”,$v,$istr);
問題就在正則表達式上,主要是這部分([\r\n\t\f ]+)
說明在 [field:key 與 /] 之間可以包含換行、制表符、空格,但是不能什么都沒有
也就是說 [field:key/]是不對的
必須是
[field:key /](空格的) 或 [field:key /](制表符的) 或 [field:key /](換行的)
這樣就解決問題了,我測試是可以的。
============================= 希望對需要的人可以解決問題!
相關織夢首頁模板織夢模板。聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-22 ,文章有關dede靜態模板類dede:foreach的使用,織夢技術主要講述靜態,模板,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_33637.html