코어수정 없이 글 내용중 40글자를 가져가서 제목으로 채워 넣을 수 있을까요 ? 스킨에서 처리를 할 수 있을지요.

 

보통 글 작성하는 파일에 아래와 같은 코드가 있습니다.

 

<input name="title" type="text" id="nTitle" value="{htmlspecialchars($oDocument->getTitleText())}"/>

 

그런데 지금 문제가 되는 제가 사용하는 메모스킨에는 제목을 적지 않고 글 내용만 적으면 내용에서 20글자(영문)만 제목으로 가져가서 채워주고 있는데요.(코어에서 처리된다고 들었습니다.)

 

이부분은 아예 글작성 폼에서 내용중 40글자를 가져가게 할 수 있을까요?

 

  • profile

    코어에서 제공하는 룰셋이 제목이 없으면 에러를 뿜기 때문에

    - 스킨에서 폼 제출 직전에 자바스크립트로 에디터 내용의 첫 20~40자를 추출하여 제목을 자동 입력해 주거나

    - 제목을 임의의 값으로 자동 입력한 후 (예: value="!NOTITLE") 나중에 목록이나 글읽기 화면 스킨에서 이것을 감지하여 내용의 첫 20~40자로 치환해 주거나

    이런 방법이 있겠네요.

  • profile profile

    현재 메모스킨에서는 제목 없이 작성하지만 글 작성이 완료가 됩니다.
    코어에 이런 부분이 있어서 20자가 제목으로 가져간다고 하네요.

    if($obj->title == '') $obj->title = cut_str(trim(strip_tags(nl2br($obj->content))),20,'...');

     

    코어를 건드리지 않고 40자를 가져가게 하고 싶어서요.

  • profile profile
    임의로

    <input name="title" type="hidden" value="{cut_str(trim(strip_tags(nl2br($oDocument->getContentText()))),40,'...')}"/>

    이런 코드를 넣어봤더니...

    글 작성시에는 20자를 가져가는데요.
    글 수정시에는 40자를 가져가긴 하는데 <P> 태그도 표시가 되어 버리네요.
  • profile profile
    아.. 글작성시는 아직 db에 글 내용이 없어서 코어에서 처리하는 20글자가 제목으로 들어가게 되는거군요.
    흠.. 어렵네요.... 수정하면 되긴 하지만 P태그도 붙구요.. ㅡㅡ;
  • profile profile
    아... 그리고 임의의 값으로 치환하는 것은 제가 타임라인에 노출하려다 보니 메모스킨에서 작성된 글의 제목이 너무짧아서(메모스킨에서는 제목을 안보여주기 때문에 괜찮지만요..) 문제가 되서 늘리려고 하는거라서요..
  • profile
    게시판 스킨을 수정해서 사용자 정의를 이용한 제목으로 만들수는 있을듯요. 그러나 매우 번거롭네요.
  • profile profile
    아니요. 일반게시판에서 보여지는 것 때문에 그렇습니다. 메모스킨에서는 제목 자체가 없어도 무방해요. 이 메모스킨에서 작성된 글의 제목들이 너무 짧아서 타임라인으로 모아주는 게시판에서 제목이 너무 짧게 노출되서 그렇습니다. 결국 제목의 db에 40자가 들어가야 해요.
  • profile profile

    아.. 제가 본문을 잘 안읽었었네요.
    혹시 메모장스킨에서 에디터를 사용하지 않고 textarea 를 사용한다면 이곳에 onblur 같은 이벤트를 걸어서 자바스크립트 함수로 input type="hidden" name="title" value=""  에 값을 넣어 주면 일반적인 게시글을 작성하는것과 같은 효과가 날 듯 합니다.