게시판 검색시 이미지 질문입니다.

게시판 검색시 이미지 질문입니다.

QA

게시판 검색시 이미지 질문입니다.

본문

어떤 카테고리로든 게시판 글을 검색시 최상위 번호에 있는 이미지(답변, new, 파일)등을 지울수 있는 방법이 있을까요??

list.skin부분에서 스크립트로 하면 될꺼같기도 한데.. 좀처럼 쉽게 되지가 않네여 ㅜ  

고수님들 부탁드리겠습니다 ㅜ  

 

현재 list.skin 부분의 스크립트 쪽에

 

$('.td_subject').on(function(){
     $(this).contents().find('img').first().css('display', 'none');
});

 

이런식으로 스크립트를 짜보았는데 먹히질 않네요 ㅜ 

이 질문에 댓글 쓰기 :

답변 3


// <td>중, class속성이 td_subject인것들의 상위객체(<tr>)들
// 각각에 대해 function을 수행합니다.
$('td.td_subject').parent().each(function(){
 
    // <tr>객체 밑으로 있는 <td>중, class속성이 td-num인것들(번호,조회수)중,
    // 첫번째 <td>의 텍스트(즉, 번호1,2,... 또는 "공지")의 좌우측 공백을 제거해서,
    // no라는 변수에 담습니다.
    var no = $.trim( $(this).find('td.td_num:first').text() );
 
    // no가 숫자가 아니면(공지), 이 밑에 줄을 실행하지 않고,
    // 그냥 다음 <tr>로 작업을 넘어갑니다.
    if( $.isNumeric(no) === false ) return true;
 
    // 여기가 실행되려면, no가 숫자라는 의미이므로...
    // <td class="td_subject">밑에 있는 <img~~>태그들을 모조리 제거합니다.
    $(this).find('td.td_subject > img').remove();
    //$(this).find('td.td_subject > img').css('display', 'none'); 
 
    // 첫번째 줄(tr)의 이미지를 제거했으니, 2,3,4~~번째줄은 안해도 되니, 
    // 이 function을 종료합니다.
    return false;
});

<script>태그 안에 넣는겁니다..

그리고, 바로 실행하면 안먹으니까, 페이지의 모든내용을 완전히 로딩한 다음에, 실행합니다.

 

<script>

$(document).ready(function(){ 

    $('td.td_subject').parent().each(function(){

        var no = $.trim( $(this).find('td.td_num:first').text() );

        if( $.isNumeric(no) === false ) return true;

        $(this).find('td.td_subject > img').remove();

        //$(this).find('td.td_subject > img').css('display', 'none'); 

        return false;

    });

});

</script>

<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
            <td class="td_num">
            <?php
                echo $list[$i]['num'];
            ?>
            </td> 
            <?php if ($is_checkbox) {?>
            <td class="td_chk">       
                <label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject']?></label>
            <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
            </td>
            <?php } ?>
            <td class="td_subject">
                <?php
                echo $list[$i]['icon_reply'];
                if ($is_category && $list[$i]['ca_name']) {
                ?>
                <a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
                <?php } ?>

                <a href="<?php echo $list[$i]['href'] ?>">
                <!--  -->
                    <?php echo $list[$i]['subject'].'&nbsp;'?>
                    <?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span>(<?php echo $list[$i]['wr_comment'];?>)<span class="sound_only">개</span><?php } ?>
                </a>
        </tr>


list.skin에 공지사항 부분과 답변이미지 빼고는 전부  제거를 하였습니다.

그리고 게시물이 num만 나오게 설정을 하였고,

할려는 작업은 간단히 그림으로 말씀드리겠습니다.


1  (원글)
 ㄴ 1  (답변)
      ㄴ 1-1  (답변)
      ㄴ 1-2  (답변)
 ㄴ 2  (답변)
 ㄴ 3  (답변)
 ㄴ 4  (답변)

게시판 목록이 이렇게 생성되어있다고 하면 1(원글)과 같은 wr_num을 출력하라라고 하면 저렇게 게시판 목록이 출력이 됩니다.
하지만 1(답변)과 관련한 것들을 출력하라고 하면


 ㄴ 1  (답변)
      ㄴ 1-1  (답변)
      ㄴ 1-2  (답변)

이렇게 지금 출력이 되고 있는 상황입니다.
그래서 원글이든 답변글이든 어떤 검색을 할 시 최상위 글은 무조건 이미지를 없애려고하는데...
안되네여 ㅜ

정리합니다...

  

<질문> 게시판 검색을 했을때만, 출력되는 게시판 목록중에서 첫째줄의 제목란에 포함되어 있는 아이콘들을 모두 없애야 한다.(단, 답장 아이콘은 빼고..) 

 

<구현방법>

1. php로 하는 이미지들 필터링해서 출력하는 방법.

2. php에서는 원래대로 이미지를 출력하도록 놔두고(기존 php소스 건드리지 않고),

그냥 jQuery 스크립트를 페이지 끝에 추가하여, 화면에 표시될때 그냥 바로 제거하는 방법!

 

2번방법이 님이 질문에 적어놓은 "스크립트 하면 될꺼 같은데~"라는 것을 구현하는 방법입니다.

그래서 지금 말하는 있는 것은 2번방법에 대한 설명입니다.

 

sir에 있는 그누보드 데모 기준입니다. 

http://demo.sir.kr/gnuboard5/bbs/board.php?bo_table=free 

 

skin/board/basic/list.skin.php 파일의 맨 마지막에, 

 


<script>
// 게시판검색했을때는, 웹브라우저 주소창에 보면 stx라는 변수가 붙습니다. 
// 그래서 그 stx라는 변수를 주소창에서 찾아본다.
var matches = location.href.match(/stx=(.+)/);
// 주소창에 stx라는 변수가 붙었다면(즉, 게시판 검색이라는 뜻..)
if(matches !== null) {
    // 첫번째 줄의 제목란에 답장아이콘이 아닌 이미지들은 모두 제거 !!!
    $('td.td_subject:first img:not([src$="icon_reply.gif"])').remove();
}
</script>

 

 

91a8e28b3819023561319f52cfbd183b_1475751553_6783.jpg
 

91a8e28b3819023561319f52cfbd183b_1475751621_728.jpg
 

 

이해했기를 바래요~~~

 

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 493
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT