이 자료실은 공식 자료실에 포함될 예정이며 신규 등록되지 않습니다.
자료를 올려주셨던 분들은 공식 자료실에 다시 올려주시면 매우 감사하겠습니다.
| 라이센스 : | GPL2 |
|---|---|
| 기타 라이센스 : | |
| 적용 버전 : | 정식버전(1.0이후) |
| 프로젝트 URL : |
본 게시판의 [9차 수정]이후의 버전을 [ver 1.0] 붙여 나가 겠습니다.
xe_board_for_extra_vars(확장변수 전용 스킨)에 권한설정만 한것이 xe_board_for_extra_vars_add_grant (확장변수 [권한설정] 스킨)이라, 이번에도 xe_board_for_extra_vars(확장변수 전용 스킨)과 xe_board_for_extra_vars_add_grant (확장변수 [권한설정] 스킨)을같이 공개합니다.
[수정 보완내역]
1. 웹진 및 갤러리 형 목록에서 썸네일에 본문 이미지 보기를 지정 하였을 때 제대로 팝업 되지 않았던 문제를 해결 하였습니다.
2. 확장변수에 삽입된 이미지도 이미지 리사이즈가 동작 되게 하여 원본 보기를 할 수 있도록 하였습니다..
3. 게시판 설정>스킨관리>댓글(엮인글)목록에서 댓글 및 엮인글을 펼침 또는 펼침/닫힘 전환(Hammer 님의 팁) 할 수 있도록 하였습니다.
4. 글입력시 태그 입력을 하면 목록에서 본문 링크가 되지 않았던 문제를 해결(전 부터 문제가 되었으나 감각이 무딘 탓으로 인지 하지 못함) 하였습니다.
[다운로드 받기]
xe_board_for_extra_vars.zip xe_board_for_extra_vars_add_grant.zip
[Module을 수정 해야 할 부분]
아래의 [모듈을 수정 해야 할 내역] 대로 모듈을 수정 하지 않으셔도 기본적인 기능에는 문제가 없지만, 모듈을 수정 하셔야 본 스킨의 기능을 100% 활용 하실 수 있습니다.
1. xe_board_for_extra_vars 스킨
1) 게시판 목록을 특정 확장변수로 정렬하기
아래의 소스를 적용하신후 게시판 정보>정렬 대상에서 원하는 확장 변수를 선택하시면 됩니다.
line 8부분에 소스를 삽입합니다.
class board extends ModuleObject {var $search_option = array('title','content','title_content','comment','user_name','nick_name','user_id','tag'); ///< 검색 옵션
var $order_target = array('list_order', 'update_order', 'regdate', 'voted_count', 'readed_count', 'comment_count', 'title', 'extra_vars1', 'extra_vars2', 'extra_vars3', 'extra_vars4', 'extra_vars5', 'extra_vars6', 'extra_vars7', 'extra_vars8', 'extra_vars9', 'extra_vars10', 'extra_vars11', 'extra_vars12', 'extra_vars13', 'extra_vars14', 'extra_vars15', 'extra_vars16', 'extra_vars17', 'extra_vars18', 'extra_vars19', 'extra_vars20'); // 정렬 옵션
2.modules/document/document.model.php
line 144부분에 소스를 삽입합니다.
/**
* @brief module_srl값을 가지는 문서의 목록을 가져옴
**/
function getDocumentList($obj, $except_notice = false) {
// 정렬 대상과 순서 체크
if(!in_array($obj->sort_index, array('list_order','regdate','last_update','update_order','readed_count','voted_count','comment_count', 'trackback_count','uploaded_count','title', 'extra_vars1', 'extra_vars2', 'extra_vars3', 'extra_vars4', 'extra_vars5', 'extra_vars6', 'extra_vars7', 'extra_vars8', 'extra_vars9', 'extra_vars10', 'extra_vars11', 'extra_vars12', 'extra_vars13', 'extra_vars14', 'extra_vars15', 'extra_vars16', 'extra_vars17', 'extra_vars18', 'extra_vars19', 'extra_vars20'))) $obj->sort_index = 'list_order';
if(!in_array($obj->order_type, array('desc','asc'))) $obj->order_type = 'asc';
3. common/lang/ko.lang.php
line 71 부분에 소스를 삽입합니다.
// 기본 단어
$lang->extra_vars1 = '확장변수 1';
$lang->extra_vars2 = '확장변수 2';
$lang->extra_vars3 = '확장변수 3';
$lang->extra_vars4 = '확장변수 4';
$lang->extra_vars5 = '확장변수 5';
$lang->extra_vars6 = '확장변수 6';
$lang->extra_vars7 = '확장변수 7';
$lang->extra_vars8 = '확장변수 8';
$lang->extra_vars9 = '확장변수 9';
$lang->extra_vars10 = '확장변수 10';
$lang->extra_vars11 = '확장변수 11';
$lang->extra_vars12 = '확장변수 12';
$lang->extra_vars13 = '확장변수 13';
$lang->extra_vars14 = '확장변수 14';
$lang->extra_vars15 = '확장변수 15';
$lang->extra_vars16 = '확장변수 16';
$lang->extra_vars17 = '확장변수 17';
$lang->extra_vars18 = '확장변수 18';
$lang->extra_vars19 = '확장변수 19';
$lang->extra_vars20 = '확장변수 20';
$lang->no = '번호';
#. 주의 : media 타입의 링크는 반드시 "mms://파일경로/미디어파일" 으로 입력하셔야 합니다.(업로드 파일을 링크 할 때도 주소를 "mms://파일경로/미디어파일"로 해도 되는군요)
line 218 부분의 소스를 삭제하세요
<th>{$lang->column_type}</th>
<td>
<select name="extra_vars_{$i}_type">
<!--@foreach($lang->column_type_list as $key => $val)-->
<!--@if($key != 'kr_zip')-->
<option value="{$key}" <!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
<!--@end-->
<!--@end-->
</select>
</td>
2. common/lang/ko.lang.php
line 275 부분의 소스를 삽입하세요.
$lang->column_type_list['select'] = '단일 선택 (select)';
$lang->column_type_list['kr_zip'] = '한국주소 (zip)';
$lang->column_type_list['date'] = '일자 (년월일)';
$lang->column_type_list['image'] = '그림삽입(image)';
$lang->column_type_list['radio'] = '단일선택(radio)';
$lang->column_type_list['media'] = '멀티미디어(media)';
//$lang->column_type_list['jp_zip'] = '일본주소 (zip)';
3)스킨설정에서 본문 에디터 비활성화를 하여도 파일 업로드창 활성화 하기
1.modules/editor/editor.controller.php
line159 부분에 소스를 삽입한다.
$editor_config->enable_autosave = Context::get('enable_autosave');if($editor_config->enable_autosave != 'Y') $editor_config->enable_autosave = 'N';
$editor_config->enable_only_upload_editor = Context::get('enable_only_upload_editor');
if($editor_config->enable_only_upload_editor != 'Y') $editor_config->enable_only_upload_editor = 'N';
2. modules/editor/editor.model.php
line45 부분에 소스를 삽입한다.
if(!$editor_config->editor_height) $editor_config->editor_height = 500;
if(!$editor_config->comment_editor_height) $editor_config->comment_editor_height = 120;
if($editor_config->enable_autosave!='N') $editor_config->enable_autosave = "Y";
if($editor_config->enable_only_upload_editor != 'Y') $editor_config->enable_only_upload_editor = 'N';if(!$editor_config->editor_skin) $editor_config->editor_skin = 'default';
if(!$editor_config->comment_editor_skin) $editor_config->comment_editor_skin = 'default';return $editor_config;
/**
* @brief 에디터 template을 return
* upload_target_srl은 글의 수정시 호출하면 됨.
* 이 upload_target_srl은 첨부파일의 유무를 체크하기 위한 루틴을 구현하는데 사용됨.
**/
function getEditor($upload_target_srl = 0, $option = null) {
/**
* 기본적인 에디터의 옵션을 정리
**/// 에디터 업로드만 사용 옵션 설정
if(!$option->enable_only_upload_editor) $enable_only_upload_editor = false;
else $enable_only_upload_editor = true;line 163 부분에 소스를 삽입한다.
/**
* 에디터 컴포넌트 체크
**/
if($enable_component) {
if(!Context::get('component_list')) {
$component_list = $this->getComponentList();
Context::set('component_list', $component_list);
}
}
Context::set('enable_component', $enable_component);
Context::set('enable_default_component', $enable_default_component);/**
* 에디터 업로드 기능만 가능한지 변수 설정
**/
Context::set('enable_only_upload_editor', $enable_only_upload_editor);line 217 부분에 소스를 삽입한다.
function getModuleEditor($type = 'document', $module_srl, $upload_target_srl, $primary_key_name, $content_key_name) {
// 지정된 모듈의 에디터 설정을 구해옴
$editor_config = $this->getEditorConfig($module_srl);// type에 따른 설정 정리
if($type == 'document') {
$config->editor_skin = $editor_config->editor_skin;
$config->upload_file_grant = $editor_config->upload_file_grant;
$config->enable_default_component_grant = $editor_config->enable_default_component_grant;
$config->enable_component_grant = $editor_config->enable_component_grant;
$config->enable_html_grant = $editor_config->enable_html_grant;
$config->editor_height = $editor_config->editor_height;
$config->enable_height_resizable = $editor_config->enable_height_resizable;
$config->enable_autosave = $editor_config->enable_autosave;
$config->enable_only_upload_editor = 'N';
} elseif($type == 'extra_vars'){
$config->enable_only_upload_editor = 'Y';
} elseif($type == 'comment') {
$config->editor_skin = $editor_config->comment_editor_skin;
$config->upload_file_grant = $editor_config->comment_upload_file_grant;
$config->enable_default_component_grant = $editor_config->enable_comment_default_component_grant;
$config->enable_component_grant = $editor_config->enable_comment_component_grant;
$config->enable_html_grant = $editor_config->enable_comment_html_grant;
$config->editor_height = $editor_config->comment_editor_height;
$config->enable_height_resizable = $editor_config->enable_comment_height_resizable;
$config->enable_autosave = 'N';
$config->enable_only_upload_editor = 'N';
}
line 291 부분에 소스를 삽입한다.
// HTML 편집 권한
$enable_html = false;
if(count($config->enable_html_grant)) {
foreach($group_list as $group_srl => $group_info) {
if(in_array($group_srl, $config->enable_html_grant)) {
$enable_html = true;
break;
}
}
} else $enable_html = true;if($enable_html) $option->disable_html = false;
else $option->disable_html = true;// 에디터 업로드만 설정
$option->enable_only_upload_editor = $config->enable_only_upload_editor=='Y'?true:false;
3. moudles/editor/tpl/js/uploader.js
line 302 부분 소스를 삽입한다.
// 이미지 파일의 경우
} else if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
html = "<img src=\""+uploaded_filename+"\" border=\"0\" width=\"100%\" height=\"100%\" onclick=\"copyContent(this.href);return false\" />";line 끝부분에 아래의 소스를 삽입한다.
function copyContent(trb)
{
var IE=(document.all)?true:false;
if (IE) {
if(confirm("이 글의 주소를 클립보드에 복사하시겠습니까?"))
window.clipboardData.setData("Text", trb);
}
};<<보충설명>>
1> 이 소스는 글쓰기 폼에서 이미지 파일이 업로드 되면 미리보기가 지원되는데, 미리보기 이미지를 클릭하면 업로드된 파일의 위치를 클립보드에 복사 합니다.2> 위의 방법으로 복사된 이미지 파일의 주소를 확장변수의 이미지 입력 칸에 사용자가 붙여넣기하여 사용하기 위함입니다.
4. module/editor/skins/default/editor.html
line 34 부분에 소스를 삽입한다.
<!-- 자동저장용 폼 -->
<!--@if($enable_autosave && !$enable_only_upload_editor)-->
<input type="hidden" name="_saved_doc_title" value="{htmlspecialchars($saved_doc->title)}" />
<input type="hidden" name="_saved_doc_content" value="{htmlspecialchars($saved_doc->content)}" />
<input type="hidden" name="_saved_doc_message" value="{$lang->msg_load_saved_doc}" />
<!--@end-->
<input type="hidden" name="_editor_sequence" value="{$editor_sequence}" />
<!--@if(!$enable_only_upload_editor)-->
<ul class="editorTypeSelector">
<li class="active" id="use_rich_{$editor_sequence}"><a href="#xeEditor" onclick="editorChangeMode('', '{$editor_sequence}')"><span>{$lang->edit->rich_editor}</span></a></li><!-- HTML 모드 사용 -->
<!--@if($html_mode)-->
<!--@if($html_mode)-->
<li id="use_html_{$editor_sequence}"><a href="#htmlEditor" onclick="editorChangeMode('html', '{$editor_sequence}')"><span>{$lang->edit->html_editor}</span></a></li>
<!--@end-->
<!--@end--><li id="preview_html_{$editor_sequence}"><a href="#htmlEditor" onclick="editorChangeMode('preview','{$editor_sequence}');"><span>{$lang->cmd_preview}</span></a></li>
</ul>
<!--@end--><!-- 에디터 -->
<div id="xeEditor_{$editor_sequence}" class="xeEditor rich" >
<!--@if(!$enable_only_upload_editor)-->
<!-- class="xeEditor rich" | class="xeEditor html" --><div id="xeEditorOption_{$editor_sequence}" class="toolBox" >
line 193 부분에 소스를 삽입한다.
<!-- 에디터 크기 조절 bar -->
<!--@if($enable_resizable)-->
<div class="textAreaDragIndicator"><button type="button" id="editor_drag_bar_{$editor_sequence}" title="Text Area Resizer"></button></div>
<!--@end-->
<!--@else-->
<!-- 에디터 출력 -->
<div><iframe id="editor_iframe_{$editor_sequence}" class="richEditor" frameborder="0" height="0" title="Rich Text Editor"></iframe></div>
<textarea id="editor_textarea_{$editor_sequence}" class="htmlEditor" style="height:0" rows="10" cols="10" title="HTML Editor"></textarea>
<!--@end-->
line 221 부분에 소스를 삽입한다.
<!-- 파일 업로드 영역 -->
<div id="fileUploader_{$editor_sequence}" class="fileUploader">
<div class="preview {$editor_class}" id="preview_uploaded_{$editor_sequence}"></div>
<div class="fileListArea {$editor_class}">
<select id="uploaded_file_list_{$editor_sequence}" multiple="multiple" class="fileList" title="Attached File List"><option></option></select>
</div>
<div class="fileUploadControl">
<span class="button {$editor_class}" id="swfUploadButton{$editor_sequence}"><button type="button">{$lang->edit->upload_file}</button></span>
<span class="button {$editor_class}"><button type="button" onclick="removeUploadedFile('{$editor_sequence}');return false;">{$lang->edit->delete_selected}</button></span>
<!--@if(!$enable_only_upload_editor)-->
<span class="button {$editor_class}"><button type="button" onclick="insertUploadedFile('{$editor_sequence}');return false;">{$lang->edit->link_file}</button></span>
<!--@end-->
</div>
<div class="file_attach_info" id="uploader_status_{$editor_sequence}">{$upload_status}</div>
</div>
<!--@end-->
</div>
5. modules/document/document.item.php
6. modules/board/skins/xe_board_for_extra_vars/write_form.htmlline 602 부분에 소스를 삽입한다.
/**
* @brief 에디터 html을 구해서 return
**/
function getEditor() {
$module_srl = $this->get('module_srl');
if(!$module_srl) $module_srl = Context::get('module_srl');$oEditorModel = &getModel('editor');
return $oEditorModel->getModuleEditor('document', $module_srl, $this->document_srl, 'document_srl', 'content');
}function getExtra_vars_Editor() {
$module_srl = $this->get('module_srl');
if(!$module_srl) $module_srl = Context::get('module_srl');$oEditorModel = &getModel('editor');
return $oEditorModel->getModuleEditor('extra_vars', $module_srl, $this->document_srl, 'document_srl', 'content');
}line 93 부분에 소스를 삽입한다.
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr>
<th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
<td><!--#include("./extra_var_form.html")--></td>
</tr>
<!--@endif-->
<!--@if($val->type=='image')-->{@ $ev_editor = Y}<!--@end-->
<!--@endforeach-->
</table>
<!--@endif--><!--@if($module_info->enable_editor =='N' && $ev_editor=='Y')--><div class="editor">{$oDocument->getExtra_vars_Editor()}</div><!--@end-->
<!--@if($module_info->enable_editor !='N')--><div class="editor">{$oDocument->getEditor()}</div><!--@end-->
2. xe_board_for_extra_vars_add_grant 스킨
1) "1. xe_board_for_extra_vars 스킨" 부분을 적용 한다.
2) 확장변수 권한 설정하기
line 184 부분에 소스를 추가 합니다.
<!--@if(!$module_srls)-->
<!--@for($i=1;$i<=20;$i++)-->
<div class="gap1"></div>
{@ $extra_vars_name = ''}
{@ $extra_vars_type = ''}
{@ $extra_vars_grant_type = ''}
{@ $extra_vars_is_required = ''}
{@ $extra_vars_default_value = ''}
{@ $extra_vars_desc = ''}
{@ $extra_vars_search = ''}
<!--@if($module_info->extra_vars[$i])-->
{@ $extra_vars_name = $module_info->extra_vars[$i]->name}
{@ $extra_vars_type = $module_info->extra_vars[$i]->type}
{@ $extra_vars_grant_type = $module_info->extra_vars[$i]->grant_type}
{@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required}
{@ $extra_vars_default_value = $module_info->extra_vars[$i]->default}
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc}
{@ $extra_vars_search = $module_info->extra_vars[$i]->search}
<!--@end-->
<table cellspacing="0" class="adminTable ">
<col width="150" />
<col />
<caption>{$lang->extra_vars} {$i}</caption>
<tr>
<th>{$lang->column_name}</th>
<td><input type="text" name="extra_vars_{$i}_name" value="{$extra_vars_name}" class="inputTypeText w200" /> </td>
</tr>
<tr>
<th>{$lang->column_type}</th>
<td>
<select name="extra_vars_{$i}_type">
<!--@foreach($lang->column_type_list as $key => $val)-->
<option value="{$key}" <!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<th>{$lang->grant_type}</th>
<td>
<select name="extra_vars_{$i}_grant_type">
<!--@foreach($lang->grant_type_list as $key => $val)-->
<option value="{$key}" <!--@if($extra_vars_grant_type==$key)-->selected="selected"<!--@end-->>{$lang->grant_type_list[$key]}</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
2.modules/board/tpl/filter/insert_board.xml
line 27 부분에 소스를 추가 합니다.
<param name="header_text" target="header_text" />
<param name="footer_text" target="footer_text" />
<param name="admin_id" target="admin_id" />
<param name="extra_vars_1_grant_type" target="extra_vars_1_grant_type" />
<param name="extra_vars_2_grant_type" target="extra_vars_2_grant_type" />
<param name="extra_vars_3_grant_type" target="extra_vars_3_grant_type" />
<param name="extra_vars_4_grant_type" target="extra_vars_4_grant_type" />
<param name="extra_vars_5_grant_type" target="extra_vars_5_grant_type" />
<param name="extra_vars_6_grant_type" target="extra_vars_6_grant_type" />
<param name="extra_vars_7_grant_type" target="extra_vars_7_grant_type" />
<param name="extra_vars_8_grant_type" target="extra_vars_8_grant_type" />
<param name="extra_vars_9_grant_type" target="extra_vars_9_grant_type" />
<param name="extra_vars_10_grant_type" target="extra_vars_10_grant_type" />
<param name="extra_vars_11_grant_type" target="extra_vars_11_grant_type" />
<param name="extra_vars_12_grant_type" target="extra_vars_12_grant_type" />
<param name="extra_vars_13_grant_type" target="extra_vars_13_grant_type" />
<param name="extra_vars_14_grant_type" target="extra_vars_14_grant_type" />
<param name="extra_vars_15_grant_type" target="extra_vars_15_grant_type" />
<param name="extra_vars_16_grant_type" target="extra_vars_16_grant_type" />
<param name="extra_vars_17_grant_type" target="extra_vars_17_grant_type" />
<param name="extra_vars_18_grant_type" target="extra_vars_18_grant_type" />
<param name="extra_vars_19_grant_type" target="extra_vars_19_grant_type" />
<param name="extra_vars_20_grant_type" target="extra_vars_20_grant_type" />
3.common/lang/ko.lang.php
lin 221 부분에 소스를 추가 합니다.
$lang->confirm_leave = '탈퇴 하시겠습니까??';
$lang->grant_type = '권한';
$lang->grant_type_list['all_to_all'] = '권한자 작성, 권한자 열람(all_to_all)';
$lang->grant_type_list['all_to_admin'] = '권한자 작성, 관리자 열람(all_to_admin)';
$lang->grant_type_list['admin_to_all'] = '관리자 작성, 권한자 열람(admin_to_all)';
$lang->grant_type_list['admin_to_original'] = '관리자 작성, 원작자 열람(admin_to_original)';
$lang->grant_type_list['admin_to_admin'] = '관리자 작성, 관리자 열람(admin_to_admin)';
$lang->column_type = '형식';
4. modules/board/lang/ko.lang.php
lin 39 부분에 소스를 추가 합니다.
$lang->about_admin_mail = '글이나 댓글이 등록될때 등록된 메일주소로 메일이 발송됩니다<br /> ,(콤마)로 연결시 다수의 메일주소로 발송할 수 있습니다.';
$lang->process = '처리중';
$lang->complete = '완료';
5. modules/board/board.view.php
lin 81 부분에 소스를 추가 합니다.
// 모듈정보를 확인하여 확장변수에서도 검색이 설정되어 있는지 확인
for($i=1;$i<=20;$i++) {
$ex_name = trim($this->module_info->extra_vars[$i]->name);
if(!$ex_name) continue;
if($this->module_info->extra_vars[$i]->search == 'Y' && ($this->grant->is_admin && $this->module_info->extra_vars[$i]->grant_type!='all_to_all' || $this->module_info->extra_vars[$i]->grant_type=='all_to_all' || $this->module_info->extra_vars[$i]->grant_type=='all_to_all' || !$this->module_info->extra_vars[$i]->grant_type)) $search_option['extra_vars'.$i] = $ex_name;
}
Context::set('search_option', $search_option);
[스킨의 사용법]
1. xe_board_for_extra_vars 스킨
목록의 출력 형태를 웹진, 목록, 갤러리 형태중에서 기본형태를 설정 합니다.

본문 에디터를 활성/비활성 할 수 있습니다. 즉, 확장변수만으로 글을 작성시 본문 에디터를 비 활성화 할 수 있습니다.
게시판 검색창을 기본 검색창/ 확장변수 전용 검색창/사용하지않음으로 선택 할 수 있습니다.
댓글 및 엮인글 목록을 펼침 또는 열림/닫힘 토클 전환으로 설정 할 수 있습니다.
확장변수의 홈페이지,이메일주소,미디어,이미지 타입의 경로를 텍스트 나 아이콘으로 설정 할 수 있습 니다.
제목,게시글,글쓴이,조회수,추천수,작성일,최근변경시간, 목록 추가 출력 확장변수(최대 5개) 순으로 숫자를 콤마로 구분, 입력하세요.
(1) "0" 이나 아무것도 입력 하지 않으면
(1-1) 제목은 "제한 하지 안음" ,게시글은 "240" 자가 기본입니다.
(1-2) 제목에 확장 변수 적용시 "20"자가 기본입니다..
(1-3) 게시글에 확장 변수 적용시 "240"자가 기본입니다.
(1-4) 그외의 목록 부분은 확장 변수를 적용하였을 경우에만 "20"자가 기본입니다.
(2). "조회수,추천수,작성일,최근변경시간,목록 추가 출력 확장변수(최대 5개)" 글자수 제한은 "조회수,추천수,작성일,
최근변경시간,목록 추가 출력 확장변수(최대 5개)" 항목에 확장변수를 적용 할때만 적용이 됩니다.
게시글의 항목별 정렬 방식을 입력 하실 수 있습니다. 제목,게시글,글쓴이,조회수,추천수,작성일,최근변경시간,목록 추가 출력 확장변수
(최대 5개) 순으로 정렬 방식(center, right, 기본 값은 left입니다.)을 콤마(,)로 구분하여 입력하시면 됩니다.
(1) 아무것도 입력하지 않으시면 모든 항목이 왼쪽 정렬이 됩니다.
(2) 항목별 정렬은 "제목,게시글,글쓴이,조회수,추천수,작성일,최근변경시간,목록 추가 출력 확장변수(최대 5개)"에
확장 변수를 지정 하셔야만 적용 됩니다.
썸네일의 크기 및 Type, 썸네일 대표이미지 등록여부를 설정합니다.
썸네일 생성 [crop:꽉 채우기(기본), ratio:비율 맞추기], 가로크기 (기본 100px), 세로크기 (기본 100px), 대표썸네일 생성 [Y(기본) / N] 순
으로 콤마로 구분하여 입력하세요.
예1) crop,120,120,y => 썸네일을 [crop], 가로크기[120], 세로크기[120], 게시글에 이미지 없을 경우 대표 썸네일 생성
예2) 아무것 도 입력 하지 않으면 =>썸네일을 [crop], 가로크기[100], 세로크기[100], 게시글에 이미지 없을 경우 대표 썸네일 생성
입니다.
썸네일에 적용할 링크를 설정 합니다.
본문보기 :: Content, 원본 이미지보기 :: view_image, 확장변수 링크 출력(Homepage, Email, Media, image 형식만)::1 ~ 20입니다.
1) 게시글에 이미지 파일이 없이 경우 썸네일 링크를 "view_image"로 설정 하시면 링크시 본문보기로 적용됩니다.
2)게시글에 이미지 파일이 있어 썸네일이 생성 되어있고, 썸네일 링크에 확장변수가 지정 되었을 경우
(1) 지정된 확장변수가 Homepage, Email, Media, image 타입이 아닐 경우 => 본문링크
(2) 지정된 확장변수가 Homepage, Email, Media, image 타입이 지만 입력 값이 없을 경우 => 본문 링크
1) 제목 출력/ 확장변수 출력을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"제목표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "제목표시"는 "출력"의 조건으로 전환 됩니다.
2)게시글 출력/ 확장변수 출력 및 "추가 확장변수 출력"을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"게시글표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "게시글표시"는 "출력"의 조건으로 전환 됩니다.
(3) 추가 확장 변수출력을 선택하시면, 추가 확장 변수에 입력된 확장 변수를 웹진 목록의 게시글 부분에 출력합니다.
단, 아래의 조건일 경우에만 해당 합니다.
(3-1) 추가 확장 변수에 확장 변수가 지정이 되어 있어야 합니다.
(3-2) 추가 확장 변수에 확장 변수가 지정이 되어있어도, 게시판 설정>게시판 정보>확장 변수에서 확장변수가 설정 되어 합니다.
(3-3) 위의 두 가지 조건이 충족 되었어도 확장 변수의 내용이 입력 되지 않으면 목록에 나타나지 않습니다.
3) 글쓴이 출력/ 출력하지않음/확장변수 출력을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"글쓴이 표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "글쓴이 표시"는 "출력"의 조건으로 전환 됩니다
4) 조회수 출력/ 출력하지않음/확장변수 출력을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"조회수 표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "조회수 표시"는 "출력"의 조건으로 전환 됩니다.
5) 추천수 출력/ 출력하지않음/확장변수 출력을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"추천수 표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "추천수 표시"는 "출력"의 조건으로 전환 됩니다.
6) 작성일 출력/ 출력하지않음/확장변수 출력을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"작성일 표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "작성일 표시"는 "출력"의 조건으로 전환 됩니다.
7) 최근 변경시간 출력/ 출력하지않음/확장변수 출력을 지정 하실 수 있습니다.
(1) 기본 값은 "출력"이고 , 확장 변수를 출력 하고 싶으 시면 표시 하고싶은 확장 변수의 번호를 지정하여 주시면 됩니다.
(2) 만일 게시판 정보 수정에서 해당 확장 변수(예 : 확장변수1)를 지정 하지 않으시고, 스킨관리에서
"최근 변경시간 표시"에 해당 번호의 확장 변수(예 : 확장변수1)를 지정하시면, "최근 변경시간 표시"는 "출력"의 조건으로
전환 됩니다.
추가로 출력하고 싶은 확장변수 번호(최대 5개)를 콤마(,)로 구분하여 입력하세요.
(예 1) 추가 확장변수를 5개 지정 한 경우 : 1,2,3,4,5
(예) 2) 추가 확장변수를 3개 지정 한 경우 : 1,2,3
2. xe_board_for_extra_vars_add_grant 스킨
1) "1. xe_board_for_extra_vars 스킨"과 동일 합니다.
2) 권한별 목록 및 열람시출력 내용(메시지)
|
권한 |
답변(비로그인) |
미답변(비로그인) |
답변(로그인) |
미답변(로그인) |
|
all_to_all |
작성내용 |
|
작성내용 |
|
|
all_to_admn |
비공개 |
비공개 |
작성내용 |
작성내용 |
|
admin_to_all |
작성내용 |
처리중 |
작성내용 |
처리중 |
|
admin_to_original |
완료 |
처리중 |
작성내용 |
처리중 |
|
admin_to_admin |
미출력 |
미출력 |
미출력 |
미출력 |
[확장변수 권한 설정하기(모듈 부분)]를 적용 하셨다면, 각각의 확장 변수에
1, 권한자 작성, 권한자 열람(all_to_all) : 글작성 권한자가 작성, 글 열람 권한자 열람.
2, 권한자 작성, 관리자 열람(all_to_admin) : 글작성 권한자가 작성, 최고 관리자 및 게시판 관리자, 글작성자 열람.
3, 관리자 작성, 권한자 열람(admin_to_all) : 최고 관리자, 게시판 관리자 작성, 최고 관리자 및 게시판 관리자 ,글 열람 권한자 열람.
4, 관리자 작성, 원작자 열람(admin_to_original) : 최고 관리자, 게시판 관리자 작성, 최고 관리자 및 게시판 관리자 ,최초 글 작성자 열람.
5, 관리자 작성, 관리자 열람(admin_to_admin) : 최고 관리자 및 게시판 관리자가 작성하고 열람.
중 하나의 권한을 "게시판 설정>게시판 정보>수정>확장변수(1~20)>권한"에서 각각의 확장변수에 권한설정을 하실 수 있습니다.
검색기능에서 확장 변수의 검색은 관리자는 모든 권한의 확장변수를 검색, 작성자와 열람 권한자는 권한자 작성, 권한자 열람(all_to_all)와 관리자 작성, 권한자 열람(admin_to_all) 의 권한의 확장 변수만 검색이 가능 합니다.
4차수정분(http://www.zeroboard.com/zbxe_module_skin/16918997/page/3)게시판에서 디자인만 제로보드1.1.5로 변경된
게시판 디자인으로 변경하려면 어떤파일을 덮어써야 하는지요? 답변 부탁드려요^^
공유가 안된다면 혹시 부탁드려도 될지요?
한가지 오류가 있는게 아닌가 싶어서 말씀드립니다.
갤러리형 게시판에 상위에 sorting 부분 있잖아요.
클릭하면 해당 기준으로 sorting하는거..
그거, 소스코드를 보면 많은 sorting 방법이 존재하는 것 같은데,
어떤건 안뜨고 어떤건 뜨네요? 이유가 뭔가요?
날짜순과 조회순으로 하고 싶은데... 조회순은 뜨질 않는군요.
제가 볼때, 조회순의 if 문이 잘못 된 것 같은데,
<!--@if($key!='N' && ($key=='Y' || !$module_info->extra_vars[$key]->type))-->
이 부분이
<!--@if($key=='Y' || !$module_info->extra_vars[$key]->type)-->
이렇게 수정되어야 하는건 아닐지... 잘 모르겠어서 질문 드립니다.
확인 부탁드립니다.^^
/**
* @brief module_srl값을 가지는 문서의 목록을 가져옴
**/
function getDocumentList($obj, $except_notice = false) {
// 정렬 대상과 순서 체크
if(!in_array($obj->sort_index, array('list_order','regdate','last_update','update_order','readed_count','voted_count','comment_count','trackback_count','uploaded_count','title', 'extra_vars1', 'extra_vars2', 'extra_vars3', 'extra_vars4', 'extra_vars5', 'extra_vars6', 'extra_vars7', 'extra_vars8', 'extra_vars9', 'extra_vars10', 'extra_vars11', 'extra_vars12', 'extra_vars13', 'extra_vars14', 'extra_vars15', 'extra_vars16', 'extra_vars17', 'extra_vars18', 'extra_vars19', 'extra_vars20'))) $obj->sort_index = 'list_order';
if(!in_array($obj->order_type, array('desc','asc'))) $obj->order_type = 'asc';
// module_srl 대신 mid가 넘어왔을 경우는 직접 module_srl을 구해줌
if($obj->mid) {
$oModuleModel = &getModel('module');
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
unset($obj->mid);
}
// 넘어온 module_srl은 array일 수도 있기에 array인지를 체크
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
이것만 고치면'컨텐츠 인코딩 오류'라고 나오면서 동작이 안되는데 왜글죠?







xe_board_for_extar_vars(_add_grant)/extra_var_list.html
line 9의 아래소스를
<!--@if($val_list->type=='text' || $val_list->type=='textarea' || $val_list->type=='select' || $val_list->type=='radio')-->
<!--@if($val_list->value)-->
{cut_str(htmlspecialchars($val_list->value),$subject_cut_size[$i], '...')}
<!--@else-->
<!--@end-->
아래의 소스로 대치하세요.
<!--@if($val_list->type=='text' || $val_list->type=='select' || $val_list->type=='radio')-->
<!--@if($val_list->value)-->
{cut_str(htmlspecialchars($val_list->value),$subject_cut_size[$i], '...')}
<!--@else-->
<!--@end-->
<!--@elseif($val_list->type=='textarea')-->
<!--@if($val_list->value)-->
{cut_str(nl2br($val_list->value),$subject_cut_size[$i], '...')}
<!--@else-->
<!--@end-->
*. 주의 : 소스를 바꾼후, 확장변수 형식을 "Textarea"로 하시고, 글을 작성시 줄 바꿈을 하셔야 합니다. 다음 스킨 공개시 적용 하도록 하겠습니다.