레이아웃 조건문 관하여 질문드립니다.
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 5.x |
레이아웃 조건문에 대해서 질문드립니다.
먼저 자바스크립트로 모니터의 해상도 값을 가져왔습니다.
제 모니터는 가로가 1920픽셀이어서 값이 1920 입니다.
레이아웃에서
{@ } 코드안에
$모니터크기변수 = "<script>document.write(변수값);</script>";를 사용해서 변수 값에 1920을 담았습니다.
레이아웃에서
{$모니터크기변수} 출력을 해 보면 1920이라는 값이 출력이 됩니다.
마지막 여기서 잘 안되어서 그런데요.
제가 조건문으로
<!--@if($모니터크기변수 > 1919)-->
위젯1출력
<!--@else-->
위젯2출력
<!--@end-->
이렇게 하면 정상적으로 실행이 안됩니다.
자바스크립트 값을 레이아웃 조건문에 가져올 수가 없는 것 같은데
레이아웃에서 {$변수} 값까지는 출력이 됩니다.
이 출력된 값을 if 조건문에 가져올 수 있는 방법이 있을까요?
글재주와 개발지식이 충분하지 않아서 질문이 조금 명확하지 않았다면 이해해 주십시오.
정리:
자바스크립트 값을 XE 레이아웃 {@ } 구문안에 가져와서
{$변수}로 출력 (가능)
이 $변수를 조건문에 사용하려니 안됨.
이렇습니다.
코로나19로 회사 휴원하고 계속 코딩공부하고 있습니다.
코딩으로 코로나19 극복하도록 힘을 주세요~
DoubleCheck
Lv. 3
댓글 3
JS는 서버가 아닌 브라우저에서 실행되는 기능이니, 당연히 PHP에서는 JS 결과값을 받아올 수 없지요.
해상도별로 다른 내용을 출력하고 싶다면,
일단 해상도 구분없이 전부 출력시킨 뒤, JS나 CSS를 통해 해상도에 맞는 값만 보이게 하고 나머지는 숨김(미출력이 아닌 숨김 - display: none 과 같은 방식으로) 처리 하는 방법밖에 없겠네요.
<div class="r" id="r1280">해상도 1280</div>
<style>
.r { display: none; }
</style>
<script>
var resolution = 모니터해상도가져오는함수();
if(resolution == 1920)
$('#r1920').css('display', 'block');
else if(resolution == 1280)
$('#r1280').css('display', 'block');
</script>
같은 방식으로요.
빨리 작업할 수 있게 도와주셔서 고맙습니다.