추천 수 0 댓글 64
Extra Form
자료 소개 관리자 메일문의 게시판 위젯의 스킨입니다.
설치 경로 ./widgets/contactfree/skins/ap_contact
테스트 환경 Rhymix 1.x
라이선스 GPL v2
의존 정보 관리자 메일문의 게시판 위젯 (pcwp****님)
https://xe1.xpressengine.com/index.php?mid=download&package_id=22753768
이름 버전 날짜 다운수
ap_contact.0.1.2.zip 0.1.2 2018-05-12 175
ap_contact.0.1.1.zip 0.1.1 2018-05-12 30
ap_contact.0.1.zip 0.1.0 2018-05-11 35

 

0.1.2 업데이트

  • XE에 설정돼 있지 않은 current_lang 대신 xe.current_lang을 써서 호환성 문제 해결
  • 한 페이지 안에 위젯이 두 개 이상 있을 경우, 본 위젯에서 메시지 보내기 이후 다른 위젯에 영향을 줄 수 있는 문제도 해결
  • 메시지 내용 출력시 스크롤을 브라우저 최상단으로 이동 (이 기능이 필요없는 경우 js/main.js의 95~97행을 삭제하시면 됩니다)
  • 아, 그리고 (위젯 스킨 말고요) contactfree 위젯 contactfree.class.php 10행의

    $widget_info->reload_url = $args->reload_url;

    를 제거해주시면 php 에러도 안 나고 잘 될 겁니다 :)

 

0.1.1 업데이트

  • (페이지 이동이 없을 경우) 메시지 보내기 이후 결과값 화면을 좀 더 예쁘게 뿌려줍니다. (다만 게시판에 등록되는 문서는 원래대로 투박하게 그냥 갑니다ㅎㅎ)
  • 한국어와 영어를 완전하게 지원합니다. (스크립트에 current_lang라는 변수가 미리 할당돼 있다는 걸 이제야 알았거든요)

 

0.1 최초 배포

 

'관리자 메일문의 게시판'이라는 위젯 스킨입니다.

복잡한 기능 없이;; 이름, 이메일, 전화번호, 메시지 등으로 이뤄진 '문의 위젯'의 '스킨'이구요.

 

  1. 자료 제목이 '게시판'이어서 저도 잘 몰랐는데 contact_us 모듈과 비슷한 기능을 하는 위젯이라고 보시면 되겠습니다.
  2. 게시판을 하나 만들어 위젯에 연결시키면, 위젯페이지 등등에서 입력한 폼을 해당 게시판의 문서로 등록시켜줍니다.
  3. 게시판의 권한 설정을 잘 하셔야겠죠? 제 경우엔 모든 권한을 '관리자만'으로 해두고, '접근 권한'과 '글 작성'만 '모든 사용자'로 해놓으니 잘 되는 것 같더군요.
  4. 그리고 해당 게시판 '고급 설정'에서 '관리자 메일'을 등록해두면, 문의사항이 관리자에게로 이메일이 가는 메커니즘이에요.
  5. 해당 위젯에 대한 자세한 설명과 사용법은 https://xe1.xpressengine.com/index.php?mid=download&package_id=22753768 여기를 참조하시면 되겠습니다.

 

스킨의 디자인과 기능은 codyhouse에서 제공하는 템플릿을 활용했습니다.

https://codyhouse.co/gem/css-contact-form

(제가 무슨 창의성이 있겠어요ㅋ)

 

참고로, 라이믹스에서만 사용 해봐서 XE에서 되는지는 잘 모르겠습니다.

다운 받아 설치/사용할 분이 계시면, XE에서의 후기를 남겨주시면 좋겠네요.

 

아, 미리보기는 여기로ㅋ https://bit.ly/2IfEwde

 

 

1. 입력 화면

 

0.png

 

 

2. 출력 화면 (form 태그에서 onsubmit 등의 속성 제거, input 태그에 readonly 속성 부가, 보내기(Send Message) 버튼을 날려버려서 이중 등록을 방지)

 

1.png

 

