웹마스터 팁
일반 회원이나 손님도, 제목의 글자색상 및 굵기 설정 가능하게.
2010.07.14 17:49
제가 ZB4 때랑 헷갈려서 오타가 하나 있었네요
write.php 가 아니라 write_form.html 입니다
-------------------------------------------------------------------
다른 곳에 써둔 글이여서 말이 짧습니다. ^^;
글출처 - http://sejin7940.co.kr/tips_xe/2653
-------------------------------------------------------------------------------------------------
글 쓸때, 제목에 색깔 이나 굵기 설정등을 할 수 있다.
다만, 이는 관리자 권한 있는 사람만 가능하게 되어있다.
이를 일반 회원들까지 가능하게 하고 싶다면!!
게시판 스킨을 일부 수정하고, 그리고 Board 모듈의 일부를 수정해야한다.
1. Board 모듈 수정 ( Board 모듈이 XE Core 사항이 아닌바.. 업데이트 걱정은 많이 하지 않아도 된다)
modules/board/board.controller.php 에서
function procBoardInsertDocument() { 함수내에
if(!$this->grant->manager) {
unset($obj->title_color);
unset($obj->title_bold);
}
부분을 찾아서.... if 문 앞뒤를 없애준다. 즉, 윗부분을 아래로 대체하면 된다
unset($obj->title_color);
unset($obj->title_bold);
이렇게 하면, 모듈자체에서 색상 등을 강제로 관리자만 되게 제어하는 부분은 없어진다.
그러나, 게시판 스킨 자체에서도 이를 관리자만 되도록 제한하고 있는 바, 이 부분을 수정해줘야한다.
2. 게시판 스킨 내부에서.. write_form.html 파일에서
<manager">!--@if($grant->manager)-->
<select name="title_color" id="title_color" <get('title_color'))-->style="color:#{$oDocument->get('title_color')};"selected="selected">{$lang->title_color}!--@if($oDocument->get('title_color')==$_col)-->selected=" selected?<!--@end-->>{$lang->title_color}< option< a>>
<!--@endforeach-->
</select>
형식으로 되어있는 부분을 찾아서..
원하는대로 수정해주면 된다.
1) 로그인한 회원만 가능하게 하려면
<!--@if ( $logged_info) -->
{@ $_color = array('555555','222288','226622','2266EE','8866CC','88AA66','EE2222','EE6622','EEAA22','EEEE22') }
<select name="title_color" id="title_color" <get('title_color'))-->style="color:#{$oDocument->get('title_color')};"selected="selected">{$lang->title_color}!--@if($oDocument->get('title_color')==$_col)-->selected=" selected?<!--@end-->>{$lang->title_color}< option< a>>
<!--@endforeach-->
</select>
<!--@end-->
<manager">!--@if($grant->manager)-->
로 바꿔주고
2) 손님도 가능하게 하려면
{@ $_color = array('555555','222288','226622','2266EE','8866CC','88AA66','EE2222','EE6622','EEAA22','EEEE22') }
<select name="title_color" id="title_color" <get('title_color'))-->style="color:#{$oDocument->get('title_color')};"selected="selected">{$lang->title_color}!--@if($oDocument->get('title_color')==$_col)-->selected=" selected?<!--@end-->>{$lang->title_color}< option< a>>
<!--@endforeach-->
</select>
<manager">!--@if($grant->manager)-->
로 바꿔주면 된다.
참고로, 색상을 더 추가하고프면..
{@ $_color = array('555555','222288','226622','2266EE','8866CC','88AA66','EE2222','EE6622'+
'+
','EEAA22','EEEE22') } 배열을 더 늘려주면 된다.
추가로!! 만약 글자굵게 기능까지 제어하고프면...
수정 부분을 조금 더 길게 잡아서
<manager">!--@if($grant->manager)-->
<select name="title_color" id="title_color" <get('title_color'))-->style="color:#{$oDocument->get('title_color')};"selected="selected">{$lang->title_color}!--@if($oDocument->get('title_color')==$_col)-->selected=" selected?<!--@end-->>{$lang->title_color}< option< a>>
<!--@endforeach-->
</select>
<input type="checkbox" name="title_bold" id="title_bold" value="Y" <get('title_bold')=='Y')-->checked="checked"style="color:#{$oDocument->get('title_color')};"selected="selected">{$lang->title_color}!--@if($oDocument->get('title_color')==$_col)-->selected=" selected?<!--@end-->>{$lang->title_color}< option< a>>
<!--@endforeach-->
</select>
<input type="checkbox" name="title_bold" id="title_bold" value="Y" <get('title_bold')=='Y')-->checked="checked"style="color:#{$oDocument->get('title_color')};"selected="selected">{$lang->title_color}!--@if($oDocument->get('+
'title_color')==$_col)-->selected=" selected?<!--@end-->>{$lang->title_color}< option< a>>
<!--@endforeach-->
</select>
<input type="checkbox" name="title_bold" id="title_bold" value="Y" <get('title_bold')=='Y')-->checked="checked"