1. 정확한 제품 또는 플러그인 이름
- 케이보드 최신글 모아보기 (skin : default)
- 게시판 (skin : default, ocean-gallery)
2. 상세 내용
최신글 모아보기를 사용하여 총 3개의 게시판을 모아보기를 하여 사용중입니다.
(공지사항 = default / 언론보도 & 이벤트 = 오션갤러리)
그 중 [news > 언론보도] 게시판에서는 게시물 클릭시 원하는 사이트로 링크 연동을 할 수 있도록 수정하였습니다.
(참고한 링크 : https://www.cosmosfarm.com/threads/document/32081)
하지만 최신글 모아보기에서는 모든 게시판의 링크가 게시물 상세보기페이지로 링크가 걸려있어서 카테고리가 [news > 언론보도]만 다른 링크로 지정하고 싶습니다.
(사용스킨 : default)
현재 다른 2개의 카테고리는 기존 링크를 유지하여 게시글 상세보기페이지로 이동하고,
[news > 언론보도] 카테고리의 게시물만 하단 코드의 링크 이동을 하려면 어떻게 해야하는걸까요?
<?php echo $content->option->url?>
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
[오션갤러리 editor.php 코드추가]
<div class="kboard-attr-row newsLink">
<label class="attr-name" for="kboard_option_url">news link <span class="attr-required-text">*</span></label>
<div class="attr-value"><input type="text" id="kboard_option_url" name="kboard_option_url" value="<?php echo $content->option->url?>"></div>
</div>
[function.php 추가]
add_filter('kboard_url_document_uid', 'my_kboard_url_document_uid', 10, 3);
function my_kboard_url_document_uid($url, $content_uid, $board){
if($board->id == '2'){
$content = new KBContent();
$content->initWithUID($content_uid);
if($content->option->url){
$url = $content->option->url;
}
}
return $url;
}
안녕하세요~^^
최신글 모아보기 스킨이 default를 사용하는 경우를 기준으로 안내드립니다.
latest.php 파일에서 아래의 코드를 찾아
<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>">
아래의 코드처럼 변경해주세요.
<a href="<?php echo isset($content->option->url) && $content->option->url ? $content->option->url : $url->getDocumentURLWithUID($content->uid)?>">
다만, latest 파일을 변경 시 모아보기가 아닌 일반 최신글 숏코드에도 반영되니 다른 곳에서 같이 사용하고 계신 경우 default-2 와 같이 스킨을 복사하여 사용하시는 것을 권장드립니다.
고맙습니다.
안녕하세요. 답변감사합니다.
01.
안내해주신 최신글 숏코드를 변경하였습니다.
약간의 custom을하여 tr에 onclick속성을 사용하였습니다.
그러나 여전히 언론보도 페이지의 링크가 삽입된 뉴스링크가 아닌 상세페이지로 이동이됩니다.
//케이보드 숏코드 id값 및 사용스킨
[news > 공지사항] [kboard id=1] default
[news > 언론보도] [kboard id=2] ocean-gallery '해당뉴스로_새창이동'
[news > 이벤트] [kboard id=3] ocean-gallery
[최신글 모아보기] [kboard_latestview id="1"] default 스킨
↓default leatest.php 수정코드↓
<div id="kboard-default-latest">
<table>
<thead>
<tr>
<th class="kboard-latest-title"><?php echo __('Title', 'kboard')?></th>
<th class="kboard-latest-date"><?php echo __('Date', 'kboard')?></th>
</tr>
</thead>
<tbody>
<?php while($content = $list->hasNext()):?>
<tr onclick="location.href='<?php echo isset($content->option->url) && $content->option->url ? $content->option->url : $url->getDocumentURLWithUID($content->uid)?>'" style="cursor:pointer">
<td class="kboard-latest-title">
<div class="kboard-default-cut-strings">
<?php if($content->isNew()):?><span class="kboard-default-new-notify">N</span><?php endif?>
<?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
<?php echo $content->title?>
<span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
</div>
</td>
<td class="kboard-latest-content">
<div class="kboard-default-cut-strings">
<?php echo wp_trim_words(strip_tags($content->content), 200, '...')?>
</div>
</td>
<td class="kboard-latest-more-btn">
<div class="more_btn_icon"></div>
</td>
<td class="kboard-latest-category">NEWS > <?php echo $content->getBoard()->board_name?></td>
<td class="kboard-latest-date"><?php echo $content->getDate()?></td>
</tr>
<?php endwhile?>
</tbody>
</table>
</div>
안내드린 코드는 url 필드에 값이 있는 경우 url을 표시하도록 하는 코드입니다.
<?php echo $content->option->url?>
와 같이 실제로 url 옵션에 값이 들어있는지 확인해보시겠어요?
또 카테고리1번 언론보도일 때 뭔가 동작하시려면
아래 예제 코드를 참고하여 입력해주시면 되겠습니다.
<?php if($content->category1 == '언론보도'):?> //내용 입력 <?php endif?>
고맙습니다.