특정일에 메뉴숨김 기능

특정일에 메뉴숨김 기능

QA

특정일에 메뉴숨김 기능

본문

안녕하세요.

2024년 7월09일 17:00 ~ 2024년 7월 13일 17:00 시 까지

등록메뉴가 있다고 가정하면 이 등록메뉴를 해당 기간에는 숨김처리 후 자동으로

해당 기간 이후에 메뉴가 다시 정상화 되게 하고 싶은데 어떻게 해야하나요?

 

이 질문에 댓글 쓰기 :

답변 4

시 까지 등록메뉴가 있다~~ 해당 기간에는 숨김처리 후<---이 말이 좀 이상한 것 아닌가요?

해당기간에는 등록 메뉴가 보이고 기간이 아니면 사용불가능 하게 하려는 것이 아닌가요?

질문은 해당 기간에는 등록메뉴를 사용 못하고 기간이 아니면 등록메뉴를 사용 가능하다는 말인가요?

 

어쨌든 질문은 다음처럼

$menu_datas =[];

if(G5_TIME_YMDHIS >= "2024-07-09 17:00:00" && G5_TIME_YMDHIS <= "2024-07-13 17:00:00")

$menu_datas = get_menu_db(0, true);

else{?>

<style>#gnb{display:none;}</syle>

<?php }?>

 

 

 

 

 

 


 
<?php
    $start_time = mktime(17,0,0,7,9,2024); // 시작 일시 - mktime(시간,분,초,월,일,년);
    $end_time = mktime(17,0,0,7,13,2024); // 종료 일시 - mktime(시간,분,초,월,일,년);
    $this_time = time(); // 현재 일시
    if($this_time > $start_time && $this_time < $end_time){
    
        // 해당 기간내 실행할 코드를 작성해 주시면 됩니다.
    };
?>


현재 시간과 시작/종료 시간을 서로 비교하면 됩니다.

 

조건 문은 작성해 드렸고 안의 내용은 자유롭게 작성하시면 됩니다.^^

잘 해결되시면 채택 한번 부탁드립니다^^

css는 작성 가능하신가요? 단순하게 눈에 안보이게만 하는거면 css로 숨겨도 됩니다.


<?php
    $start_time = mktime(17,0,0,7,9,2024); // 시작 일시 - mktime(시간,분,초,월,일,년);
    $end_time = mktime(17,0,0,7,13,2024); // 종료 일시 - mktime(시간,분,초,월,일,년);
    $this_time = time(); // 현재 일시
    if($this_time > $start_time && $this_time < $end_time){ 
?>
<style>
.숨길메뉴클래스{display: none;}
</style>
<? } ?>

다음 코드가 도움이 될지 모르겠습니다.

 


<?php
$times_org = ['2024-07-09 17:00:00', '2024-07-13 17:00:00'];
$times = array_map(function ($v) { return strtotime($v); }, $times_org);
$now = time();
 
$menu = '
<nav>
    <ul>
        <li>menu 1</li>
        <li>menu 2</li>
        <li>menu 3</li>
    </ul>
</nav>
';
 
if (min($times) <= $now && $now <= max($times)) {
    $menu = '';
}
 
echo date('Y-m-d H:i:s', $now) . PHP_EOL;
echo $menu;

인덱스에 보면  아래 메뉴 부분입니다.
adm/menu_list_.php 등록된 메뉴가 보여지고 있습니다.
지금은 그냥 수동으로 pc,모바일 사용안함으로 변경해둔상태인데...
이걸 좀 개선하고 싶어서요..메뉴는 4개 등록되어있는데..



  <nav id="gnb">
        <h2>메인메뉴</h2>
        <div class="gnb_wrap">
            <ul id="gnb_1dul">
                <li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴"><i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
                <?php
$menu_datas = get_menu_db(0, true);
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
                $i = 0;
                foreach( $menu_datas as $row ){
                    if( empty($row) ) continue;
                    $add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
                ?>
                <li class="gnb_1dli <?php echo $add_class; ?>" style="z-index:<?php echo $gnb_zindex--; ?>">
                    <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
                    <?php
                    $k = 0;
                    foreach( (array) $row['sub'] as $row2 ){

                        if( empty($row2) ) continue;

                        if($k == 0)
                            echo '<span class="bg">하위분류</span><div class="gnb_2dul"><ul class="gnb_2dul_box">'.PHP_EOL;
                    ?>
                        <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>
                    <?php
                    $k++;
                    }  //end foreach $row2

                    if($k > 0)
                        echo '</ul></div>'.PHP_EOL;
                    ?>
                </li>
                <?php
                $i++;
                }  //end foreach $row

                if ($i == 0) {  ?>
                    <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                <?php } ?>
            </ul>
            <div id="gnb_all">
                <h2>전체메뉴</h2>
                <ul class="gnb_al_ul">
                    <?php
                   
                    $i = 0;
                    foreach( $menu_datas as $row ){
                    ?>
                    <li class="gnb_al_li">
                        <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
                        <?php
                        $k = 0;
                        foreach( (array) $row['sub'] as $row2 ){
                            if($k == 0)
                                echo '<ul>'.PHP_EOL;
                        ?>
                            <li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a></li>
                        <?php
                        $k++;
                        }  //end foreach $row2

                        if($k > 0)
                            echo '</ul>'.PHP_EOL;
                        ?>
                    </li>
                    <?php
                    $i++;
                    }  //end foreach $row

                    if ($i == 0) {  ?>
                        <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                    <?php } ?>
                </ul>
                <button type="button" class="gnb_close_btn"><i class="fa fa-times" aria-hidden="true"></i></button>
            </div>
            <div id="gnb_all_bg"></div>
        </div>
    </nav>

다음 코드가 도움이 될지 모르겠습니다.


<?php
$times_org = ['2024-07-09 17:00:00', '2024-07-13 17:00:00'];
$times = array_map(function ($v) { return strtotime($v); }, $times_org);
$now = time();
 
$menu_datas = get_menu_db(0, true);
 
if (min($times) <= $now && $now <= max($times)) {
    $menu_datas = [];
}
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
                $i = 0;
                foreach( $menu_datas as $row ){
...

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

회원로그인

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