• <menu id="mogi4"></menu>
    <menu id="mogi4"><tt id="mogi4"></tt></menu>
  • <nav id="mogi4"><code id="mogi4"></code></nav>
    首頁 織夢教程正文

    織夢教程:有關dede靜態模板類dede:foreach的使用

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

    在測試的時候發現靜態模板類里面的 。

    {dede:foreach array=”數組名”} [field:key/] [field:value/] {/dede:foreach}這本標簽總不能正常使用,執行后總是返回:

    [field:key/] [field:value/] [field:key/] [field:value/] .n個“[field:key/] [field:value/] ”而不是正在的數據,在網上搜了搜,結果大部分都是轉載織夢系統的原裝幫助文檔里面的資料,沒有說明此問題,這里有人也遇到了一樣的問題,本來想回復他來,可是我是新人,他所在的版塊我無權回復,就發一個新帖了,呵呵,扯遠了,書歸正傳。

    為什么會有這樣的效果呢,數組名設置后是可以遍歷的,而且遍歷的次數也是對了,就是數據不能正常顯示肯定是哪里解析錯誤了,順著思路往下找,最后在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);

    問題就在正則表達式上,主要是這部分([\r\n\t\f ]+)說明在 [field:key 與 /] 之間可以包含換行、制表符、空格,但是不能什么都沒有,也就是說 [field:key/]是不對的必須是:

    [field:key /](空格的)或[field:key /](制表符的)或[field:key/](換行的)這樣就解決問題了,我測試是可以的。

    =============================

    希望對需要的人可以解決問題。


    版權聲明

    本站文章轉載自互聯網,僅供訪客參考,不代表本站立場。如本文侵占您的版權,請提供證明文件,我站會及時刪除。
    與本站合作的作者所發文章僅代表作者個人觀點,與本站無關;作者授權發表的文章,未經許可,不得轉載。
    常見問題:如何充值積分及提升用戶VIP?

    本文鏈接:http://www.hbxwb.com/post/1748.html

    發表評論

    評論列表(0人評論 , 21人圍觀)
    ?還沒有評論,來說兩句吧...

    標簽列表

    亚洲精品456在线播放