Heim  >  Artikel  >  CMS-Tutorial  >  So ruft dedecms das Feld „Body Content“ auf der Listenseite auf

So ruft dedecms das Feld „Body Content“ auf der Listenseite auf

藏色散人
藏色散人Original
2019-12-14 09:58:211991Durchsuche

So ruft dedecms das Feld „Body Content“ auf der Listenseite auf

dedecms Wie rufe ich das Textkörperinhaltsfeld auf der Listenseite auf?

Wir alle wissen, dass die Beschreibungsoptimierung eng mit SEO zusammenhängt. SEO-Neulinge haben oft keine Erfahrung in diesem Bereich, aber es wird ein Problem sein, wenn nicht Beschreibung schreiben, d.h. die Einleitung des Artikels kann nicht auf der Artikellistenseite aufgerufen werden.

Empfohlenes Lernen: Dreamweaver cms

Zum Beispiel der folgende Code:

{dede:list pagesize='10'}
  
[field:title/]
  
[field:description/]...
  
作者:[field:writer/]
  
发表于:[field:pubdate function="GetDateTimeMK(@me)"/] 评论:[field:scores/] 点击:[field:click/]
  
{/dede:list}

Da keine Beschreibung geschrieben ist, ist die Artikeleinführung leer. Dies wird die Schönheit und Funktionalität der Seite erheblich beeinträchtigen.

Hier sind einige meiner Lösungen.

Wir können die ersten 100 Wörter des Artikels als Artikeleinleitung abfangen. Hier müssen wir zwei Funktionen cn_substr und html2text in Kombination verwenden, um den Artikel zu maskieren und abzufangen. Testcode: [field:body function="cn_substr(html2text(@me),200)"/], es stellt sich heraus, dass es immer noch nicht funktioniert, da sich Body und Beschreibung nicht in derselben Tabelle befinden. Also musste ich mit dem Programm beginnen.

Extend.func.php in der Include-Datei öffnen und folgenden Code hinzufügen:

//获取单篇文档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;
  
}

Aufruf im Vordergrund-Template:

{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}

Das obige ist der detaillierte Inhalt vonSo ruft dedecms das Feld „Body Content“ auf der Listenseite auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn