아래글 작성후에 올라온 좋은 방법입니다.
https://moonhouse.co.kr/xetip/579242
XETown에 "확장변수를 입력하면 자동으로 제목으로 치환되게 가능할까요?" 질문글이 올라와서
sketchbook5 게시판스킨에 적용해 보았습니다.
1. skin.xml 파일안에 추가
<var name="display_title" type="radio">
<title xml:lang="ko">★본문 제목 출력</title>
<options value="">
<title xml:lang="ko">출력</title>
</options>
<options value="N">
<title xml:lang="ko">출력하지 않음</title>
</options>
<description xml:lang="ko">
본문제목의 출력여부를 선택합니다.
출력하지 않을시 문서의 내용이 없이도 글이 작성됩니다.
</description>
</var>
<var name="extra_title" type="radio">
<title xml:lang="ko"> ┖ 확장변수로 제목 대체</title>
<options value="">
<title xml:lang="ko">기본 제목</title>
</options>
<options value="Y">
<title xml:lang="ko">확장변수 제목</title>
</options>
<description xml:lang="ko">지정한 확장변수로 제목을 대체 합니다.</description>
</var>
<var name="title_name" type="text">
<title xml:lang="ko"> ┖ 제목 대체 확장변수 ID</title>
<description xml:lang="ko">제목으로 대체할 확장변수 ID를 작성</description>
</var>
<title xml:lang="ko">★본문 제목 출력</title>
<options value="">
<title xml:lang="ko">출력</title>
</options>
<options value="N">
<title xml:lang="ko">출력하지 않음</title>
</options>
<description xml:lang="ko">
본문제목의 출력여부를 선택합니다.
출력하지 않을시 문서의 내용이 없이도 글이 작성됩니다.
</description>
</var>
<var name="extra_title" type="radio">
<title xml:lang="ko"> ┖ 확장변수로 제목 대체</title>
<options value="">
<title xml:lang="ko">기본 제목</title>
</options>
<options value="Y">
<title xml:lang="ko">확장변수 제목</title>
</options>
<description xml:lang="ko">지정한 확장변수로 제목을 대체 합니다.</description>
</var>
<var name="title_name" type="text">
<title xml:lang="ko"> ┖ 제목 대체 확장변수 ID</title>
<description xml:lang="ko">제목으로 대체할 확장변수 ID를 작성</description>
</var>
2. write_form.html 수정 - 빨간색 부분 추가
<!--@if($mi->display_title =='')-->
<td width="100%">
<span class="itx_wrp">
<label for="postTitle">{$lang->title}</label>
<input type="text" name="title" class="itx" id="postTitle" title="{$lang->title}" value="{(!$oDocument->isExists()&&$mi->title_default_text)?htmlspecialchars($mi->title_default_text):$oDocument->getTitleText()}"/>
</span>
</td>
<td cond="$is_logged && !$oDocument->isExists() || $oDocument->get('status')=='TEMP'" class="m_no"><button type="button" class="bd_btn" onclick="doDocumentLoad(this);">{$lang->cmd_load}</button></td>
<!--@else-->
<input type="hidden" name="content" value=" " />
<!--@end-->
<td width="100%">
<span class="itx_wrp">
<label for="postTitle">{$lang->title}</label>
<input type="text" name="title" class="itx" id="postTitle" title="{$lang->title}" value="{(!$oDocument->isExists()&&$mi->title_default_text)?htmlspecialchars($mi->title_default_text):$oDocument->getTitleText()}"/>
</span>
</td>
<td cond="$is_logged && !$oDocument->isExists() || $oDocument->get('status')=='TEMP'" class="m_no"><button type="button" class="bd_btn" onclick="doDocumentLoad(this);">{$lang->cmd_load}</button></td>
<!--@else-->
<input type="hidden" name="content" value=" " />
<!--@end-->
3. _read.html 수정 - 빨간색 부분 추가
<h1 class="np_18px">
<a href="{$oDocument->getPermanentUrl()}">
<!--@if($mi->extra_title =='')-->
{$oDocument->getTitle()}
<!--@else-->
{$oDocument->getExtraEidValueHTML($mi->title_name)}
<!--@end-->
</a>
</h1>
<a href="{$oDocument->getPermanentUrl()}">
<!--@if($mi->extra_title =='')-->
{$oDocument->getTitle()}
<!--@else-->
{$oDocument->getExtraEidValueHTML($mi->title_name)}
<!--@end-->
</a>
</h1>
4. 게시판형식(_list_normal.html) 수정 - 빨간색 부분 추가
<!--@if($mi->extra_title =='')-->
{$document->getTitle($mi->subject_cut_size)}
<!--@else-->
{$document->getExtraEidValueHTML($mi->title_name)}
<!--@end-->
{$document->getTitle($mi->subject_cut_size)}
<!--@else-->
{$document->getExtraEidValueHTML($mi->title_name)}
<!--@end-->
위와 같이 수정하고 "게시판 설정 > 확장변수 > 확장변수 ID" 를 제목으로 출력할 "확장변수 ID"를 만들고
"스킨설정 > 제목 대체 확장변수 ID"에 적어 주면 됩니다.
참고로 일반위젯에서는 제목이 확장변수로 출력이 되지는 않습니다.
적용되게 할려면 위젯에서도 수정을 해야합니다.
[위젯 수정 방법]
1. 수정할 위젯의 info.xml에 추가
<var id="extra_title">
<name>★확장변수로 제목 대체</name>
<type>select</type>
<description>지정한 확장변수로 제목을 대체 합니다.
</description>
<options>
<name>기본 제목</name>
<value></value>
</options>
<options>
<name>확장변수 제목</name>
<value>Y</value>
</options>
</var>
<var id="title_name">
<name xml:lang="ko"> ┖ 제목 대체 확장변수 ID</name>
<type>text</type>
<description xml:lang="ko">제목으로 대체할 확장변수 ID를 작성</description>
</var>
<name>★확장변수로 제목 대체</name>
<type>select</type>
<description>지정한 확장변수로 제목을 대체 합니다.
</description>
<options>
<name>기본 제목</name>
<value></value>
</options>
<options>
<name>확장변수 제목</name>
<value>Y</value>
</options>
</var>
<var id="title_name">
<name xml:lang="ko"> ┖ 제목 대체 확장변수 ID</name>
<type>text</type>
<description xml:lang="ko">제목으로 대체할 확장변수 ID를 작성</description>
</var>
2. 해당 스킨의 list.html 수정 - 빨간색 부분 추가
<!--@if($wi->extra_title =='')-->
{$oDocument->getTitle($mi->subject_cut_size)}
<!--@else-->
{$oDocument->getExtraEidValueHTML($wi->title_name); }
<!--@end-->
{$oDocument->getTitle($mi->subject_cut_size)}
<!--@else-->
{$oDocument->getExtraEidValueHTML($wi->title_name); }
<!--@end-->
https://moonhouse.co.kr/multi