특정일에 메뉴숨김 기능
본문
안녕하세요.
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 date 함수로 오늘날짜와 시간을 구해서 등록된 기간과 비교하면 되겠네요~
<?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){
// 해당 기간내 실행할 코드를 작성해 주시면 됩니다.
};
?>
현재 시간과 시작/종료 시간을 서로 비교하면 됩니다.
조건 문은 작성해 드렸고 안의 내용은 자유롭게 작성하시면 됩니다.^^
잘 해결되시면 채택 한번 부탁드립니다^^
다음 코드가 도움이 될지 모르겠습니다.
<?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;
답변을 작성하시기 전에 로그인 해주세요.