포럼
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
레이아웃에서 세션 변수 이용 문제.
2013.11.01 13:45
모바일 페이지를 WebView를 통해 보여주는 형식으로 앱을 만들었는데 앱의 경우 규정상 애드센스를 사용할 수 없기때문에 애드센스가 보이지 않게 처리하는 부분과 공유 기능이 앱 내에 내장되어있기 때문에 SNS 보내기 애드온을 띄우지 않고 PC 모드 전환 버튼을 보이지 않게 처리하기 위해
GetUseragentString()을 통해 UA값을 받아온 뒤 기존 UA값 뒤에 특정 문자열을 넣은 뒤 SetUserAgentString을 통해 UA를 변경한 뒤 레이아웃이나 위젯 코드에서 if문으로 !preg_match('/(추가한 문자열)/',getenv('HTTP_USER_AGENT')) 로 판단하여 앱에서 출력되지 않도록 처리했습니다.
처음에는 잘 동작했는데 쓰다보니 UA값을 변경시 세션에 문제가 생기는지 로그인 유지의 경우 문제가 없지만 그 외에 세션값이 날라가서 마켓의 가입 경로 등의 세션을 이용하는 모듈에서 문제가 생기고 있습니다.
이 문제로 인해 UA 변조 대신 파라미터로 &is_app을 주어 앱 접속 여부를 구별하게 처리하였는데 문제는 레이아웃상에서 <!--@if(!$_SESSION['변수명'])--> 형태의 코드를 넣었을 때 변수값을 가져오지 못하는 것 같습니다.
Context::get('is_app')으로 처리할 경우에는 메인 페이지에서는 동작하지만 다른곳으로 이동시에는 파라미터값이 사라져서 효과가 없고요.
레이아웃에서 $_SESSION 변수를 사용할 방법이 있을까요?