공지사항 flip

불당   
   조회 13283   추천 0     비추천 0    

list.php (13.6K), Down : 2, 2014-02
list.skin.php (13.9K), Down : 2, 2014-02

모바일 환경에서는 공지사항이 많으면 아주 복잡하게 불편 합니다.


사용자가 필요에 의해 게시판의 공지사항을 close 해둘 수 있게 해줘야 하는데

단순히 쿠키만으로 하면 새로운 공지사항이 나왔을 때, 어찌해야 하는가 하는

문제가 생기게 됩니다.


bbs/list.php에서 공지사항의 최근 날짜를 찾아줍니다 (불당팩 기준이라 전체공지는 그누4에는 없슴)

https://github.com/open2/gnuboard4-buldang-pack/commit/a4609a9f05bce521b36406f2b0bf9f33f6a4ebb3


list.skin.php의 적당한 곳에 버튼을 넣어줍니다.

    <a href="#" class="notice_flip" title="공지사항 Flip">공지사항 Flip</a>


그리고 flip하고자 하는 table row 등의 class를 is_notice로 해줍니다.

<?
$is_notice = "";
if ($list[$i][is_notice])
    $is_notice = "is_notice";
?>
<tr class="<?=$is_notice?>">


마지막으로 하단부에 action에 대한 것을 넣어줍니다.

<script type="text/javascript">
<?
// flip cookie를 가져와서 비교 합니다
$ck_name = $bo_table . "_flip_datetime";
$flip_datetime = $_COOKIE[$ck_name];

if ($g4['last_notice_datetime'] > $flip_datetime) {
    // flip한 이후에 공지가 올라오면 flip cookie를 삭제해주고, flip이 되지 않게 합니다. 새로운 공지는 반드시 봐야 합니다.
?>
    set_cookie( '<?=$ck_name?>', '', 86400 * 365, g4_cookie_domain);
    $('.is_notice').show();
<?
} else {
    // flip은 했고, 새로운 공지도 없으면 공지를 감춰줍니다
?>
    $('.is_notice').hide();
<? } ?>
$('.notice_flip').click(function() {
    $('.is_notice').toggle();
    set_cookie( '<?=$ck_name?>', '<?=$g4[time_ymdhis]?>', 86400 * 365, g4_cookie_domain);
});
</script>

- opencode.co.kr -
체지방컷 이지컷시스템다이어트
10주간 -12Kg, 허리둘레 -15cm 감소, 배우 예지원 몸매비결, 망고추출물
체중조절엔 삼성이지컷
잡고, 버려서 건강한 라인을! 당신만을 위한 다이어트 플랜, 12키로 감소
토크,골프메카닉스
골프 클럽 측정 및 피팅장비 생산업체 / R&A,USGA 사용 측정장비 생산업체
파워링크 AD   클릭초이스등록
공지일경우 클릭시 펼치기!
     
불당 2014-02
기본으로 펼쳐두는데, 사용자가 flip으로 닫은 것은 이후에는 안펼치고 랜덤하게 1개만 보여줍니다.
그렇지만... 새로운 공지가 나오면 모두 다 펼쳐 버립니다.
진아얌 2014-02
제 사이트에 적용할려다가 잘안되네요..

그리고 flip하고자 하는 table row 등의 class를 is_notice로 해줍니다.

<?
$is_notice = "";
if ($list[$i][is_notice])
    $is_notice = "is_notice";
?>
<tr class="<?=$is_notice?>">



이 부분에서..막히는것 같아요

http://48.oeker.net/bbs/board.php?bo_table=test2234
이건 잠시 적용해본 게시판 입니다
     
진아얌 2014-02
다시 테스트를 해보니
운영자 아이디로는 잘되는데 일반회원은 안되네요;;
불당 2014-02
<i class="fa fa-microphone">공지플립</i>에서
<i class=...> 이부분은 font-awesome이고, 마이크 이미지를 출력하는 코드이므로
폰트어썸이 없는 경우에는 해당 코드를 삭제해야 합니다.

