CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
자바스크립트로 현재 내 닉네임을 변수로 가져오고 싶습니다.
방법이 있을까요?
아래와 같이 검색했더니:
pass php variable to javascript
pass php object to javascript
이런식으로 하라고 나오는데요,
var userAlias = "<?php $loggedAlias = $logged_info->nick_name; echo $loggedAlias; ?>";
console.log(userAlias);
console.log(userAlias);
콘솔에는 이렇게 나와버립니다.
<?php $loggedAlias = $logged_info->nick_name; echo $loggedAlias; ?>
간단하게 변수가 아닌 스트링을 에코해봐도 결과는 똑같습니다.
방법이 있다면 알려주시면 감사하겠습니다 ( _ _ ) 꾸벅
댓글 11
간단하게 처리하시면 될 것 같습니다.
var userAlias = '{$logged_info->nick_name}';
alert userAlias;
XE혹은 RX내에서 쓰이는 값들은 중괄호로 묶어주시면 바로 문자열로 출력됩니다.
alert (userAlias);
모바일로 달았더니.. 문법을 개판으로 달았네요 ㅡ,ㅡ...
참고로 위방법은 XE/RX 내부에서 동작할때만 사용 가능합니다.
스킨,위젯,모듈 등등...
만약 XE/RX 의 외부 PHP파일에서 사용하는 경우라면 우선 XE/RX를 선언해주시고 값들을 PHP변수로
넘겨받으신 다음에 넘겨주어야 겠지요
<pre>{print_r($logged_info)}</pre> 를 레이아웃 등의 잘보이는곳에 넣어보세요
위와 같이 넣으면 $logged_info 와 그 하위의 변수들 구조와 내용을 확인할 수 있습니다.
1. 스킨 파일에서
<script cond="$is_logged">
var userAlias = {$logged_info->nick_name};
</script>
2. js 파일에서
console.log(userAlias);
저는 해당사항이 없지만, 스킨을 통하지 않으면 이 방법은 못쓸수도 있겠군요!
그렇지만 닉네임 하나로 외부페이지까지 만들고 연결하는 등의 과정이 번거롭고, js내에서 member_srl을 포착할 수 있을지도 미지수이긴 하죠.
.. 레이아웃 등에서 로그인 정보를 출력하는 부분이 있다면 차라리 거기 있는 닉네임 정보를 끌어다 쓰시는 것도 방법일지 모르겠어요.
혹시나 나중에 이 글을 읽으면서 이렇게라도 써야할 분이 계시다면 힘내세요..!