GetOne("키워드 선택)"으로 수정합니다."/> GetOne("키워드 선택)"으로 수정합니다.">

 >  기사  >  CMS 튜토리얼  >  dede:arclist 키워드와 관련된 문제를 해결하는 방법

dede:arclist 키워드와 관련된 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-01-13 09:46:462142검색

dede:arclist 키워드와 관련된 문제를 해결하는 방법

{dede: arclist 키워드='동적으로 키워드 얻기'}를 해결하는 방법은 무엇인가요?

Solve {dede:arclist 키워드='키워드의 동적 획득'}

추천 학습: 짠 Mengcms

에서는 최근 관련 기사의 관련성을 높이기 위해 템플릿을 수정했지만, 페이지 생성 시간이 늘어나면 좋을 것 같습니다. 자주 업데이트되지 않습니다

최근에 웹사이트 작업을 하고 있는데 제목을 표시하는 div 블록이 있는 함수를 만들고 싶습니다. 현재 기사와 동일한 키워드가 포함된 기사입니다. 처음에 이렇게 썼네요

{dede:arclist 키워드='{dede:field name='keyword'}'}결과는 절대 허용되지 않습니다. . . . 온라인에서 찾을 수 없었습니다. 그래서 제가 직접 코드를 읽고 간단한 솔루션을 직접 작성했습니다.

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 키워드='Write what you want here as long as it does notempty'}를 직접 호출하세요. 그렇지 않으면 고칠 수만 있습니다.

글 올리기 직전에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.