특정 파일이 특정 상황에서만 include 가 안되는 경우

특정 파일이 특정 상황에서만 include 가 안되는 경우

QA

특정 파일이 특정 상황에서만 include 가 안되는 경우

본문

국문 / 영문 사이트를 적응형 작업중에 영문 모바일 에서만 파일 하나가 include 되지 않고 있어서 질문드려봅니다...;; 원인을 모르겠네요...

국문PC/MO, 영문PC 에서는 include 가 다 잘되는데 영문 MO 에서만 안되니... 코드도 똑같은데 희한하네요;;

 

국문PC 경로 root /products/plaster/

국문MO 경로 root /mobile/products/plaster/

영문PC 경로 root /en/products/plaster/

영문MO 경로 root /mobile/en/products/plaster/

 

안에 index.php, tab1.php, tab2.php, tab3.php, tab4.php, tab5.php, tab6.php 이렇게 7개 파일이 똑같이 있습니다.

 

영문 PC 의 index.php 에는


$tabList = array(
  array('tab'=>'tab1', 'title'=>'탭1 영문'),
  array('tab'=>'tab2', 'title'=>'탭2 영문'),
  array('tab'=>'tab6', 'title'=>'탭3 영문'),
  array('tab'=>'tab3', 'title'=>'탭4 영문'),
  array('tab'=>'tab4', 'title'=>'탭5 영문'),
  array('tab'=>'tab5', 'title'=>'탭6 영문')
);
 
if(G5_IS_MOBILE){
  include_once(G5_MOBILE_PATH.'/en/products/plaster/index.php');
  return;
}
 
include_once('../_head.php');
?>
 
      <div id="productTab">
        <?php
        for($i=0; $i<count($tabList); $i++):
          if( $i == 0 )
            echo '<div role="tablist" aria-label="'.$g5['title'].'" class="tab-ui">'.PHP_EOL;
        ?>
        <button role="tab" aria-selected="true" aria-controls="tabpanel<?php echo $i+1; ?>" id="tab<?php echo $i+1; ?>" tabindex="0" onclick="changePanel(<?php echo $i; ?>);" class="btn btn-tab<?php echo $i == 0 ? ' selected' : ''; ?>"><?php echo $tabList[$i]['title']; ?></button>
        <?php
        endfor;
        if( $i > 0 )
            echo '</div>'.PHP_EOL;
        for($i=0; $i<count($tabList); $i++):
          include G5_PATH."/en/products/{$pageName}/{$tabList[$i]['tab']}.php";
        endfor;
        ?>
      </div>

상단에 $tabList 를 만들어서 탭UI 를 돌렸습니다.

 

PC 에서는 탭버튼 6개 출력 잘 되고, 각 버튼 클릭시 탭패널도 잘 바뀝니다.

 

영문 MO 이 말썽인데요;;

 

영문 MO 의 index.php


    <div id="productTab">
      <div class="inner">
      <?php
      for($i=0; $i<count($tabList); $i++):
        if( $i == 0 )
          echo '<div role="tablist" aria-label="'.$g5['title'].'" class="tab-ui">'.PHP_EOL;
      ?>
      <button role="tab" aria-selected="true" aria-controls="tabpanel<?php echo $i+1; ?>" id="tab<?php echo $i+1; ?>" tabindex="0" onclick="changePanel(<?php echo $i; ?>);" class="btn btn-tab<?php echo $i == 0 ? ' selected' : ''; ?>"><?php echo $tabList[$i]['title']; ?></button>
      <?php
      endfor;
      if( $i > 0 )
          echo '</div>'.PHP_EOL;
      ?>
      </div>
 
      <?php
      for($i=0; $i<count($tabList); $i++):
        include G5_MOBILE_PATH."/en/products/{$pageName}/{$tabList[$i]['tab']}.php";
      endfor;
      ?>
    </div>

 

경로만 mobile 꺼로 바꿔서 불러오는데... tab2.php 파일만 include 가 안되고 있습니다...

 

tab 파일들은 html 마크업된 파일들입니다.


// tab1.php
<article role="tabpanel" aria-labelledby="tab1" id="tabpanel1" class="tab-panel active">
</article>
 
//tab2.php
<article role="tabpanel" aria-labelledby="tab2" id="tabpanel2" class="tab-panel">
</article>

이런식으로 각 파일마다 article 하나씩 담고 있습니다...

 

국문을 먼저 만들어서 영문PC는 국문PC 껄 가져와서 경로만 /en 추가한거고,

모바일도 동일하게 국문MO 껄 가져와서 경로만 /en 추가한건데...

 

왜 영문 모바일에서 tab2.php 파일만 안불러와지는지 알 수 있을까요??

 

print_r2($tabList) 찍어보면 tab2가 있는데 for문에서 돌면 없어지는 것 같아요...

 

버튼은 6개 출력 되는데 tab2 파일 include 가 안돼서 해당 버튼 클릭하면 패널페이지가 없이 버튼만 활성화 되고 있습니다;;

이 질문에 댓글 쓰기 :

답변 1

.... tab1.php 파일에 태그가 덜 닫힌게 있었네요;; 태그 덜 닫힌게 php 에 영향을 준다는 걸 깨달았네요;;; 

? 그 말씀이 맞는 것 같아요... 덜 닫힌 태그가 있다보니 tab1 에 tab2 내용이 담겨져있던 것 같아요... 그래서 tab2 는 include가 안된 것처럼 클릭해도 내용이 안떴던거고... 바로 잡아주셔서 감사합니다!

답변을 작성하시기 전에 로그인 해주세요.
전체 95
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT