묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
include에 변수 쓰는 방법
2011.04.28 22:20
xe 레이아웃 파일(layout.html)에서 모듈에 따라 다른 파일을 include 하고 싶습니다.
예를 들어, 모듈이 a_mod 이면 a_mod.html 파일을 include 하고 싶은 것이죠.
php로는 간단한데, 레이아웃 파일에서 쓰려니 잘 안되네요. 물론 if 문을 써서 일일이 모듈마다 include를 쓸 수 있겠지만, 그보다는 변수명을 include에 쓰고 싶습니다.
예를 들어,
{@ $mod_name = $module_info->mid; }
<include target="{$mod_name}.html" />
처럼 말이죠.
그런데 위와 같이 하면 안되네요.
혹시 아시는 분 계신가요??
댓글 3
-
송동우
2011.04.28 22:49
-
무얼까
2011.04.28 23:03
음. 그 파일명을 변수값으로 만들고 싶은 것입니다;; -
송동우
2011.04.28 23:10
{} 이 속에 php 변수를 넣으면 출력이 됩니다. 변수값이 제대로 넘어왔는지 확인은 해 보셨나요? -
무얼까
2011.04.29 00:05
네. echo로 확인해보면 잘 넘어오는데, <!--#include("{$mod_name}")--> 부분은 반응이 없어요. 물론 이 앞에서 $mod_name 부분은 처리되어 있고요.(근데 댓글에서 줄바꿈 어찌 하나요?? -_-;) -
송동우
2011.04.29 00:26
저도 테스트 해보니 변수가 안먹히네요.....
신,구 문법 다 해도 안되는 거 보니....
검색해 보니 똑같은 질문도 있는데 답은 없네요....
고수분들은 알 지도 모르죠...
현재로는 조건 걸어서 일일이 하드코딩 해야 할 듯 싶네요...... -
Memory~
2011.07.13 00:07
TemplateHandler 소스를 고치는 방법도 있겠지만 그럼 업데이트할 때 좀 귀찮겠죠...
아래와 같이 하시면 include에 변수 사용이 가능합니다.
<include target="' . $mid . '.html" />
TemplateHandler 소스나 컴파일된 템플릿 파일 보시면 이해가 되실 겁니다.
이런식으로 해 보시죠.....