위젯이나 게시판의 제목글 옆에 여라가지 아이콘이 자동으로 나타납니다.
이것이 필요할때도 있지만 일부분은 필요없을때도 있죠.
지금부터 설명드리는 방법은 XE core를 건드리는 부분이라 약간은 위험합니다.
만약 document.item.php 파일이 업그레이드되거나 쉬운설치로 설치를 하시면 화면자체가 백지로 출력됩니다.
- 필히 명심하셔야합니다 -
먼저 ./modules/document/document.item.php 파일에서 XE1.4.3기준 671라인정도에 아래 함수를 추가합니다.
/**
* 위젯최신글에선 새글에만 아이콘을 표시하기 위해서 별도의 함수 정의해서 사용함
**/
function printExtraImages_widgets($time_check = 43200) {
if(!$this->document_srl) return;
// 아이콘 디렉토리 구함
$path = sprintf('%s%s',getUrl(), 'modules/document/tpl/icons/');
$buffs = $this->getExtraImages($time_check);
if(!count($buffs)) return;
$buff = null;
foreach($buffs as $key => $val) {
if($val=='new' || $val=='secret'){
$buff .= sprintf('<img src="%s%s.gif" alt="%s" title="%s" style="margin-right:2px;" />', $path, $val, $val, $val);
}
}
return $buff;
}
저는 새글과 비밀글 아이콘만 나오게 했습니다.
if($val=='new' || $val=='secret'){ ----> 이 부분에 자신이 원하는 아이콘를 넣어주시면 됩니다.
XE core 1.4.3 원본파일 document.item.php
수정된 파일 document.item.php
# 위젯부분 수정하는 방법입니다.
[content위젯수정]
./widgets/content/content.class.php 265, 314, 802줄(총3군데)
printExtraImages_widgets 으로 변경
./widgets/content/skins/default/normal.html 28, 80줄
printExtraImages_widgets() 으로 변경
[다른위젯수정]
./widgets/해당위젯/위젯.class.php 에 아래부분 추가합니다.
if($args->display_duration_new!='Y') $widget_info->display_duration_new = 'N';
else $widget_info->display_duration_new = 'Y';
if($args->display_duration!='Y') $widget_info->display_duration = 'N';
else $widget_info->display_duration = 'Y';
./widgets/해당위젯/conf/info.xml 에 아래부분 추가합니다.
아이콘표시중 전체표시와 해당아이콘만을 선택하는 설정입니다.
<var id="display_duration">
<name xml:lang="ko">아이콘 출력</name>
<description />
<type>select</type>
<options>
<name xml:lang="ko">출력</name>
<value>Y</value>
</options>
<options>
<name xml:lang="ko">출력하지 않음</name>
<value>N</value>
</options>
</var>
<var id="display_duration_new">
<name xml:lang="ko"> ┖ 아이콘 출력형태</name>
<description />
<type>select</type>
<options>
<name xml:lang="ko">전체표시</name>
<value>Y</value>
</options>
<options>
<name xml:lang="ko">새글,비밀글만 표시</name>
<value>N</value>
</options>
</var>
./widgets/해당위젯/skins/위젯종류/list.html 에 아래부분 수정합니다.
[수정전]
{$oDocument->printExtraImages($widget_info->duration_new)}
[수정후]
<!--@if($widget_info->display_duration == 'Y')-->
<!--@if($widget_info->display_duration_new == 'Y')-->
{$oDocument->printExtraImages($widget_info->duration_new)}
<!--@else if($widget_info->display_duration_new == 'N')-->
{$oDocument->printExtraImages_widgets($widget_info->duration_new)}
<!--@end-->
<!--@else-->
<!--@end-->
#게시판수정 방법입니다.
./modules/board/skins/해당게시판/skin.xml 에 아래부분 추가합니다.
<var name="display_duration_new" type="select">
<title xml:lang="ko">아이콘 표시</title>
<description xml:lang="ko">아이콘표시를 선택할 수 있습니다.</description>
<options value="Y">
<title xml:lang="ko">전체표시</title>
</options>
<options value="N">
<title xml:lang="ko">새글과 업데이트 아이콘만 표시</title>
</options>
</var>
./modules/board/skins/해당게시판/_style.해당형태.html 에 아래부분 수정합니다.
[수정전]
{$document->printExtraImages(60*60*$module_info->duration_new)}
[수정후]
<!--@if($document->display_duration_new == 'Y')-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
<!--@else if($$document->display_duration_new == 'N')-->
{$document->printExtraImages_widgets(60*60*$module_info->duration_new)}
<!--@end-->