공지사항 flip

불당   
   조회 11583   추천 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 -
KB증권 5년간주식수수료무료
비대면계좌개설로 5년주식수수료무료(제비용제외)에 스마트폰이벤트 25만원까지
한국 주식고수 순위 주닥
대한민국 주식고수들 순위공개, 슈퍼개미 출신 7년간 검증완료, VVIP 7일 무료
무료종목 추천, 리치투자정보
김태준 고수의 급등주 리스트, 무료회원 가입만으로 승률 90% 종목을 매일 추천!
파워링크 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   7434   불당
2014-02   8389   불당
2014-02   8281   불당
2014-02   9228   불당
2014-02   7786   불당
2014-02   11584   불당
2014-02   8040   불당
2013-12   10041   불당
2013-12   9225   불당
2013-12   7191   불당
2013-12   9907   불당
2013-12   8600   불당
2013-12   69475   불당
2013-12   9761   불당
2013-12   7431   불당
2013-11   6565   불당
2013-11   6839   불당
2013-11   8397   불당
2013-11   7675   불당
2013-11   7894   불당