btn, btn-default는 부트스트랩에서 정의하는 class이므로 이것이 있는 것도 문제 입니다.

부트스트랩이 아닌 사이트는 아래처럼 하는게 맞는거에요. 아. 마. 도.
<A title="공지사항 Flip" class="notice_flip" href="#">공지플립!</A>
     
진아얌 2014-02
해결헀어요~
<script type="text/javascript">
<?
// flip cookie를 가져와서 비교 합니다
$ck_name = $bo_table . "_flip_datetime";
$flip_datetime = $_COOKIE[$ck_name];

if ($g4['last_notice_datetime'] > $flip_datetime) {
    // flip한 이후에 공지가 올라오면 flip cookie를 삭제해주고, flip이 되지 않게 합니다. 새로운 공지는 반드시 봐야 합니다.
?>
    set_cookie( '<?=$ck_name?>', '', 86400 * 365, g4_cookie_domain);
    $('.is_notice').show();
<?
} else {
    // flip은 했고, 새로운 공지도 없으면 공지를 감춰줍니다
?>
    $('.is_notice').hide();
<? } ?>
$('.notice_flip').click(function() {
    $('.is_notice').toggle();
    set_cookie( '<?=$ck_name?>', '<?=$g4[time_ymdhis]?>', 86400 * 365, g4_cookie_domain);
});
</script>

이 함수를 <? } ?> 아래에 위치하니까 되네요 ㅎㅎ
          
불당 2014-02
이 함수는 <a href ... 와 <table... 등이 나온 밑에 나와야 해요.
편한 기능이죠? ㅎㅎ...
이거 때문에 하루 날렸습니다. ㅠㅠ...
               
진아얌 2014-02
네 너무 편하네요
특히 저희 사이트 병원 게시판에는 공지 10개 이상 되는 경우가 많아
꼭 필요하던 기능이였는데 정말로..감사드립니다 ㅎㅎ
                    
불당 2014-02
이거는 모바일에 반드시 걸어야 해요.
이거 없으면 공지 10개 때문에, 폰의 반을 스크롤링 해야 합니다. ㄷㄷㄷ
오픈코드에서 스맛폰 보다가 공지 때문에 화면 하나 넘기다가 짜증나서 만들...었다는 후문이...ㅋㅋ
                         
진아얌 2014-02
잘되기는 하는데,
오픈코드처럼 처음 봤을때는 모든 공지가 다 보이도록 하고 싶은데
제가 테스트한건 처음 방문 했을때부터 신규공지 딱 하나만 뜨게..되네요 ㅜ
                         
불당 2014-02
남아 있는 쿠키 때문일거에요. 쿠키를 지우고 해보세요.
진아얌 2014-02
쿠키삭제 해봐도 공지 딱 한개만 뜨네요.. ㅠ
불당 2014-02
첨부파일을 비교해 보세요.
뭔가 놓친 듯 싶습니다...
table의 class 정의에서.
진아얌 2014-02
원인을 알아냈습니다.
저희 스킨파일에 따로 있는 inc_config.php 파일을 없애니 되는군요 ^^
이 파일은 푸름님이 새로 만들어주신 기능인데 충돌이 있었던것 같네요 ㅎㅎ


제목Page 3/28
2014-02   8828   불당
2014-02   9658   불당
2014-02   9621   불당
2014-02   10576   불당
2014-02   9028   불당
2014-02   13284   불당
2014-02   9209   불당
2013-12   11162   불당
2013-12   10497   불당
2013-12   8308   불당
2013-12   11143   불당
2013-12   9806   불당
2013-12   74374   불당
2013-12   10982   불당
2013-12   8236   불당
2013-11   7402   불당
2013-11   7597   불당
2013-11   9322   불당
2013-11   8531   불당
2013-11   8768   불당