default value 호출하기.. 라고 해야하나요?? 제목이 좀 이상하긴 하지만..

이 팁은 php문서를 수정하는 것이 아니라 /zbxe/modules/board/skins/ 경로안에 있는 모듈보드스킨의 글쓰기 창에서 간단히 수정할 수 있는 방법입니다.

아무래도 다른 문서를 만지는 것은 업데이트도 있고, 실력없는 저로서는 불안하기 때문에..
또, 제 홈페이지에서는 php문서를 수정하면 이상하게 에러가 출몰해서 아예 건들지 않습니다.
아무것도 건드리지 않고 드림위버로 저장만해서 올려도 에러가 뜨더군요.. 참 황당스러운.. -_-ㆀ

쓸데 없는 말은 집어치우고 본론으로 들어가도록 할께요.

write_form.html 문서에서 form 영역을 살펴보면 아래와 같은 부분이 있습니다.
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
바로 내용을 불러오는 인풋이죠.
type="hidden" 처리를 했기 때문에 글쓰기창에서는 에디터만 보인다는 것은 아실테죠?
이 것을 변경하여 에디터에 원하는 글을 넣는 방법입니다.

3가지 방법이 있으니 원하는 방법으로 테스트해보시면 됩니다.

1. 글쓰기창에 변수를 선언하여 문자호출하기

일단 아래의 코드창에 있는 내용을 살펴보세요.

{@ $Content = "에디터에 미리 글을 넣어봅시다<br />태그를 이용할 수도 있군요!";}
<input type="hidden" name="content" value="<!--@if($document_srl == $oDocument->document_srl)-->{$oDocument->getContentText()}<!--@else-->{$Content}<!--@end-->" />

왜 저렇게 했는지 아시는 분들은 이미 아실테죠?
첫번째 줄에서 $Content라는 변수를 선언하여 두번째줄의 내용에서 제목변수와 함께 호출을 했습니다.

내용이 들아가는 value에 아래와 같은 곳이 있는데요.

<!--@if($document_srl == $oDocument->document_srl)-->{$oDocument->getContentText()}<!--@else-->{$Content}<!--@end-->

위에서도 말씀드렸듯이 {$Content} 이 부분은 선언한 내용을 호출한 부분이구요.
나머지부분또한 필요해서 넣은 것입니다.
새글로 작성할 때에는 상관이 없는데, {$Content}만 호출하여 글수정을 하면 이미 작성된 부분을 반영하지 못하더라구요.
그래서 저렇게 넣은 것입니다. 문서의 번호가 부여된 글.. 그러니까 이미 작성된 글에서는 {$Content}를 호출하지 않게요.

아래는 테스트 결과입니다.
img1.jpg

2. 위의 경우로 예를 들면 $Content 변수를 선언하지 않고 value에 직접 내용을 입력하는 방법입니다.

<input type="hidden" name="content" value="<!--@if($document_srl == $oDocument->document_srl)-->{$oDocument->getContentText()}<!--@else-->에디터에 미리 글을 넣어봅시다<br />태그를 이용할 수도 있군요!<!--@end-->" />

에디터에 미리 글을 넣어봅시다<br />태그를 이용할 수도 있군요! 이 글귀가 있는 곳에 원하는 내용을 넣으시면 됩니다.

3. skin.xml을 이용하여 각 게시판마다 다른내용을 출력할 수 있습니다.

skin.xml문서를 열어 변수를 추가합니다.
저는 editor_message로 추가했습니다.

img2.jpg

그렇다면 이번에는 skin.xml 에 추가한 변수를 에디터에 불러와야겠죠?
어떻게 호출하는지 아시겠지만 처음사용하는 분들을 위해 설명을 해볼께요.

write_form.html 문서를 열고 form영역안에 아래와 같이 추가하시면 됩니다.

<input type="hidden" name="content" value="<!--@if($document_srl == $oDocument->document_srl)-->{$oDocument->getContentText()}<!--@else-->{$module_info->editor_message}<!--@end-->" />

내용을 불러오는 곳에 {$module_info->editor_message} 이 변수를 추가했습니다.
아시겠지만 skin.xml에 추가한 변수이름이 editor_message이고...
skin.xml에서 추가한 변수의 호출시작은 $module_info로 합니다.

... 글을 마치며 ...

확장변수를 이용하여 위와 같이 할 수도 있지만 많이 번거로울 것 같아서 생략합니다.

클릭하면 사라지는 자바가.. 저는 적용이 안되더군요. 음..

여러가지로 응용해보세요.
출석부를 만들다가 해보니 되길래 팁게시판에도 없는 것 같아서 올리는 팁입니다.

... 추가 설명 (2008.7.30) ...

테이블 소스를 넣었더니 에디터에 안뜬다고 하시는 분이 계셔서 추가설명 드립니다.
소스를 넣을 때 큰따옴표(")를 사용하지 마시고 작은따옴표(')를 사용해 주시기 바랍니다.

아래 예제나갑니다.
아래 코드창에 있는 소스를 skin.xml에 추가한 변수창에 넣어 등록버튼을 눌러보세요.
<table style='width:100px; table-layout:fixed; border-collapse:1px;' cellspacing='0' cellpadding='0'>
<col width='50' /><col width='30' />
<tr><td style='background-color:pink'>칸1</td><td  style='background-color:yellow'>칸2</td></tr>
<tr><td style='background-color:yellow'>칸3</td><td  style='background-color:pink'>칸4</td></tr>
</table>

2줄 4칸의 테이블을 만들었습니다.
skin.xml문서에는 아래와 같은 그림으로 입력이 되었겠죠?
(제가 사용하는 게시판의 스샷이며, 지금 이 팁을 보시는 분의 게시판과 다를 수 있습니다.)

20080730_1.gif

글쓰기에디터창에서 보면 아래와 같이 됩니다. 위의 소스에서 보시면 알겠지만 칸에 색상을 넣었거든요.

20080730_2.gif

소스는 입맛에 맞게 수정하여 사용하시면 됩니다.
알고 계시겠지만 보여지는 소스를 에디터에서 바로 수정가능합니다.

20080730_3.gif
profile

 

바른생활 NZEO


  글은 인터넷에서 자신을 나타내는 유일한 모습입니다.

  상대에게 상처를 주기보다 같이 즐거워 할 수 있는 코멘트 부탁드려요.

  ... 라고 누가 말하더라?