ホームページ >CMS チュートリアル >DEDECMS >dedecms がリスト ページの本文コンテンツ フィールドを呼び出す方法
dedecmsリスト ページの本文コンテンツ フィールドを呼び出すにはどうすればよいですか?
ディスクリプションの最適化が SEO と密接に関連していることは誰もが知っています。SEO の初心者は、多くの場合、この分野の経験がありません。ディスクリプションを書かないほうが良いかもしれませんが、次の場合に問題が発生します。説明を書かない、つまり記事一覧ページから記事の紹介を呼び出すことができません。
推奨学習: 梦Weavercms
たとえば、次のコード:
{dede:list pagesize='10'} [field:title/] [field:description/]... 作者:[field:writer/] 发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/] {/dede:list}
説明が書かれていないため、記事の紹介は空白になります。ページの美しさと機能性の向上に重大な影響を及ぼします。
ここで私の解決策をいくつか紹介します。
記事の最初の 100 ワードを記事の紹介としてインターセプトできます。ここでは、cn_substr と html2text の 2 つの関数を組み合わせて使用して、記事をエスケープしてインターセプトする必要があります。テストコード: [field:body function="cn_substr(html2text(@me),200)"/]、本文と説明が同じテーブルにないため、まだ機能しないことがわかります。そこでプログラムから始めなければなりませんでした。
インクルード ファイルの 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}
以上がdedecms がリスト ページの本文コンテンツ フィールドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。