• <legend id="m0ego"></legend>
  • <td id="m0ego"></td>
  • 當前位置:源碼庫-建站教程-CMS教程-dedecms教程-dedecms如何在列表頁調用body內容字段的方法示例

    dedecms如何在列表頁調用body內容字段的方法示例

    時間:2019-01-29來源/作者:網站源碼庫 編輯:源碼庫 文章熱度:

    我們都知道description的優化和seo也是息息相關的,對于seo新手來說往往沒有這一方面的經驗,不寫description可能效果更好,但是不寫description會出現一個問題,那就是無法在文章列表頁調出文章的簡介。

    比如下列代碼:

    {dede:list pagesize='10'}
     
    [field:title/]
     
    [field:description/]...
     
    作者:[field:writer/]
     
    發表于:[field:pubdate function="GetDateTimeMK(@me)"/] 評論:[field:scores/] 點擊:[field:click/]
     
    {/dede:list}
    

    因為沒寫description這個時候文章簡介就會顯示空白,嚴重影響了頁面的美觀和功用性。

    下面是我的一些解決方法。

    我們可以用截取文章前100個字作為文章簡介,這里要組合使用用兩個函數cn_substr和html2text,對文章轉義后截取。測試代碼:[field:body function="cn_substr(html2text(@me),200)"/],結果發現還是不行,因為body和description不在同一張表里。所以只好從程序上入手了。

    打開include文件下extend.func.php添加以下代碼: 

    //獲取單篇文檔body
    function GetOneArchiveBody($aid,$length)
    {
    global $dsql;
    $aid = trim(ereg_replace('[^0-9]','',$aid));
    $body = '';
    $query = " Select art.body From `dede_addonarticle` art, `dede_archives` arc where art.aid='$aid' and art.aid=arc.id ";
    $arcRow = $dsql->GetOne($query);
    if(!is_array($arcRow)) {
    return $body;
    }
     
    if(isset($arcRow['body'])) {
     
    $body = cn_substr(html2text($arcRow['body']),$length);
     
    }
     
    return $body;
     
    }
    

    在前臺模板調用:

    {dede:list pagesize='10'}
     
    [field:title/]
     
    [field:id function="GetOneArchiveBody(@me,200)"/]...
     
    作者:[field:writer/]
     
    發表于:[field:pubdate function="GetDateTimeMK(@me)"/] 評論:[field:scores/] 點擊:[field:click/]
     
    {/dede:list}
    

    以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持ASPKU源碼庫。


    注:相關教程知識閱讀請移步到dedecms教程頻道。
    下一篇:沒有了
    相關dedecms教程
    熱門標簽

    dedecms教程Rss訂閱dedecms教程搜索