제작자 윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • profile
    좋은 자료 감사합니다.
    윤삼님 도움을 많이 받았습니다.
  • profile
    멋지십니닷!!!
  • profile
    감사합니다 윤삼님^^
  • profile profile
    이제 이것보다는 https://xetown.com/point_contents/1359990 쪽을 권합니다~
  • profile
    이거 갑자기 글 작성 후 권한이 없다고 나오는 현상이 있네요 비회원일 경우에요 분명 테스트 했었는데 갑자기...ㅠㅠ
  • profile
    감사합니다. 윤삼님!
  • ?
    윤삼님 멋진 위젯 공유해주셔서 정말 감사합니다.
    그런데 스케치북 게시판과 이 위젯을 동시에 사용하게 될 경우
    게시판쓰기 페이지에서 이 위젯과 충돌이 나는것 같습니다.
    게시판에서 수정이나 글등록을 하면 해당 게시판 목록으로 이동하는게 아니라
    위젯의 얼렛알림팝업이 뜨고 게시판 쓰기나 수정화면에서 멈춰있네요.
    이 위젯은 게시판과 동시에는 사용이 불가능한건가요?
    해결이 안되어도 정말 유용한 위젯 공유해주셔서 정말 감사합니다.
  • ? profile
    네, 제가 올린 건 위젯이 아니라 위젯스킨이어서 그 부분은 어떻게 해드릴 수가 없네요ㅠ
  • ?
    contactfree 이게 저는 500 에러가 떠서 사이트 다시 설치 했습니다 ㅠㅠ
  • ? profile
    본 자료는 위젯 스킨일 뿐 위젯 자체는 아닙니다. 그리고 그런 에러로 사이트를 다시 설치하시다니..
  • profile ?
    네 ㅠㅠ 아무리 고처 볼려고 하다가 안되서요 포기하고 다시 설치 하였습니다
    원인을 저의 실력으로는 못찾겠더군요
    그리고 보니 윤삼님 거하고는 상관이 없는거네요 ㅎㅎ
    죄송합니다 ^^;;
  • ?
    라이믹스에서만 작동하네요. xe에서 작동하게 하고 싶은데 ㅜㅜ
  • ? profile
    xe에서 안 되진 않았던 거 같은데요. 애드온 설정값 다시 확인해보시고, 그래도 안 된다면... 아쉽지만 어쩔 수 없지요ㅜ
  • profile ?
    애드온 설정해보았습니다
  • ? profile
    아, 죄송.. 애드온이 아니라 위젯 스킨이죠;;
    암튼 다른 애드온이나 모듈과 충돌되는 지점이 있지 않나 싶은데요.
    위젯의 기본 스킨으로는 작동이 된다면 제가 올린 스킨의 호환성에 문제가 있을 것 같구요.
    그게 아니라면 위젯 자체가 가이더님 쓰시는 다른 서드 파티와 충돌을 일으키는 것 같습니다.
  • profile ?
    라이믹스로 변경했는데요. 등록되었다고 나오는데 게시판에는 글등록이 안되어있네요.. 게시판 권한도 모두공개로 해도 마찬가지입니다. 추기.. 다른 라이믹스 사이트에 테스트 해봤는데 역시 글등록이 안되네요
  • ? profile
    어라.. 저도 시간 나는대로 테스트를 해보도록 할게요ㅜ
  • profile
    출력화면 보여주는거 설정방법이 따로있는건가요?
  • profile profile
    아뇨. 출력화면이라곤 했지만 입력화면을 js로 살짝만 바꾸는 초간단 스킨이에요
  • profile profile
    아.. 리로드 사용함으로 체크해서 안떳던거같아요
  • ?
    그대로 설정을 했는데 보내기 하면 권한이 없다고 나옵니다. 권한설정도 다 했거든요
  • ? profile
    구글리캡차나 혹은 그런 캡차를 쓰시지는 않나요?
  • profile ?
    리캡차애드온2.0 사용중인데 해지해도 마찬가지네요.
  • ? profile
    리캡차 애드온 사용 안하셔도 그렇다면 원 게시판 비회원 접근, 글쓰기 가능한지 확인해 보세요.
  • profile ?
    이상하네요. 다 설정이 되어있거든요.. 권한도 모든사용자로 변경해도 마찬가지네요
  • ? profile
    그럼 insert 액션에서 동작하는 애드온이 나 모듈을 찾아보셔야 할 것 같습니다.
  • ?
    받아갑니다.^^ 감사합니다.
  • profile
    한가지 특이점이 있습니다. 큰 문제는 아니긴 하지만요.
    PC에서 작성하면
    아무게님으로부터의메시지 라고 제목이 작성이 되구요.
    모바일에서 작성된 경우는
    Message From 아무게 라고 작성이 됩니다.

    그리고 저희는 마지막에 "등록되었습니다.' 가 아닌
    success 라고 뜨네요.
  • profile profile
    오오, 팁 감사합니다~!
    근데, 모바일에서는 혹시 영어모드로 돼 있어서 그런 거 아닐까 싶네요.
  • profile profile
    영어모드가 뭘까요? 모바일에서 영어모드가 설정이 가능한가요?
  • profile profile
    글 등록 후 success 라고 뜨는건 PC 모바일 모두 그래요.
  • profile profile
    언어 모드가 한국어일 경우(ko) 한국어가 출력이 되고 그렇지 않을 경우엔 영어가 출력되도록 해놨거든요.
    어쩌면 웹지기님 모바일 환경이나 XE 모바일 환경에서는 xe.current_lang 변수가 안 잡히는 건지도 모르겠습니다.
    현재 상황으로는 스크립트 설정에서 RX는 PC, 모바일 모두 다국어 모드가 감지되고, XE에서는 PC에서만 다국어가 감지되는 걸 수도 있겠구요. 이 부분은 시간 날 때 좀 더 체크해봐야겠어요.
    그리고 success 메시지는 filter/insert.xml 첫 행 끝부분의 confirm_request를 confirm_submit로 바꿔보면 어떨까 싶습니다. contactfree 위젯 기본 스킨에 있던 xml를 그대로 가져와 쓰고 있었는데 확실친 않지만 이게 문제였을 수 있겠단 생각이 듭니다.
  • profile profile
    다국어 관련만 먼저 제가 확인한 정보를 드리면
    글 작성 단계에서 표시되는 문자가 한글로 표시되는 것을 보면 이부분 다국어 기능은 문제가 없어 보입니다.
  • profile profile
    confirm_submit 으로 바꿔도 마지막 성공 메시지는 success 로 뜨네요. 운영하시는 곳에서 확인했을때는 한글로 나왔습니다.
  • profile profile
    php와 스크립트에서 다국어 설정 가져오는 방식이 조금 다를 수 있어서요(물론 서로 연동은 되겠지만요).
    js/main.js에서 일단 xe.current_lang === 'ko'(두 군데일 거예요)을 찾아 jQuery('html').attr('lang') == 'ko'로 바꿔보면 어떨까요?

    에잉.. 성공 메시지는 XE랑 RX랑 코어에서 설정된 콜백함수가 다른 모양이네요.
    alert(ret_obj['message']);를 찾아서
    alert('등록했습니다'); 정도로 바꾸시는 게 좋겠습니다.
  • profile profile
    말씀하신대로 했더니 잘 되네요~ 감사합니다.
  • profile
    텍스트로 간단히 접수를 받는 용도이지만 작성자가 줄바꿈을 해서 작성을 한 경우 작성한 상태 그대로 읽을 수 있게 저장하는 것을 검색을 해보니 아래와 같은 방법으로 해보니 되는 것 같습니다.

    content += '<p> </p><p><b>' + f.find('label[for="message"]').text() + '</b> : </p><p> </p><p style="margin-left:32px;">' + f.find('#message').val().replace(/\n/g, "<br>") + '</p>';
  • ?
    아... 설치해 너무너무 잘 사용하고 있습니다.@윤삼님^^
    한가지 문의 사항이 있어서요. 전화번호 칸 자체를 없샐수는 없는지요??
    제가 코드에 문외한이라...ㅠㅠ;; 바쁘시겠지만 부탁드려봅니다.
  • ? profile
    contact.html 파일 28~31행
    <div class="icon">
    <label class="ap_label" for="phone">{$lang->phone}</label>
    <input class="phone" type="tel" name="phone" id="phone" />
    </div>
    을 지워주시면 될 겁니다.
  • profile ?
    앗 ^^ 넘 감사요 @윤삼님~~수정해서 잘 사용하겠습니다.
  • ?
    아주 잘 사용할게요. 감사합니다.^^
  • profile
    0.1.1 버전을 사용하니 보내기를 누른 직 후 대상 게시판 목록으로 이동해 버리네요.
    구버전을 사용해야겠습니다. XE입니다. 구글리캡차는 계속 사용중이구요.
  • profile profile
    어라.. 그러면 안 되는데ㅜㅜ 이따 집에 들어가서 확인해봐야겠네요
  • profile profile
    XE에 없는 js 변수 current_lang을 써서 생긴 문제였네요. xe.current_lang으로 바꿔서 0.1.2부터는 xe에서도 문제 없이 작동하도록 했습니다.
  • ?
    아... 이것도 꼭 필요한 자료~~ 오늘은 넘 늦었고, 내일 다운받아 설치해 봐야겠습니다.
    감사합니다 @윤삼님^^

    그리고 한가지 위 데모창에서 오른쪽 상단 메뉴 누르면 나오는 아코디언으로 꾸며진 페이지가 너무 멋지네요. 그 부분 페이지 메인으로 사용하면 좋을것 같다는 생각이 드네요.
    혹시 공개~ 공유하실 생각은 없으신지요.^^
    너무 무뢰한 부탁이지요^^
  • ? profile
    좋게봐주셔서 감사합니다. 아코디언이라면 위젯 페이지 말씀이신가요? 근데 그게 여러 꼼수를 써서 만든 거여서 공개하기에는 부담이 너무 커요ㅜ
  • profile ?
    아... 그러시군요. 꼼수가 아니라 @윤삼님의 실력이겠지요^^
    역시 이러저러한 실력이 있으신 분들이 뭘해도 보기 좋은거 같아요.
    탐은 나지만 윤삼님 같은 고수분들이 그리 말씀하시니 ㅎㅎㅎ 전 줘도 사용하지도 못할꺼 같아요.^^

    항상 좋은 자료 공유해 주셔서 감사드립니다.^^
  • ? profile
    네 이해해주셔서 감사합니다ㅡㅜ
  • profile ?
    ^^ 별 말씀을요
  • profile
    잘 받겠습니다 (__*)
  • profile profile
    끄아아, 잘 써주신다면 언제나 감사하죠 :) 0.1.1로 버전 업데이트 했으니 참고해주세요~
  • ?
    윤삼님이다!!!!
    오랜만입니다.

    워드프레스에서 플러그인으로 제공되던 게시판이 라이믹스에도 생겨서 좋습니다.
    항상 매번 감사함을 느껴요!
  • ? profile
    반겨주셔서 감사합니다. 뭉클하네요 :)
    이거는 기능을 간소화한 스킨이어서 워드프레스쪽만큼은 아니어서 부끄럽습니다~
  • profile
    구글리캡챠가 적용된 게시판에 사용을 하는라고 잘못된요청 때문에 고생을 좀 했네요.
    혹시 구글리캡챠를 스킨에 적용할 수 있는 방법을 알고 계시나요?

    원 게시판에 구글리캡챠애드온 자체를 풀어버리면 스팸이 너무 많이 작성될 것 입니다.
    그래서 차라리 위젯 스킨에도 리캡챠를 적용할 수 있으면 좋을 것 같아서요.
  • profile profile
    invisible 리캡차 말씀이신 거죠?
    라르게덴님 제공 팁을 활용하면 될 것 같기도 하고... (타운에서 궁금증이 생겨 구글링을 했더니 다시 타운으로 왔어요ㅋ)
    암튼 폼 전송시에 해당 코드도 같이 넘겨줄 수 있는지 시도와 확인을 좀 더 해봐야겠네요.

    그리고 푸시알림은 제가 사용 자체를 안 해봐서 오리무중이네요;;;
  • profile profile
    그냥 애드온에서

    if((Context::get('document_srl') && $addon_info->apply_write != 'N' || in_array($this->act, $GLOBALS['_recaptcha_dacts'])) && Context::getResponseMethod() == 'HTML')


    Context::get('document_srl') && 이부분만 지우고 위젯페이지에도 애드온 활성화 하면 되네요!!!
  • ?
    잘쓰겠습니다.
  • ? profile
    0.1.1로 버전 업데이트했어요~
  • profile ?
    감사합니다 ㅎㅎ
  • profile
    아주 예쁜 스킨이네요.
    이렇게 작성되는 게시글도 보통의 게시글 작성과 동일한 과정을 거치나요?
    푸시 알림등을 관리자가 받아야 해서요.
  • profile profile
    초간단 위젯이어서 푸시 알림까지는 잘 모르겠어요. 푸시 알림 동작 시점이 글 등록 시점 이전인가 이후인가에 따라 다를 것 같은데요. 글 등록 이후 시점이라면 자동 연동될 것 같기도 합니다;;;
    아, 그리고 퍼뜩 떠올랐는데, 위젯설정에서 글 등록 후 리다이렉트 옵션을 사용하지 않도록 하면 게시글 정보를 위젯에 바로 뿌려주도록 했거든요. 그건 디자인이 매우 미흡합니다ㅜ
  • profile profile
    게시글 등록이 단순히 db에 삽입을 하는 방식이라면 푸시 알림 같은 동작이 연계 될 수 없어 질문을 드렸어요. 글 작성, 인서트 같은 act가 수반되어야 푸시알림 같은 서드파티가 작동을 하거든요.
  • ?
    우리 멋진 윤삼님 산삼 마약같은 제품 또 가지고 오셨네요. 잘 사용하겠습니다~
  • ? profile
    오랜만입니다! 또 하나의 마약 같이 해로운 습작이어서ㅋ 보시고 아니다 싶으시면 바로 삭제해주시면 돼요ㅎㅎ