질문/조언질답게시판
Extra Form
PHP PHP 7.0
CMS Rhymix 2.x

팝업 위젯에서 설정한 시간동안 팝업을 안보이게 할려고 "1일 동안 닫기"를 구현하는데

팝업이 2개 이상인 경우 각각 시간을 다르게 주고 싶어서 아래와 같이 코드를 적용할려고 하는데요

 

{@ $wi = $widget_info; 
$cno = $wi->cookie_no; 
$pno = $wi->popup_no; }

 

{@ if($_COOKIE['PopUp_Close{$pno}'] == '{$cno}') return;}

 

<script>
function set_PopUpCookie_{$pno}() {
    var expire = new Date();
    expire.setDate(expire.getDate()+{$wi->closeday});
    xSetCookie('PopUp_Close{$pno}', '{$cno}', expire);
    xHide('PopUp {$pno}');
}
</script>

 

{@ if($_COOKIE['PopUp_Close{$pno}'] == '{$cno}') return;}에서 {$pno}, {$cno} 를 사용할 수가 없네요

{ } 만 들어가면 서버 에러를 뿜어내내요,

이 부분을 다르게 적용하는 방법이 있을까요?

  • profile

    {@ } 를 사용해서 PHP 문법이 적용되는 구간에 들어와 있으므로

    그 안에서 또 템플릿 문법을 사용하실 필요도 없고, 사용하셔서도 안 됩니다.

    여기서는 그냥 PHP 문법을 사용하시면 됩니다.

     

    {@ if($_COOKIE['PopUp_Close'.$pno] == $cno) return;}

     

    반면, 아랫부분의 스크립트는 PHP 문법이 아니라 자바스크립트 문법이 적용되는 구간이므로

    템플릿 문법 { } 을 사용하셔도 에러가 나지 않는 것입니다.

  • profile ?
    감사합니다.
    잘 작동하네요.
    잘 작동하니 속이 후련하네요~~~~👍