묻고답하기
그누보드에서 찾은건데 제로보드용으로 바꿀수 있을까요?
2013.01.07 17:27
블로그검색 API 때문에 며칠째 고생중인데요..
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=62307 그누보드엔 이런게 지원이 되네요..
혹시 이걸 제로보드 형식으로 바꿀수는 없을까요?
이것만 하면 다 끝나는건데...
해당파일 첨부했습니다...
댓글 3
-
LI-NA
2013.01.07 19:42
-
mindpainter
2013.01.08 19:37
이문제로 질문을 벌써 몇번째 하시고 고생이 많으신걸로 알고 있습니다.
저도 관심이 있는 기능이라 처음 질문하셨을때 부터 이것 저것 알아보고 있었거든요.. 하지만 저는 개발자가 아니라 완벽하게 해결은 못했구요.. 그냥 실마리라도 풀어보시라고 정보 공유해 드립니다. ^^;;
네이버 API 키등록 > 주소 생성 까지는 아실테구요.. RSS형식으로 제공 됩니다.
원하시는 것의 개요는 RSS->XML->HTML인것 같더라구요, 즉 RSS를 HTML로 바꾸어 디자인을 적용하면 되는것.
네이버 개발자 센터> 개발가이드(https://dev.naver.com/openapi/download/NaverOpenApi_DevGuide.pdf) 18페이지에 이내용이 나오긴 하더군요. 하지만 제가 예제를 따라 해보니 개발자만 알아들을 file_get_content니 fopen이니 curl이니 iconv등이 나오면서 난이도가 급상승 하네요.. ㅜㅜ 어쨌던 가이드 대로 된다고 하더라도 게시판 형식으로 만들어야 하는 어려움이 또 있습니다.
개발자가 아니시라 저하고 비슷한 (그냥 막 부딪혀서 누더기 식으로 만드는..ㅋ) 경우라면 외주를 주셔야 할것 같구요.. 제가 만들어낸 누더기나마 공유해 드리면..
1. 주소생성 이후에 그 주소로 외부페이지 모듈을 만듭니다.
모듈을 불러내 보면 줄바꿈이 없는 텍스트가 나옵니다. 이걸 그냥 편집이 가능한 형태로 바꾸었습니다.
2. 전용레이아웃을 하나 생성합니다.
그냥 레이아웃 자체에 적용해도 되지만 오류가 있을지 몰라서 레이아웃 편집 기능을 이용했습니다.
HTML편집란에
<script>
jQuery(function($){
var xmlTotal = $('컨텐츠영역의 id혹은 class이름').find("total").text();
var xmlDate = $('컨텐츠영역의 id혹은 class이름').find("lastBuildDate").text();
$('컨텐츠영역의 id혹은 class이름').append('<p class="xmlSummary">'+xmlDate+' '+xmlTotal+'건 검색</p>');
$('컨텐츠영역의 id혹은 class이름').find('rss').find('channel').find('item').each(function(idx) {
var xmlTitle = $(this).find('title').text();
var itemData = $(this).html();
var itemDataSplit = itemData.split("<link>");
var itemDataSplit2 = itemDataSplit[itemDataSplit.length-1];
var itemDataSplit3 = itemDataSplit2.split("<description>");
var xmlLink = itemDataSplit3[itemDataSplit3.length-2];
var xmlDescription = $(this).find('description').text();
$('컨텐츠영역의 id혹은 class이름').append('<p class="xmlTitle"><a href="'+xmlLink+'" target="_blank">' + xmlTitle+'</a></p><p class="xmlDescription">'+xmlDescription+'</p>');
});
$('rss').hide();
});
</script>CSS 편집란에
.xmlSummary {margin-bottom: 20px; font-size: 13px; color: #999}
.xmlTitle {font-weight: bold}
.xmlTitle a {text-decoration: none; color: #000}
.xmlTitle a:hover {text-decoration: underline}
.xmlDescription {margin-bottom: 15px; width: 100%}컨텐츠영역의 id혹은 class이름
html의 컨텐츠영역 div가 id=AA 면 #AA, class=AA면 .AA 입니다.
하고 적용하면 다음과 같이 되긴 하네요.. 하지만 페이지네이션 기능을 만들어야 합니다. ㅜㅜ
조금이나마 도움이 되셨으면 좋겠다는 마음으로 올리는 글이니 답이 아니라도 이해해 주시길 바랍니다.
샘플: http://www.layoutskin.com/naverSearch
-
mindpainter
2013.01.09 14:04
나름대로 완성된 방법을 팁에 올려두었습니다. 참고하세요~
http://dev.naver.com/openapi/apis/search/kin
이걸 참고하여 새로 만드는게 더 좋을 것 같네요.
아니면 불러오는 알고리즘을 참고하여 옮기면 되겠죠.