로그인

검색

Extra Form
추천지수 6

태그 연관글 애드온이 태그를 사용하는 곳에서 관련된 글을 추가로 추천해 주기 좋아 즐겨 사용하고 있는데 원인을 찾기 어려운 버그 같은게 있습니다. 오늘 처리한 부분은 원글에 태그가 없는 글인데 관련된 글 목록이 출력이 되어 버립니다.

 

이게 모두 그런것도 아니라 원인을 찾기 어려워서 원인은 못찾고 태그가 없는 글은 원천적으로 애드온 실행을 중지 하는 것으로 해결을 해 보았습니다.

 

태그연관글 애드온의 경우 

addon.php 에서 출력위치와 애드온 변수 정도를 결정하고

실제 문서의 태그와 연관된 글을 수집하는 것은 lib.php 파일에서 담당을 합니다.

 

addon.php 파일에서 lib.php 파일을 불러오는 형식입니다.

 

그런데 태그가 없는 문서는 작업을 중단하는 코드가 있는데 이게 어떤 글에서는 그냥 엉뚱한 글이 수집이 되어 버리는데 함수들이 복잡하게 엮여 있어 원인을 찾기 어렵네요.

 

그래서 lib.php 에서 문서에 태그가 없는 경우 리턴 시키는 작업을 그대로 addon.php 에도 적용해 주어서 태그가 없는 문서는 아예 lib.php 를 불러오는 것은 물론 애드온 자체가 실행이 되지 않게 해주었습니다.

 

 

기존에 

 

if ($called_position !== 'before_display_content') {
    return;
}

// 변수 정리

 

 

이렇게 진행되는 상단부분의 코드에 

 

if ($called_position !== 'before_display_content') {
    return;
}

$document_srl = Context::get('document_srl');
if (!$document_srl) {
    return;
}

$oDocumentModel = getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl);

$tags = $oDocument->get('tags');
// 태그가 없으면 종료
if (!$tags) {
    return;
}
$tag_list = explode(',', $tags);
if (!count($tag_list)) {
    return;
}

// 변수 정리

 

 

 

위와 같이 태그가 없는 경우 리턴하는 코드를 작성해 주어 태그가 없으면 이후 코드가 아예 진행되지 않도록 해서 따로 관련글을 수집하는 함수가 있는 파일 로딩 자체도 안되고 아무것도 하지 않게 조치 했습니다.
 

*문서에 태그가 있는지 확인하는 코드는 애드온에서 이미 사용한 코드 그대로를 차용했습니다.

Who's 꿀팁관리소장

profile
라이믹스로 커뮤니티 사이트를 운영하는 비개발자 운영자 입니다.
파트너쉽 맺으실 사이트 운영자분 환영합니다.
3 추천

라이믹스 팁(112)

라이믹스 운영과 사용에 관한 팁을 공유 합니다.

  1. read more
  2. read more
  3. Read More
  4. Read More
  5. Read More
  6. Read More
  7. Read More
  8. Read More
  9. Read More
  10. Read More
  11. Read More
  12. Read More
  13. Read More
  14. Read More
  15. Read More
  16. Flex 레이아웃 로그인 오류 메시지 안뜨는 문제 해결

    Date2021.01.31 Category오류 Views252 Votes3
    Read More
  17. Read More
  18. Read More
  19. Read More
  20. Read More
  21. Read More
  22. Read More
Prev 1 2 Next
/ 2