xedition 게시판 사용중 입니다!

 

A라는 특정 게시판을 생성해서 이 게시판에는 무조건 1개의 게시글만 작성할 수 있도록 하고싶습니다.

 

예를들어 홍길동이라는 사람이 먼저 글을 적어놓은 상태라면 다른 사람들은 그사람이 글을 삭제하기 전까지는 게시글 등록이 불가합니다.

 

한마디로 선착순으로 누가빨리 적냐의 게시판을 하나 수정해서 쓰고싶습니다만..

 

방법좀 알려주시면 감사하겠습니다.

  • Lv6
    사이트에 XE전문가가 없다는(?) 전제하에는 게시글 total값이 1인 경우 쓰기 버튼을 없애는 방법이 있을거 같습니다.
  • Lv6 ? Lv2
    혹시 조금 더 나아가서 특정 게시판의 게시글 total값이 1인 경우 등록버튼 클릭 시 alert팝업창이 뜨면서 불가하다는 내용이 출력될 수도있을까요?
  • ? Lv2 Lv6
    <!--@if($total => 1)-->
    <a href="#" onClick="alert('이미 누군가가 등록해서, 더 이상 게시글을 쓸 수 없다네.')">
    <!--@else-->
    블라블라
    <!--@end-->


    $total 일 수도 있고, $document_total 일 수 있습니다.
    전체 값을 가져오는 변수로 사용하시면 됩니다.
  • Lv6 ? Lv2
    헐............ 정말 감사드립니다 혹시 어느부분에 적용해야되는지도 조언을 받아볼 수 있을까요? 스킨 폴더에 write_form 인가요?
  • ? Lv2 Lv6
    음.. 조금 바꿔서 list.html인데요.

    {@
    $oDB = &DB::getInstance();
    $query = $oDB->_query('select count(*) as total from xe_documents where module_srl = 게시판모듈번호');
    $result = $oDB->_fetch($query);
    }

    {$result->total}

    $result->total 값이 이제 해당 게시판 모듈 번호의 게시글 수를 가져오게 됩니다.
    list.html의 129번 라인

    <a href="{getUrl('act','dispBoardWrite','document_srl','')}" class="btn"><i class="xi-pen"></i> {$lang->cmd_write}</a>


    <!--@if($result->total => 1)-->
    <a href="#" onClick="alert('이미 누군가가 등록해서, 더 이상 게시글을 쓸 수 없다네.')">
    <!--@else-->
    <a href="{getUrl('act','dispBoardWrite','document_srl','')}" class="btn"><i class="xi-pen"></i> {$lang->cmd_write}</a>
    <!--@end-->


    로 바꿔보시기 바라며, 상단의 {@} 의 코드는 꼭 list.html 상단에 붙여주세요.
    그리고 게시판 모듈번호는 게시판의 고유 module_srl 입니다.
  • Lv6 ? Lv2
    앗 담당자님 질문을 잘못 올려드렸습니다.

    그렇다면 리스트에서 게시물이 없을경우 쓰기버튼을 누르면 작성하는 부분으로 넘어가지않고 바로 고정된 내용과 고정된 제목이 작성되게할 수도있나요?
  • ? Lv2 Lv6
    리스트에서 게시물이 없다는건 결국 첫 게시라는건데.

    아예 사용자가 건들일 필요없이 바로 작성되는건가요? 아니면 글쓰기 버튼을 누르되 등록버튼을 눌러야 하는건가요?

    만약 전자라면.. 별도의 php 파일을 만들어서 import시켜고 될거고, 그리고 조건문에 처리 이전 document 값이 있는가 없는가 확인 후 처리하게 해야할거구요.
    후자라면, 그냥 write_form을 수정하면 됩니다.


    *--------------- 쓰고 넘기니 잘못되어서 보니 삭제되었네요 ㅋㅋ------------*

    모듈에서 제한한다면 model 인가 controller를 건들어야 하는데, 저는 아직 그런 매우 고오오급(?) 적인 건.. 바로바로 답변 드릴 수 없어서 ㅜㅜ

    아니면, write_form.html 에서 폼 전체를 저렇게 total 값이 1 이상이면 한가운데에 "작성할 수 없다네" 로 띄워도 됩니다 ^^.

    어짜피, 그 게시판에서 1인거고,

    xediton을 쓰는 게시판이 많다면 조건문에

    <!--@if($mid == 게시판mid값)-->
    <!--@end-->

    로 감싸주면 되니까요

    댓글 갯수를 리미트 한다는건 한개의 게시물에서 댓글 갯수 몇개가 넘으면 댓글 작성을 못하게 한다는건데,

    그건 지금처럼 특정 document_srl 의 comment값이 ~개 이상이거나 같을때 write_comment.html 또는 특정 form을 가려버리고 안띄우면 됩니다.

    만약 프로그래밍상에서 막을거라면 저것도 controller로 가면..
  • Lv6
    근데 이러나 저러나 어짜피 이것들은 거의 임시방편인 셈이고.. 나중에 제대로 된 프로그래밍을 해야할거에요.

    규모가 얼마나 되는지 몰라서 대충.. 처리가 가능한 방향대로 설명을 해드리고 있는데, 새벽이 너무 깊어 제대로 된 사고가 안되네요 @_@
  • Lv6 ? Lv2
    다름이아니고 휴식 게시판을 만들려고 하거든요..

    휴식을 누가 사용중이면 사용못하게하려고 writeform 부분에서 막고싶어서 그렇습니당 ㅠㅠ
  • Lv6 ? Lv2
    아이고 이렇게만 답변주셔도 얼마나 영광스러운지 모르겠습니다 ㅠㅠ
  • ? Lv2 Lv6
    그렇다면.. 정말 엄청큰 커뮤니티는 아니고 사내에서 휴식 게시판을 만들어서 사용중인지 아닌지 알고 싶은 용도라면..

    write_form 에서 상단의 팁을 사용해서 1이상이거나 같으면 아예 폼을 안띄우고 안내 이미지 또는 문구를 띄우면 되겠네요.

    댓글도 마찬가지로, 등록 버튼을 없애고, 댓글 textarea에 value="댓글 입력 불가!" 라거나..

    너무 무책임한 말같지만, 너무 피곤해서 가볼게요!

    혹시라도 내일 확인했을때에도 해결되지 않으셨으면 연락드리겠습니다 :)
  • Lv6
    도움이 되시길 바라면서 몇몇개 링크 남겨봅니다 :)

    - XE if조건문
    http://www.xeschool.com/xe/xenote_template_syntax_if
  • Lv6 ? Lv2
    조언 감사드립니다 ㅠㅠ