2014-02-27 4 views
2

나는 Magento를 사용하고 있으며 PHP를 사용하여 div를 시간에 따라 숨기려고합니다. 나는 코드의이 비트를 발견div를 시간 기준으로 숨기기 - PHP

<?php date_default_timezone_set('America/New_York'); 
$currentHour = date("H"); 
$openTime = 8; 
$closeTime = 9; 
if ($currentHour >= $openTime && $currentTime < $closeTime){ 
$css = 'display:block;'; 
}else{ 
$css = 'display:none;'; 
} 

echo '<style type="text/css">.timeBasedLink {'.$css.'}</style>'; ?> 

그리고 나는 (내 웹 사이트 소스를 볼 때, 심지어 지금은 내가 그것을 숨기는 경우 단지 내가 테스트 할 수 PHP에서 시간을 설정 한 오전 9 이후하지만 우리는 실제로 항상 디스플레이로 표시됩니다 상관없이 그것이 무엇인지 시간

<style type="text/css">.timeBasedLink {display:block;}</style> 

로 헤더에, 그것은 보여줍니다) (6)에 가까이하지 : 블록을. PHP를 배우면서 코드에 오류가있을 수 있습니다.

편집 : 또한 사람이이 모든 일 토요일과 일요일 숨길 변경하는 방법을 알고 있나요? =/

+0

검토이 라인 만 제공 아니라면 (21)를해야한다 :'경우 ($하는 currentHour> = $ openTime && $ currentTime을 <$ closeTime) {'ISN ' 거기에 뭔가 잘못 됐어? :) – Svenskunganka

+1

당신은 어디서든 설정하지 않고'$ currentTime'을 사용하고 있습니다 (아마도'$ currentHour'를 다시 사용하려고했습니다) –

+0

오. 나는 지금 바보 같아. 그게 효과가있어! 이제 토요일과 일요일에 그것을 숨길 수있는 방법을 구현해야합니다. =/ – Xander

답변

1
if (date("w") == 0 || date("w") == 6 || $currentHour < $openTime || $currentHour >= $closeTime) 
{ 
    $css = 'display:none;'; 
} 
else 
{ 
    $css = 'display:block;'; 
} 
+0

아하겠습니다. else는 방금 display : block으로되어있었습니다. 그게 효과가있어! 고맙습니다! – Xander

4

$closeTime 당신은 한 시간에 한 번

+0

+1 당신은 저를 때려 눕 힙니다! –

+0

OP에서 "지금도 오전 9시 이후입니다."이는 '9'가 의도적임을 나타냅니다. –

+0

아니요. 내가 그것을 숨기고 테스트 할 수 있도록 슈퍼 짧은 설정했습니다. 그것은 단지 전혀 작동하지 않습니다. 오류를 알아 냈어. $ currentHour 대신 $ currentTime을 말했습니다. D' oh – Xander