안녕하세요.
주소에서 변수 값을 전달 받아 include 경로에 포함하고 싶습니다
예시)
https://xetown.com/index.php?mid=test&var1=porofile
{@ $var1 = Context::get('var1')}
<!--#include("{$var1}.html")-->
기대 값 : <!--#include("profile.html")-->
결과 값 : <!--#include("{$var1}.html")-->
var1변수을 전달 받아 a링크나 img태그에 var1변수 값이 정상 노출되고 있지만,
include구문에만 var1변수 값이 노출되지 않고 있습니다.
어떤 방법으로 include에 var1변수 값을 포함할 수 있는지 조언 부탁드려요
댓글 7
$val = Context::get('var');
$val = $val.".html";
}
<include target="$val"/>
이렇게 한번해보시겠어요?
혹시 해당 방법으로 변수값이 가져오고 있으신가요?
또한 인클루드문 파싱시 변수는 전혀 처리되지 않습니다.
인클루드문을 파싱하는 과정에서 변수처리가 전혀 없기에...
{@
$oTemplate = &TemplateHandler::getInstance();
$html = $oTemplate->compile(_XE_PATH_ . '(자료종류)/(자료폴더명)/skins/(스킨명)/', '(템플릿파일명)');
echo $html;
}
위와 같이 템플릿핸들러를 직접 가져와 출력하셔야 할거에요. 캐시처리는 compile함수에서 이루어지기에 신경쓰실건 없지만 변수에 이상한 값이 들어가지 않게 필터링은 잘 해주셔야 합니다.
조그만 상세하게 알려주시면 안 될까요?
인클루드문이 들어가야할 곳에 위 코드가 들어가야 합니다.
괄호쳐진 부분은 자료에 맞게 수정해주셔야 하고요.
잘 모르시겠다면 그냥
<!--@if($var1=="value")-->
<include target="value.html">
<!--@endif-->
이런식으로 하셔도 됩니다.