XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

tpl 소스

{$module}
<div  id="yeyak-warp">
  <header  cond="$module=='admin'">

내용

  </header>

 

files/cache/template_compiled 소스

<?php echo $__Context->module ?>
<div  id="yeyak-warp">
  <header  cond="$module=='admin'">

내용

  </header>

 

모듈 tpl 에서 cond가 안 먹혀서 찾아 보니 위와 차이가 있습니다.

 

정상 적이라면.. 아래와 같나요?

<?php echo $__Context->module ?>
<div  id="yeyak-warp">

  <?php if(__Context->module == 'admin'){?>
  <header>

내용

  </header>

  <?php }?>

  • profile
    기진곰 2016.09.06 16:04:20

    header와 cond 사이가 두 칸 떨어져 있는데, 혹시 눈에 보이지 않는 특수문자가 들어간 게 아닌지 확인해 보세요.

  • profile
    구름이 2016.09.06 16:25:17
    그렇지 않아도 저도 그걸 발견해서..
    공백 두자리이구요.. 하나로 줄이고 캐시파일 재 삭제 생성을 한다음에 테스트 해봤으나 그대로에요.

    nayana 측에서 php7 테스트 계정을 생성 해주셔서 배포중인 모듈 테스트 중입니다.
    나야나쪽만 이런 현상이 발생하네요. ㅡ.ㅡ 사실 찾아 보면 유사한 경우가 더 있을거라 생각은 하고 있습니다.
  • profile
    구름이 2016.09.06 17:58:20

    원인을 찾은것 같습니다.
    phpinfo() 에서 pcre.recursion_limit 이 낮을 경우 발생 되는 문제점이군요.

    예약 모듈의 경우 템플릿 코드가 길어서..
    실제로 테스트를 해보니 cond가 그대로 출력 되는 부분을 <include target="_menu.html" /> 로 나누어서 실행하니 작동이 됩니다.


    https://www.xpressengine.com/forum/22164314 참고하였습니다.

  • profile
    기진곰 2016.09.06 21:00:16
    아, pcre.recursion_limit이 문제였군요.
    템플릿 변환 과정에 무시무시한 정규식들이 동원되다 보니... ㄷㄷㄷ
  • profile
    구름이 2016.09.06 21:09:18

    호스팅 업체에 recursion_limit 올려 달라고 했다가 황당한 답변만 들었네요ㅋ
    결국 변경을 안해줍니다.

    모든 소스를 다 때려 엎고 있습니다(?)


위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...