추천 수 3 댓글 71
Extra Form
자료 소개 확장변수에서 파일을 업로드할 수 있도록 해주는 모듈입니다.
설치 경로 ./modules/extravar_upload
테스트 환경 XpressEngine1,Rhymix 1.x,Rhymix 2.0
라이선스 GPL v2
이름 버전 날짜 다운수
extravar_upload_1.0.7.zip 1.0.7 2024-02-07 18
extravar_upload_1.0.6.zip 1.0.6 2022-05-12 156
extravar_upload_1.0.5.zip 1.0.5 2020-05-27 151
extravar_upload_1.0.4.zip 1.0.4 2019-06-25 122
extravar_upload_1.0.3.zip 1.0.3 2019-06-06 85

<기능>

- 확장 변수를 이용해서 업로드 할수 있게 해줍니다.

- 파일 수 제한과 용량 제한 기능 내장 되어 있습니다.

- 출력할 이미지 사이즈를 설정할수 있습니다.

- 글 삭제시 확장변수로 업로드된 파일도 같이 지워집니다.

- 확장변수로 업로드 할수 있는 형식이 있으니 설정할때 반드시 참고하시기 바랍니다.

 

<버전>

- 1.0.0 : 초기 버전

- 1.0.1 : 익스프롤러에서 삭제 안되는것 수정

- 1.0.2 : 마이너 버그 픽스

- 1.0.3 : 업로드후 파일 삭제 안되는 문제 수정

- 1.0.4 : 일부 브라우저에서 삭제 버튼 미출력 수정

           리스트에서 썸네일 출력 지원(스킨 수정 필수)

- 1.0.5 : 이미지 썸네일 지정하지 않을 경우 첫번째 업로드된 파일 썸네일 자동지정

           이미지 파일 목록을 가져올수 있는 함수 추가(사용법은 readme파일 참고)

- 1.0.6 : 라이믹스 2.0 이상에서 글 수정시 파일 불러 오지 못하는 버그 수정

- 1.0.7 : 라이믹스 2.1 이상에서 파일 업로드 안되는 문제 수정

 

*중요 1.0.4 버전에서 업데이트 된 리스트 썸네일 출력은

스킨 수정이 필수입니다.

썸네일 사용하지 않으실분은 수정없이 그냥 사용하시면 됩니다.

 

 

<업로드시>

01.JPG

 

 

<본문>

02.JPG

 

 

 

<설정>

03.JPG

04.JPG

05.JPG

 

 

<리스트에서 썸네일 표시>(1.0.4 버전에서 추가)

