답변 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 }?>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
다음 코드가 도움이 될지 모르겠습니다.
</p>
<p><?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();</p>
<p> </p>
<p>$menu = '
<nav>
<ul>
<li>menu 1</li>
<li>menu 2</li>
<li>menu 3</li>
</ul>
</nav>
';</p>
<p> </p>
<p>if (min($times) <= $now && $now <= max($times)) {
$menu = '';
}</p>
<p> </p>
<p>echo date('Y-m-d H:i:s', $now) . PHP_EOL;
echo $menu;</p>
<p>
답변에 대한 댓글 5개
제가 완전 초보라 잘 몰라여..ㅠㅠ
어떤 파일에 저 소스를 넣어야할지요..ㅠㅠ
제3자는 어떤파일의 어느부분에 어떤형태로 적용이 필요한지 알수 없습니다.
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">관리자모드 > 환경설정 > 메뉴설정</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">관리자모드 > 환경설정 > 메뉴설정</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>
[code]
<?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 ){
...
[/code]
아래주신 소스로도 가능할까요?
일단 적용은 해보겟습니다.
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><?php
$start_time = mktime(17,0,0,7,9,2024); // 시작 일시 - mktime(시간,분,초,월,일,년);
$end_time = mktime(17,0,0,7,13,2024); // 종료 일시 - mktime(시간,분,초,월,일,년);
$this_time = time(); // 현재 일시</p>
<p> if($this_time > $start_time && $this_time < $end_time){
// 해당 기간내 실행할 코드를 작성해 주시면 됩니다.
};
?>
현재 시간과 시작/종료 시간을 서로 비교하면 됩니다.
조건 문은 작성해 드렸고 안의 내용은 자유롭게 작성하시면 됩니다.^^
잘 해결되시면 채택 한번 부탁드립니다^^
답변에 대한 댓글 2개
[code]
<?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>
<? } ?>
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인