ホームページ CMS チュートリアル DEDECMS dede:arclist キーワードに関連する問題の解決方法

dede:arclist キーワードに関連する問題の解決方法

Jan 13, 2020 am 09:46 AM
dede

dede:arclist キーワードに関連する問題の解決方法

{dede:arclistkeyword='キーワードの動的取得'}を解決するにはどうすればよいですか?

解決策{dede:arclist keyword='キーワードの動的取得'}

推奨学習: 梦Weavercms

最近テンプレートを変更しました。関連記事の関連性を高めるために最適化するつもりですが、ページの生成に時間がかかります。頻繁に更新しないほうが良いです。

最近取り組んでいるのですが、Web サイトの場合、現在の記事と同じキーワードを持つ記事のタイトルを表示する div ブロックを作成する機能が欲しいと思っています。最初はこのように書かれていました

{dede:arclist キーワード='{dede:フィールド名='キーワード'}'}結果は間違いなく許可されません。 。 。 。オンラインでは見つかりませんでした。そこで私は自分でコードを読み、簡単なソリューションを自分で書きました。

arclist.lib.php の 149 行目

コードは次のとおりです:

//关键字条件 
if($keyword!='')
ログイン後にコピー

{} の真ん中の内容を

{ 
$rowGetKeyword = $dsql->GetOne("select keywords From `dede_archives` where id='$arcid'"); 
$keyword=$rowGetKeyword['keywords']; 
$keyword = str_replace(',', '|', $keyword); 
$orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' "; 
}
ログイン後にコピー

に変更します。このようにして、 { を直接 dede:arclist キーワード='空でない限りここに何でも書いてください'} を呼び出すと、ここのキーワードが動的に取得されます。それ以外の場合は修正するしかありません。

投稿する直前に、dede5.6 でタグを見つけました。

{dede:likeart titlelen='' row=''}
{/dede:likeart}
ログイン後にコピー

このタグはまだテストされていませんが、この機能であるはずです。そうでない場合は、上で説明した方法を使用してください。動作確認済みですので使用可能です。

DEDECMS 関連の記事をキーワードに基づいて修正する方法

DEDE 関連の記事はまったく関係ありませんが、友人が DEDE の TAG に基づいた関連記事を公式にリリースしていて、これも非常に優れています。残念ながら、私はそこに基づいているわけではありません DEDE コードを変更した後は常に失敗します。機能が制限されていることが原因である可能性があります。あるいは、もちろんコードに問題がある可能性があります。

これで、ようやく解決策が見つかりました。 :

1 inc_functions.php?> の最後に

を追加します; コードは次のとおりです:

//查询指定栏目里包含相应关键字的文章,并列出 
//参数说明:$showImg 是否显示缩略图,0表示不显示,1表示显示 
// $titleLen 标题长度,0表示无限 
// $rowCount 输出行数,0表示无限 
// $typeid 栏目ID,0表示所有栏目 
// $keyWord 关键字,字符串 
function ShowKeyWordArc($showImg,$titleLen,$rowCount,$typeid,$keyWord){ 
$dsql = new DedeSql(false); 
$sql = TypeGetSunID($typeid,$dsql); </p> <p>//关键字分词技术 
$ks = explode(" ",$keyWord); 
foreach($ks as $k){ 
$k = trim($k); 
if ($k!="") { 
$kwsqlarr[] = " (xkzzz_archives.title like &#39;%$k%&#39;)"; 
//$kwsqlarr[] = " (xkzzz_archives.keywords like &#39;%$k%&#39;) "; //如果需要相关到其它文章的关键字,解除此行注释 
} 
} 
$where = implode(&#39; OR &#39;,$kwsqlarr); </p> <p>$sql="Select tp.namerule,tp.typedir,xkzzz_full_search.aid,xkzzz_full_search.url,xkzzz_archives.* From xkzzz_full_search left join xkzzz_archives on xkzzz_full_search.aid=xkzzz_archives.ID left join xkzzz_arctype tp on xkzzz_archives.typeid=tp.ID where {$sql} and ((xkzzz_archives.title like &#39;%".$keyWord."%&#39;) or $where) order by xkzzz_full_search.aid desc"; 
$dsql->SetQuery($sql); 
$dsql->Execute(); 
$ss=""; 
$i=0; 
while($row=$dsql->GetObject()){ 
$url=GetFileUrl($row->ID,$row->typeid,$row->senddate,$row->title,$row->ismake,$row->arcrank,$row->namerule,$row->typedir,$row->money); 
if ($showImg==0){ 
$ss=$ss."<LI><a href=&#39;".$url."&#39; target=_blank>"; 
if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen); 
else $ss=$ss.$row->title; 
$ss=$ss."</A></LI>"; 
}else{ 
$ss=$ss."<LI><span class=&#39;sjdqimggl&#39;><a href=&#39;".$url."&#39; target=_blank>"; </p> <p>if ($row->litpic!="") $ss=$ss."<img src=&#39;".$row->litpic."&#39; alt=&#39;".$row->title."&#39; />"; 
else $ss=$ss."<img src=&#39;/images/titl.gif&#39;/>"; 
$ss=$ss."</a></span><span class=&#39;sjdqtxttl&#39;><a href=&#39;".$url."&#39; target=_blank>"; 
if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen); 
else $ss=$ss.$row->title; 
$ss=$ss."</A></span></LI>"; 
} 
$i++; 
if (($rowCount!=0)&&($i>=$rowCount)) return $ss; 
} 
return $ss; 
}
ログイン後にコピー

2

{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
ログイン後にコピー

を記事テンプレート ページ (すべての列に関連記事 (現在の記事のキー) 関連ワード)、タイトルの最大長は 32、最大 10 件表示できます。サムネイル

または

{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三 语文”)’/} 
可以找到标题里,含有“高三 语文”,或者含有“高三”或“语文”的文章
ログイン後にコピー

は表示されません。たとえば、この段落:

相关文章 
{dede:likeart titlelen=’24′ row=’10′}
[field:textlink/]< > 
{/dede:likeart}
ログイン後にコピー

は次のように変更されます:

相关文章 
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
ログイン後にコピー

免責事項: この関数は私が書いたものではありません

関連キーワードに基づいて記事を作成します。これはユーザー エクスペリエンスと SEO の点で非常に優れています

しかし、唯一の欠点は、静的データを生成するときにはるかに遅くなるということだけです (笑)、サーバーは再びハードワークする必要があります

以上がdede:arclist キーワードに関連する問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)