XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
코드부분을 메모장에 써둔걸 여기 붙이니 별로 예쁘게 인식이 안 되지만..
귀찮다보니.. 그냥 쓸께요 ^^;;
글 쓸때, 제목에 색깔 이나 굵기 설정등을 할 수 있다.
다만, 이는 관리자 권한 있는 사람만 가능하게 되어있다.
이를 일반 회원들까지 가능하게 하고 싶다면!!
게시판 스킨을 일부 수정하고, 그리고 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 파일에서
<!--@if($grant->manager)-->
<select name="title_color" id="title_color" <!--@if($oDocument->get('title_color'))-->style="color:#{$oDocument->get('title_color')};"<!--@end--> onchange="this.style.color=this.options[this.selectedIndex].style.color;">
<option value="" style="color:#CCCCCC;">{$lang->title_color}</option>
<!--@foreach($_color as $_col)-->
<option value="{$_col}" style="color:#{$_col}" <>
<!--@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" <!--@if($oDocument->get('title_color'))-->style="color:#{$oDocument->get('title_color')};"<!--@end--> onchange="this.style.color=this.options[this.selectedIndex].style.color;">
<option value="" style="color:#CCCCCC;">{$lang->title_color}</option>
<!--@foreach($_color as $_col)-->
<option value="{$_col}" style="color:#{$_col}" <>
<!--@endforeach-->
</select>
<!--@end-->
<!--@if($grant->manager)-->
로 바꿔주고
2) 손님도 가능하게 하려면
{@ $_color = array('555555','222288','226622','2266EE','8866CC','88AA66','EE2222','EE6622','EEAA22','EEEE22') }
<select name="title_color" id="title_color" <!--@if($oDocument->get('title_color'))-->style="color:#{$oDocument->get('title_color')};"<!--@end--> onchange="this.style.color=this.options[this.selectedIndex].style.color;">
<option value="" style="color:#CCCCCC;">{$lang->title_color}</option>
<!--@foreach($_color as $_col)-->
<option value="{$_col}" style="color:#{$_col}" <>
<!--@endforeach-->
</select>
<!--@if($grant->manager)-->
로 바꿔주면 된다.
참고로, 색상을 더 추가하고프면..
{@ $_color = array('555555','222288','226622','2266EE','8866CC','88AA66','EE2222','EE6622','EEAA22','EEEE22') } 배열을 더 늘려주면 된다.
추가로!! 만약 글자굵게 기능까지 제어하고프면...
수정 부분을 조금 더 길게 잡아서
<!--@if($grant->manager)-->
<select name="title_color" id="title_color" <!--@if($oDocument->get('title_color'))-->style="color:#{$oDocument->get('title_color')};"<!--@end--> onchange="this.style.color=this.options[this.selectedIndex].style.color;">
<option value="" style="color:#CCCCCC;">{$lang->title_color}</option>
<!--@foreach($_color as $_col)-->
<option value="{$_col}" style="color:#{$_col}" <>
<!--@endforeach-->
</select>
<input type="checkbox" name="title_bold" id="title_bold" value="Y" <!--@if($oDocument->get('title_bold')=='Y')-->checked="checked"<!--@end--> />
<label for="title_bold">{$lang->title_bold}</label>
부분을 아래처럼 수정해주면 된다..
1) 로그인한 회원만 가능하게 하려면
<!--@if ( $logged_info) -->
<select name="title_color" id="title_color" <!--@if($oDocument->get('title_color'))-->style="color:#{$oDocument->get('title_color')};"<!--@end--> onchange="this.style.color=this.options[this.selectedIndex].style.color;">
<option value="" style="color:#CCCCCC;">{$lang->title_color}</option>
<!--@foreach($_color as $_col)-->
<option value="{$_col}" style="color:#{$_col}" <>
<!--@endforeach-->
</select>
<input type="checkbox" name="title_bold" id="title_bold" value="Y" <!--@if($oDocument->get('title_bold')=='Y')-->checked="checked"<!--@end--> />
<label for="title_bold">{$lang->title_bold}</label>
<!--@end-->
<!--@if($grant->manager)-->
2) 손님도 가능하게 하려면
{@ $_color = array('555555','222288','226622','2266EE','8866CC','88AA66','EE2222','EE6622','EEAA22','EEEE22') }
<select name="title_color" id="title_color" <!--@if($oDocument->get('title_color'))-->style="color:#{$oDocument->get('title_color')};"<!--@end--> onchange="this.style.color=this.options[this.selectedIndex].style.color;">
<option value="" style="color:#CCCCCC;">{$lang->title_color}</option>
<!--@foreach($_color as $_col)-->
<option value="{$_col}" style="color:#{$_col}" <>
<!--@endforeach-->
</select>
<input type="checkbox" name="title_bold" id="title_bold" value="Y" <!--@if($oDocument->get('title_bold')=='Y')-->checked="checked"<!--@end--> />
<label for="title_bold">{$lang->title_bold}</label>
<!--@if($grant->manager)-->
로 바꿔주면 된다.
2. write.php 파일있는 디렉토리명 좀 알려주세요
아무리 찾아도 없어서요