dede: likearticle 기사 태그와 태그 태그가 잘못 연결되어 있으면 어떻게 해야 하나요?
DreamWeaver 5.7에는 기사를 연결하는 데 사용되는 dede:likearticle 태그가 있습니다. 그러나 이를 사용하는 과정에서 저자는 Dreamweaver 5.7을 사용하여 검색할 때 실제로 쓸모가 없다는 사실을 발견했습니다. 아직도 마지 못해 받아들일 수 있나요? 작성자님이 dede의 검색 기능을 이 같은 글로 대체했는데 훨씬 좋아진 것 같습니다.
추천 학습: Dreamweaver cms
코드 소개
저자는 기사를 태그와 연결하도록 기본 키워드를 변경하고, 태그로 퍼지 쿼리를 실행한 후 쿼리가 데이터가 비어 있으면 그냥 판단을 추가했습니다. 이 열 아래의 모든 추천 기사를 직접 쿼리하면 더 좋습니다. 즉, 항상 반환 값이 있습니다.
글쓴이는 태그가 없는 글도 있고, 태그가 있는 글도 없는 것으로 판단하여 태그가 있는지 먼저 확인하고, 태그가 있는 경우 추천 글을 직접 쿼리합니다. , 쿼리에서 기사가 비어 있는 것으로 확인되면 현재 열 아래의 추천 기사도 반환됩니다.
likearticle과 태그 태그를 연결하기 위한 솔루션/단계
1단계: 메모장이나 일부 도구를 사용하여 "루트 디렉터리 includetagliblikearticle.lib.php" 파일을 엽니다.
2단계: "['keywords']"를 검색하고 모두 ['tags']로 바꾸고 저장합니다.
컴퓨터 상호 지원 네트워크 참고:
원래 코드 줄 55: $keyword = ( !empty($refObj->Fields['keywords']) ? $refObj->Fields['keywords'] : '' ) ;
원래 코드 줄 75: if(!empty($refObj->Fields['keywords']))
원래 코드 줄 77: $keywords =explore(',' , Trim($refObj->Fields) ['keywords']));
3단계: "$keyword .= $keyword=='' ? " CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($ k)'" 추가: " OR CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'";"
소스 코드 87행 로그아웃: //$keyword .= ($keyword== '' ? " CONCAT (arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " ") ;
Computer Mutual Aid Network에서 코드 의미 추가: 원래 퍼지 쿼리 문에 작성자가 여기에 짧은 제목을 추가하여 쿼리도 했지만 linke를 퍼지 쿼리로 사용하는 것을 좋아하지 않아서 여기서는 REGEXP 쿼리로 변경했습니다.
4단계: 107행 아래에 다음 코드를 추가하고 저장합니다.
코드는 다음과 같습니다.
/** 按tag标签关联文章内容 query2为备用,如果query为空的话,第二个就直接显示出来 */ $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id WHERE $keyword and arc.ismake = 1 and arc.id <> $arcid ORDER BY arc.sortrank desc LIMIT 0,$row"; $typeids=$refObj->Fields['typeid'];//取出当前栏目ID $query2 = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id WHERE FIND_IN_SET('c', arc.flag)>0 and arc.ismake = 1 And (arc.typeid in ($typeids) or arc.typeid2 in($typeids) or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,$typeids,%' ) And arc.arcrank > -1 ORDER BY arc.sortrank desc LIMIT 0,$row"; /*query3是判断是否为空用的*/ $query3 = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM dede_archives arc LEFT JOIN dede_arctype tp on arc.typeid=tp.id WHERE $keyword and arc.ismake = 1 and arc.id <> $arcid ORDER BY arc.sortrank desc LIMIT 0,$row";//这里的SQL具体按自己的数据库的表字段写吧,我这是直接写死了,哎没办法,能力有限。 /* 这里是判断tags标签查询的是否为空值,如果是空值,就全部使用推荐返回值,如果有值,就直接显示tags关联。 */ $result =mysql_query($query3);//query36判断专用的,主要是作者不会用SetQuery呀,郁闷。我是直接拼的SQL if(mysql_num_rows($result)<1){ $dsql->SetQuery($query2); }else{ $dsql->SetQuery($query); }
다음은 소스코드 101~107라인 전체 로그아웃 사진입니다. 사진을 클릭하시면 더 큰 사진을 보실 수 있습니다.
위 코드의 의미 : 태그로 기사 내용 연결 태그 쿼리2는 백업이며, 태그를 클릭하면 마크 쿼리의 데이터가 비어 있으면 두 번째 쿼리를 사용할 수 있습니다.
5단계: 원본 코드의 117번째 줄에 다음 코드를 추가하고 저장합니다.
코드는 다음과 같습니다.
$typeids=$refObj->Fields['typeid'];//取出当前栏目ID $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id WHERE FIND_IN_SET('c', arc.flag)>0 and arc.ismake = 1 And (arc.typeid in ($typeids) or arc.typeid2 in($typeids) or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,$typeids,%' ) And arc.arcrank > -1 ORDER BY arc.sortrank desc LIMIT 0,$row"; $dsql->SetQuery($query);
다음은 소스코드 111~117라인 전체 로그아웃 사진입니다. 사진을 클릭하시면 더 큰 사진을 보실 수 있습니다.
위 코드의 의미 : 다섯 번째 단계는 태그 태그에 내용이 있는지 확인하는 것입니다. 네, 5단계는 태그 태그가 비어 있지 않을 때 실행되는 SQL입니다.
6단계: 완료 후 스페이스에 업로드하세요. 작성자는 코드의 효과를 보여주지 않습니다. 실제로 효과를 보고 싶다면 이 글 오른쪽에 있는 관련 글을 읽어보세요.
일부 네티즌들은 SQL에 민감하지 않기 때문에 이 글에 쓰여진 내용을 이해할 수 없고 변경할 수 없다고 생각할 수도 있습니다. 다운로드 주소는 likearticle.lib.rar입니다.
위 내용은 dede:likearticle 기사 태그와 태그 태그 간의 연결에 오류가 있는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!