CMS솔루션마켓, 이온디 - 워드프레스, 라이믹스, 카페24, 그누보드, 엑셀

고객센터

comment 

만들다보면 내가 뭘 만들었는지 모를 때가 있습니다. 왜 이렇게 했는지 몰라서 적어둡니다. ㅠ_ㅠ

file

\widgets\content\skins\eond_on\_tab_top.html

변경전 code

<div class="article_box">
   <div class="cat_box">
      <ul>
      {@$i=0}
      <!--@foreach($widget_info->tab as $module_srl => $tab)-->
      {@ $strrr = str_replace('http://eond.com/','',$tab->url); }
      <li<!--@if($i==0)--> class="on"><!--@else-->><!--@end--><span class="#wdg_{$strrr}" title="{$tab->title}">{$tab->title}</span><span class="mark"></span></li>
      {@$i++}
      <!--@end-->
      </ul>
   </div>
   <div class="article_thumb">
   {@$i=0}
   <!--@foreach($widget_info->tab as $module_srl => $tab)-->
      {@ $strrr = str_replace('http://eond.com/','',$tab->url); }
      <div class="tab-pane" id="wdg_{$strrr}">{@$widget_info->content_items = $tab->content_items}<!--#include("_tab_none.html")--></div>
   {@$i++}
   <!--@end-->
   </div>
</div>

str_replace 함수를 사용했었네요. -_-a

변경 후 code

<div class="article_box">
   <div class="cat_box">
      <ul>
      {@$i=0}
      <!--@foreach($widget_info->tab as $module_srl => $tab)-->
      {@ $strrr = str_replace($tab->domain.'/','',$tab->url); }
         {@ debugPrint($tab); }
      <li<!--@if($i==0)--> class="on"><!--@else-->><!--@end--><span class="#wdg_{$strrr}" title="{$tab->title}">{$tab->mid}{$tab->title}</span><span class="mark"></span></li>
      {@$i++}
      <!--@end-->
      </ul>
   </div>
   <div class="article_thumb">
   {@$i=0}
   <!--@foreach($widget_info->tab as $module_srl => $tab)-->
      {@ $strrr = str_replace($tab->domain.'/','',$tab->url); }
      <div class="tab-pane" id="wdg_{$strrr}">{@$widget_info->content_items = $tab->content_items}<!--#include("_tab_none.html")--></div>
   {@$i++}
   <!--@end-->
   </div>
</div>

 

cat_box는 제목에 해당하는 레이어이며, article_thumb는 내용에 해당하는 레이어입니다.

탭 게시물인데, 중요한 점은 클릭하는 탭의 제목의 레이어 클래스명과 내용의 아이디명이 서로 동일해야 하는 점인데요,

(어떻게 구현했었는지는 잘 모르겠습니다만-_-; 소스를 더 봐야겠지요;)

기존 코드를 보시면 무식하게 도메인명을 박아넣었었는데요,

{@ $strrr = str_replace('http://eond.com/','',$tab->url); }

이번에 debugPrint()의 사용방법을 익히면서 

debugPrint($tab) 을 해보니 domain 이란 배열이 있더군요. 

그리고 마지막에 /도 없애줘야 했기 때문에

{@ $strrr = str_replace($tab->domain.'/','',$tab->url); }

'http://eond.com/' 이란 도메인을 '' 빈값으로 바꿔주었습니다. 맨 뒤에 $tab->url 은 각 클래스를 구분하는 주소입니다.

str_replace('A','B','C')

C에서 A를 찾아서 B로 바꾼다는 뜻입니다.

 

추천한 사람