코어수정 없이 글 내용중 40글자를 가져가서 제목으로 채워 넣을 수 있을까요 ? 스킨에서 처리를 할 수 있을지요.
보통 글 작성하는 파일에 아래와 같은 코드가 있습니다.
<input name="title" type="text" id="nTitle" value="{htmlspecialchars($oDocument->getTitleText())}"/>
그런데 지금 문제가 되는 제가 사용하는 메모스킨에는 제목을 적지 않고 글 내용만 적으면 내용에서 20글자(영문)만 제목으로 가져가서 채워주고 있는데요.(코어에서 처리된다고 들었습니다.)
이부분은 아예 글작성 폼에서 내용중 40글자를 가져가게 할 수 있을까요?
댓글 8
코어에서 제공하는 룰셋이 제목이 없으면 에러를 뿜기 때문에
- 스킨에서 폼 제출 직전에 자바스크립트로 에디터 내용의 첫 20~40자를 추출하여 제목을 자동 입력해 주거나
- 제목을 임의의 값으로 자동 입력한 후 (예: value="!NOTITLE") 나중에 목록이나 글읽기 화면 스킨에서 이것을 감지하여 내용의 첫 20~40자로 치환해 주거나
이런 방법이 있겠네요.
현재 메모스킨에서는 제목 없이 작성하지만 글 작성이 완료가 됩니다.
코어에 이런 부분이 있어서 20자가 제목으로 가져간다고 하네요.
if($obj->title == '') $obj->title = cut_str(trim(strip_tags(nl2br($obj->content))),20,'...');
코어를 건드리지 않고 40자를 가져가게 하고 싶어서요.
<input name="title" type="hidden" value="{cut_str(trim(strip_tags(nl2br($oDocument->getContentText()))),40,'...')}"/>
이런 코드를 넣어봤더니...
글 작성시에는 20자를 가져가는데요.
글 수정시에는 40자를 가져가긴 하는데 <P> 태그도 표시가 되어 버리네요.
흠.. 어렵네요.... 수정하면 되긴 하지만 P태그도 붙구요.. ㅡㅡ;
아.. 제가 본문을 잘 안읽었었네요.
혹시 메모장스킨에서 에디터를 사용하지 않고 textarea 를 사용한다면 이곳에 onblur 같은 이벤트를 걸어서 자바스크립트 함수로 input type="hidden" name="title" value="" 에 값을 넣어 주면 일반적인 게시글을 작성하는것과 같은 효과가 날 듯 합니다.