05.jpg

  • profile
    회원가입에서도 확장변수로든 뭐든 이미지업로드기능 있었으면 좋겠네요 ㅎㅎ
  • ?
    {$document->cover_extra_info[$val->idx]->cover_extra}
    {$document->cover_extra_info[$val->idx]->cover_size_width} : 썸네일 넓이 변수
    {$document->cover_extra_info[$val->idx]->cover_size_height} : 썸네일 높이 변수
    {$document->cover_extra_info[$val->idx]->cover_extra_url} : 썸네일 주소 변수
     

    이와 같은 값들이 목록 파일에서 인식을 못하는듯 합니다. 

    웹진형 스킨에서  임시적으로 

    <!--// 확장변수 썸네일 처리 -->
    {@$extra_files = getModel('extravar_upload')->getImageFiles($document->document_srl)}
    <block loop="$extra_files=>$key,$file" cond="$document->document_srl==$file->upload_target_srl">
    {@$file_tmb=$file->uploaded_filename}
    {@$upload_target_srl=$file->upload_target_srl} 
    </block>
    
    <div class="rt_area<!--@if($list_config['thumbnail'] && $document->thumbnailExists())--> is_tmb<!--@end-->">
    <div cond="$list_config['thumbnail']" class="tmb_wrp ribbon_v{$mi->ribbon_style}">
    <!--// 썸네일 -->
    <!--@if($document->document_srl==$file->upload_target_srl)-->
    <block cond="$file_tmb" class="no_img tmb" style="height:{$mi->zine_thumb_height}px !important;overflow:hidden;"><img class="tmb" src="{$file_tmb}" alt="" width="100%" height="{$mi->zine_thumb_height}px" /></block>
    <!--@else-->
    <block cond="!$document->thumbnailExists()" class="no_img tmb" style="height:{$mi->zine_thumb_height}px !important;overflow:hidden;">No Image</block>
    <block cond="$document->thumbnailExists()">
    <span cond="$mi->tmb_effect=='2'" class="no_img loading" ></span>
    <img class="tmb" src="{$document->getThumbnail($mi->zine_thumb_width,$mi->zine_thumb_height,$mi->zine_thumb_type)}" style="max-height:{$mi->zine_thumb_height}px !important;overflow:hidden;" alt="" />
    </block>
    <!--@end-->

    이런식으로 썸네일 이미지를 출력해서 사용하고 있습니다.

     

  • profile

    set.png

    버전 : 라이믹스 2.0.23
    스킨 : 스케치북 for rymix

    readme.txt에 나온대로 수정했는데 리스트에서 노출이 되지않습니다.
    확장변수 기본값에 %확장변수id% 형식으로 넣어둔 텍스트만 그대로 노출되고 있습니다.
    글 읽기 페이지에서는 정상적으로 노출되는 상황이구요.

    뭐가 문제일까요...

     

    그리고 꼭 필수항목으로 해야하는 이유가 있을까요?

    사이즈가 다른 두개의 썸네일 형식으로 사용할려고하는데, 부분에 따라 썸네일을 하나만 노출하게 할려고 하거든요.

  • profile

    라이믹스 2.0, 모든 주소 사용 환경에서 게시글 수정시 URL 오류로 인해 작동하지 않는거 같습니다.

    upload.js 의 100번째 줄에서 url: './index.php?mid=extravar_upload&act=insertFileExtraVar',
    이렇게 설정되어있는데

    게시글 수정시 ajax 요청이 //example.com/mid/document_srl/index.php?... 이렇게 가버리게 됩니다.

    ./index.php -> /index.php 로 수정이 필요할 것 같습니다

  • profile profile

    그렇게 하면 사이트를 서브폴더에 설치했을 때 경로가 안 맞고요...
    라이믹스, XE 모두 AJAX 요청의 기준이 되는 request_uri라는 전역변수를 제공하니
    request_uri + 'index.php?xxx' 라고 선언하면 어느 버전, 어떤 환경에서나 100% 호환됩니다.

  • profile

    라이믹스 2.0 일부 환경에서 작동하지 않는 오류 수정하였습니다

    https://github.com/Waterticket/xe-module-extravar_upload/releases/tag/1.0.6.1

  • profile
    감사합니다. 찾고 있던 바로 그 자료가!
  • profile
    1.05 사용하고 리스트 출력 해볼려고 오늘 보니 1.06 올라왔네요..
    감사합니다...
  • profile
    잘쓰겠습니다.
  • profile
    리스트에서 출력하려고 {$document->cover_extra_info[$val->idx]->cover_extra_url} 적용했는데 안불러와지는데 방법없나요? $extra_files = getModel('extravar_upload')->getImageFiles($document_srl);
    쓰면 에러뿜어요 ㅠㅠ
  • ?
    좋은지료 감사합니다
  • profile
    감사드립니다.
  • ?
    혹시.. 해당 모듈을 통해 게시글에 확장변수로 업로드 후 'content' 위젯에서 이미지를 출력할때 본문에있는 이미지만 썸네일로 지정되게끔 되어있는데 해당 내용은 어찌 사용하면될까요?
  • ? profile
    무슨 말씀인지 이해가 안되긴 하지만 해당 문서의 포함되어 있는 확장변수로 업로드 된 파일은
    getModel('extravar_upload')->getImageFiles(문서번호)
    함수로 불러 올수 있습니다.
  • profile ?
    {@ // 썸네일 }
    <div class="app-thumbnail" cond="in_array('thumbnail', $widget_info->option_view_arr)">
    <img cond="$item->getThumbnail()" src="{$item->getThumbnail()}" alt="thumbnail">
    <div class="app-thumbnail-empty" cond="!$item->getThumbnail()">
    <ion-icon name="document-text-outline"></ion-icon>
    </div>
    </div>

    해당 섬네일 불러오는 위젯 구문인데, 말씀하신대로라면

    <img cond="$item->getThumbnail()" src="{$item->getThumbnail()}" alt="thumbnail">

    중 src쪽에 {getModel('extravar_upload')->getImageFiles()} 이렇게 추가를 해야하는건가요..?

    적용을해도 이미지가 불러와지지 않습니다 ㅠㅠ
  • profile
    와우.. 와우.. 진짜 요 몇일 계속 고민하던 개발건이 있는데 이 모듈이 있으므로써 완전 가능한 각이 나오겠네요. 소름 돋았습니다 ㅠㅁㅠ 정말 감사드립니다!!! 세상에..
  • profile
    감사합니다.
  • ?
    안녕하세요, 제가 두개의 web에서 테스트 중인데 한 곳에서는 잘 동작합니다. 그런 다른 곳에서는 관리자 로그인을 해야만 [Choose File] Button 이 보입니다. 로그아웃을 하면 확장자변수의 기본값이 나옵니다. 양쪽이 모두 같은 레이아웃에 같은 스킨(Contact Board}을 사용 중인데 ... 아무리 봐도 이유를 모르겠습니다.
  • ? profile
    사용하시는 php 나 xe / 라이믹스 버전에 따라서 작동이 달리 될수가 있습니다.
  • profile ?
    같은 XE Version 이고 PHP도 같은 버전입니다. 이럴 경우 확인 할 부분이 혹시 또 있을까요?
    XE는 1.11.6 PHP 5.6 과 7.1 로 테스트 했습니다
  • ? profile
    모듈 설정이나 다른 애드온이나 모듈에서 영향 정도가 있겠네요.
  • profile ?
    최고 권한을 가진 아이디에서 만 업로드 버튼이 보이고 다른 아이디에서는 [%ㅎㅎㅎ%] 식으로 나옵니다. 아직도 방법을 찾고 있지 못하고 있습니다.
  • ? profile
    해당 부분은 스킨에 확장변수 출력할때 설정하신 부분을 단순히 파일 버튼으로 교체하는 부분인데
    그게 권한에 따라 달라진다는것은 권한이 있을때와 없을때 출력하는 스킨 부분이 다르다는 이야기 입니다.
    따라서 스킨 설정을 점검 해보시거나 스킨 소스가 다르지 않은지 또는 다른 애드온 모듈에서 해당 부분에 영향을 미치고 있지 않은지 점검 해보시기 바랍니다.
    또한 모듈 설정에서 확장변수를 만들때 %extra_vars1%로 만들어 보시기 바랍니다.
  • profile ?
    잘 알겠습니다.
  • ?
    skin에서 manager 인 경우 확장변수를 부르는 방법이 틀린 것을 찾아서 고쳤습니다. 감사합니다.
  • profile
    너무 좋아요~!
  • ?
    정말 멋진 모듈입니다. 감사히 잘 사용하겠습니다.
  • ?
    좋은 기능입니다. 다만 잘 쓸 방법을 모르겠습니다. ㅠㅠ
  • ?
    감사히 다운받아 설치했습니다.
    그런데, 목록에서 이미지 표시하려면 스킨수정이 필수라고 쓰여져 있는데,
    스킨수정은 어느 부분, 어떻게 하는지요?

    시간되시면 확인부탁드려요. 고맙습니다. ^^
  • ? profile
    첨부파일 안에 readme.txt 파일을 참고하시기 바랍니다.
  • profile
    감사합니다
  • profile
    감사합니다
  • ?
    감사합니다~
  • profile
    1.0.1 버전을 사용하다 삭제하고 1.0.4 버전으로 업데이트를 한 후 확장변수2가 1로 올라가고 1은 보이지 않습니다.
    그래서 다시 1.0.1 버전으로 돌아왔습니다.
    해결 방법 좀 가르쳐주세요. 업데이트해주시면 더 좋구요.
    감사합니다.
  • profile profile
    1.0.4 버전에서 변경된 옵션이 많아서 그럴수 있으니 기존 설정을 지우고 다시 해보시기 바랍니다.
  • profile profile
    답변 감사합니다.
    기존 설정을 지우면 등록된 자료들은 그대로 유지가 되나요?
    아니면 게시된 자료들에서 이미지 부분을 다시 올려야하나요?
  • profile profile
    자료들에는 영향을 미치지 않습니다.
  • ?
    아, 그리고 지금.. 한 홈페이지에서 게시글이 열리지 않는 현상이 있는데요.
    모듈을 적용한 게시판만 그렇습니다.
    열리지 않다가 500에러가 나오더라구요..
    혹시 어떤 문제가 있으면 이렇게 되나요?
    현재 프로그래머가 DB쪽의 문제를 보고 파악중이긴 한데.. 혹시나 해서 여쭤봅니다..
  • ? profile
    글쎄요.
    로그를 봐야 알수 있는데.. 일단 파악중이라니 기다려 보시지요.
    안된다고 하시니 일단 모듈을 끄시기 바랍니다.
  • ?
    안녕하세요..
    제공해주신 업로드 모듈을 너무 잘 활용하고 있어서 우선 감사의 말씀을 드립니다.
    마지막으로.. 한가지 더 문의사항이 있습니다.
    필수로 체크를 했음에도 불구하고 파일을 모두 업로드 하지 않고서도 게시판이 업로드 되고 있습니다..
    혹시 이건 어떤 문제인지 알 수 있을까요?
  • ? profile
    해당 모듈의 기능은 업로드를 가능하게 하는것이지
    업로드를 강제 하는 기능은 없습니다.
  • profile ?
    네, 감사합니다.
  • ?
    베타버전 설치해봤다가 구매해서 재설치 했는데..여전히 삭제 버튼이 보이지 않네요..T T
  • ? profile
    사용하시는 환경좀 알려주시기 바랍니다.
    브라우저 / 버전 / XE인지 라이믹스인지
  • profile ?
    Explorer11 / XE1.11.5 입니다~
    크롬이나 오페라에서 봐도 마찬가지네요...T T
    혹시 초반에 올려주신 소스에는 삭제 버튼 기능이 없었던 걸까요??
  • ? profile
    아니요 처음부터 있었던 기능입니다.
    조만간 전체적으로 패치 예정이니 잠시만 기다려 주시기 바랍니다.
  • profile
    잘쓰겠습니다.
  • ?
    안녕하세요.. 또 오류가 있는 것 같아서 공유 드립니다.
    업로드를 하면.. 잘 올라가다가 한번씩 잘 올라가지 않는 경우가 있습니다. 안 올라가면 계속 안 올라가는데요.. 관리자로 로그인 해서 업로드 해보니 올려지길래, 다시 작성자로 들어가 수정하여 업로드 하려고 하면 업로드가 안되고 관리자가 올린 파일 그대로 남아 있습니다.
    어떤게 문제인지 확인 좀 부탁드릴 수 있을까요..?

    그리고..추가로 발견되어 말씀드립니다.
    선택 삭제를 했는데, 삭제가 안되고 파일이 모두 업로드 되고 있습니다.
    확인부탁드립니다.
  • ? profile
    업로드 오류는 서버 설정 때문일 가능성이 높습니다.
    선택 삭제는 업로드 오류 때문에 같이 발생하는 문제인것 같고요.
    문제 발생시 로그를 보내주시거나 쪽지로 사이트 주소를 알려주시면 점검 해보겠습니다.
  • profile ?
    쪽지 보내드렸습니다~!
  • ?
    사용자정의 확장변수를 설명대로 입력하고 등록까지 성공했는데 입력 폼에서는 그냥 싱글셀렉트 박스로만 나타납니다. 왜 그런걸까요? 코어 1.8.27 입니다.
  • ?
    스킨을 바꿔서 체크해보니 스케치북 게시판에서는 동작하는데, XEDITON 게시판에서는 그냥 싱글셀렉트로 나오네요ㅠㅠ
  • ? profile
    만들때 XEDITON 게시판 기준으로 먼저 만들도 스케치북 호환 작업 했는데 이상하네요.
    기본값을 변경 해보시거나 순정 XEDITION 게시판에 수정된 부분이 있는지 확인 바랍니다.
  • profile ?
    해결했습니다. 게시판 리스트에서 쓰기폼을 불러오는 Contact us 형식으로 수정했던게 문제였네요. 일단 급한대로 if(Context::get('act') == 'dispBoardWrite')를 true로 수정했는데 조건문을 리스트에서도 동작하게 하는 더 깔끔한 방법이 있을까요?
    그리고 XEDITON 순정에서도 파일 첨부 후 선택 삭제 버튼이 안나오는 문제가 있네요.
  • profile ?
    번거롭게 해드려 죄송합니다. 혹시 이미지로 업로드한 확장변수를 게시판 리스트에도 불러올 수 있을까요?
    현재는 게시글을 선택했을때 본문과, 본문 하단에 목록표시를 한 경우 출력은 되는데 그냥 목록에서는 %기본값% 텍스트로만 출력이 되네요
  • ? profile
    $module_info = Context::get('module_info');
    if($module_info->module=='board' && !Context::get('act') && !Context::get('document_srl'))

    로 한번 해보시기 바랍니다.
    첨부 삭제 안나오는것은 업데이트 했으니 시도해보시기 바랍니다.
  • ? profile
    가능합니다만 작업이 많아서 다음 업데이트에 반영해보도록 하겠습니다.
  • profile ?
    넵 감사합니다. 각 게시글의 srl값과 파일경로를 리스트에 불러오는게 관건일것 같은데 일단 혼자서 이것저것 수정하면서 테스트중입니다^^ 다음 업데이트 기대하겠습니다.
  • profile
    잘 쓰겠습니다.
  • ?
    감사합니다~
  • ?
    게시판에서 쓰기버튼을 누르면.. 왜 오류가 나는걸까요..?ㅠㅠ
  • ? profile
    어떤 오류가 나시나요?
  • profile ?
    페이지가 작동하지 않습니다.
    HTTP ERROR 500 이라고 뜹니다..
    글 쓰기를 하거나 기존 게시물의 수정할 때 모두.. 그렇게 나옵니다.
    모듈 연결을 끊으면 다시 잘 되구요..
  • ? profile
    PHP 버전이 안맞거나 서버 환경 때문에 그런것 같네요.
    PHP나 아파치 에러 로그를 보셔야 정확한 원인을 알수 있을것 같습니다.

    참고로 개발환경은 PHP 7.1.26 / Nginx 1.14.0 에서 했습니다.
  • profile ?
    버전을 맞추서 사용하게 되었습니다. 감사합니다!
    그런데.. 업로드 한 파일을 삭제하는 기능이 안보이네요.. 올리신 사진엔 있는데.. 혹시 뭐가 잘못된 걸까요..?
  • ? profile
    마지막 스샷에 보이는 파일 목록 말씀하시는건가요?
  • profile ?
    '선택삭제' 버튼은... display:none; 으로 되어 있어서 그부분 수정해서 이젠 나옵니다..
    다만, 크롬환경에서는 파일이 잘 올라가고 삭제도 잘되는데, 익스플로러에서는 파일이 업로드는 잘되는데, 업로드한 파일을 변경하기 위해 삭제하려면 삭제가 안됩니다..
  • ? profile
    네 다음 업데이트시 반영 해보겠습니다.
  • ? profile
    업데이트 완료
  • profile ?
    감사합니다!^^
  • profile
    고맙습니다...꾸벅~