ホームページ >CMS チュートリアル >DEDECMS >dedecms がリスト ページの本文コンテンツ フィールドを呼び出す方法

dedecms がリスト ページの本文コンテンツ フィールドを呼び出す方法

藏色散人
藏色散人オリジナル
2019-12-14 09:58:212064ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。