XpressEngine - 팁 공유 게시판
자신이 생각하기에는 아주 사소한 내용이라도 누군가에게는 큰 도움이 될 수 있습니다.
제로보드4 버전의 팁을 공유하고 싶으시다면 여기로~
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}를 호출하지 않게요.
아래는 테스트 결과입니다.
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로 추가했습니다.
그렇다면 이번에는 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문서에는 아래와 같은 그림으로 입력이 되었겠죠?
(제가 사용하는 게시판의 스샷이며, 지금 이 팁을 보시는 분의 게시판과 다를 수 있습니다.)

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

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


|
|
바른생활 NZEO |
글은 인터넷에서 자신을 나타내는 유일한 모습입니다.
상대에게 상처를 주기보다 같이 즐거워 할 수 있는 코멘트 부탁드려요.
... 라고 누가 말하더라?
아래와 같은 방법으로 활용할 수 있습니다.
새창으로 열려요. 본문내용을 조금 수정했습니다.
이러나 저러나 차이는 없지만 그냥 좀 깔끔하게.. ^^ㆀ
(2008.7.30 경로수정 ▼)
http://shx.kr/zbxe/xeskin/dispBoardWrite
저는 3.skin.xml을 이용한 방법을 사용했습니다. 그런데 계속 undefined 라고만 뜨네요..
제 버전이 0.2.8 이라... 안되는것인지요?
혹시 아시면, 답변좀 부탁드리겠습니다.. ^^
부탁드립니다.
감사합니다. *^^*
본문에 상세한 설명이 되어 있으니 참고하시기 바랍니다.
즐거운 하루 보내세요 ★
이번에 1.1.0 로 업데이트 하고 나서부터 해당 기능이 안되네요..;;
관리자 페이지에서는 입력폼이 보이는데..
작성을 해도 실제 에디터에서는 나타나지 않습니다. 소스 입력 전과 똑같이 다 했고요
해결방법좀 알려주세요~ ㅠㅠ
꼭 필요한 기능인데.. 답답하네요..
이거 차라리 제로님이 정식 기능으로 넣어주시면 안될까요?
활용가치가 높을 것 같은데..^^





유용한팁 감사합니다^^