js에서 php변수를 사용하고 싶습니다
제 기억으로는
var cookie_time_js = "<? echo $addon_info->cookie_time; ?> "
이렇게 하면 됬던걸로 기억하는데 맞나요?
PHP | PHP 7.2 |
---|
js에서 php변수를 사용하고 싶습니다
제 기억으로는
var cookie_time_js = "<? echo $addon_info->cookie_time; ?> "
이렇게 하면 됬던걸로 기억하는데 맞나요?
js에서 쓰라는게 아니구요. 애드온 php 에서 Context::set('addon_info',$addon_info); 을 해주면
템플릿에서 $addon_info를 쓸수 있습니다.
그래서 var cookie_time_js = "{$addon_info->cookie_time}" 가 가능해진다는 것입니다.
템플릿에서 이미 $addon_info 를 쓰고 계시다면
{$addon_info->cookie_time} 로 찍으면 값이 나와야 합니다.
값이 나온다면 var cookie_time_js = "{$addon_info->cookie_time}" 도 당연히 가능하구요.
스크립트가 템플릿 안에 있다는 가정에서 말씀 드린 것입니다.
js가 어디 있는지 답이 없으셔서..
<? echo
로 변수를 출력하려고 하셨으니 당연히 템플릿 안에서 사용하는거라 읽여집니다.
1) 애드온에서 Context로 변수를 넘기고
2) 템플릿에서 그 값을 불러와서 뿌려주면
3) 그걸 js로 해석합니다.
이 과정이 너무 복잡하다? 그러면 그냥 애드온에서
Context::addHtmlHeader('<script> var cookie_time_js = "' . $addon_info->cookie_time . '"; </script>');
이렇게 하는 방법도 있습니다. $addon_info->cookie_time 변수를 여기저기로 전달하기 귀찮으니, 그 변수가 확실하게 존재하는 시점에 일처리를 죄다 끝내 버리는 거죠.
변수가 XE,라이믹스 애드온에서 사용되는 것 같은데요.
js 가 위치한 곳에서 $addon_info->cookie_time; 값이 찍히나요?
XE,라이믹스 템플릿이고 $addon_info->cookie_time; 를 넘겨받은 상태라면
var cookie_time_js = "{$addon_info->cookie_time} "
이 지금 하시려는 것과 같은 형식 일겁니다.