묻고답하기
통합게시판스킨 관련 중요한 질문입니다. 읽어주시길
2007.09.19 19:06
통합게시판 스킨을 만드는 중입니다. (여러개의 게시판을 통합하는 게시판)
일단 게시판 스킨이름을 unify라고 정했습니다. 스킨에 unify폴더를 만들고
그리고 unify의 skin.xml에서 mid_list를 추가했습니다
=====================================================================
/zbxe/modules/board/skins/unify(unify는 통합스킨이름임)/skin.xml
=====================================================================
mid_list부분을 삽입하였습니다.
----------------------------------------------
~~~~앞부분 생략~~~~
<var name="subject_cut_size" type="text">
<title xml:lang="ko">제목 글자수</title>
<title xml:lang="jp">タイトルの文字?</title>
<title xml:lang="zh-CN">??字?</title>
<title xml:lang="en">Length of Subject</title>
<description lang="ko">제목 글자수를 지정할 수 있습니다. (0또는 비워주시면 자르지 않습니다)</description>
<description lang="jp">タイトルの文字?が指定できます(「0」または空欄の場合は、文字?を制限しません)。</description>
<description lang="zh-CN">可以指定??字?。(0或留空?不限)</description>
<description lang="en">You may set length of title. (0 or blank value will not restrict the length)</description>
</var>
<title xml:lang="ko">대상 모듈</title>
<title xml:lang="zh-CN">模??象</title>
<title xml:lang="jp">モジュ?ル</title>
<title xml:lang="en">Target Module</title>
<type xml:lang="ko">mid_list</type>
<description xml:lang="ko">선택하신 모듈에 등록된 글을 대상으로 합니다.</description>
<description xml:lang="zh-CN">?把被?模??中的主?作??象。</description>
<description xml:lang="jp">チェックされたモジュ?ルに登?されたコンテンツ(書き?み)を?象とします。</description>
<description xml:lang="en">The target articles to be sorted will be the ones submitted in the selected module.</description>
</var>
</extra_vars>
</skin>
그런다음에 관리창에서 게시판설정에서 스킨설정을 보여주는 파일인 skin_info.html 을 수정하였는데 skin.xml파일을 읽은 확장변수 값이 name="mid_list"이면 mid_list를 뿌려라... 이렇게 추가하여 만든 것이죠.
=======================================================
/zbxe/modules/board/tpl/skin_info.html 을 소스추가하여 수정하였습니다
=======================================================
skin을 읽어서 name=="mid_list" 이면
채크박스 넣고 전체 mid목록을 뿌림
------------------------------------
<!--#include("./header.html")-->
<?php
$oModuleModel = &getModel('module');
$mid_list = $oModuleModel->getMidList();
Context::set('mid_list', $mid_list);
?>
<form action="./" method="post" enctype="multipart/form-data" target="hidden_iframe">
<input type="hidden" name="module" value="{$module_info->module}" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procBoardAdminUpdateSkinInfo" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="page" value="{$page}" />
<table cellspacing="0" class="tableType3">
~~~~앞부분 생략~~~~
<!--◎foreach($skin_info->extra_vars as $key => $val)-->
<tr>
<th scope="row">{$val->title}={$val->name}={$val->type}</th>
<td class="left">
~~~~앞부분 생략~~~~
<!--◎elseif($val->type=="checkbox")-->
<!--◎foreach($val->default as $k=>$v)-->
<span>
<input type="checkbox" name="{$val->name}[]" value="{$v}" id="ch_{$key}_{$k}" <!--◎if(in_array($v, $val->value))-->checked="checked"<!--◎end--> class="checkbox" />
<label for="ch_{$key}_{$k}">{$v}</label>
</span>
<!--◎end-->
<!--===============삽입 시작======================-->
<!--◎elseif($val->name=="mid_list")-->
<!--◎foreach($mid_list as $k => $v)-->
<div>
<input type="checkbox" value="{$k}" name="{$val->name}" id="ch_mid_list_{$k}" <!--◎if(in_array($v, $val->value))-->checked="checked"<!--◎end-->/>
<label for="ch_mid_list_{$k}">{$k} ({$v->browser_title}) ch_mid_list_{$k}</label>
</div>
<!--◎end-->
<!--================삽입 끝=====================-->
<!--◎elseif($val->type=="radio")-->
<!--◎foreach($val->default as $k=>$v)-->
<span>
<input type="radio" name="{$val->name}" value="{$v}" id="ch_{$key}_{$k}" <!--◎if($v==$val->value)-->checked="checked"<!--◎end-->/>
<label for="ch_{$key}_{$k}">{$v}</label>
</span>
<!--◎end-->
~~~~뒷부분 생략~~~~
<!--◎if($val->description)-->
<p>{nl2br($val->description)}</p>
<!--◎end-->
</td>
</tr>
<!--◎end-->
</table>
<div class="tRight gap1">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
</div>
</form>
<iframe name="hidden_iframe" frameborder="0" style="display:none"></iframe>
===================================================================
수정 결과는 나왔습니다.
결과그림
=================================
===================================================
다음과정.......
이 다음부터는 정말 암담하네요
ⓑ이것을 받아 모아서 mid_list를 꾸며야 합니다.
ⓒ이 mid_list를 해당 게시판 모듈에 전달해 줘야 합니다.
앞부분에 있는 <input type="hidden" name="act" value="procBoardAdminUpdateSkinInfo" />
요걸로 봐서는 procBoardAdminUpdateSkinInfo 에 어트게 하는 것 같은데 그 다음 처리과정을 좀 아시는 분들 설명좀 부탁합니다.
(저의 특별한 사정상 통합기능이 있는 게시판은 반드시 만들어야 해서요... 응원좀 부탁합니다)
기냥 파일하나 만들어서 저장하는 것이 뱃속 편할까요?