0.1.5 업데이트 (2023. 06. 08)
- 확장변수 수정시 화면에 수정된 값이 반영되지 않는 문제 수정 (현님님)
- 수정된 파일
- conf/info.xml
0.1.4 업데이트 (2023. 06. 08)
- 확장변수가 빈값일 때 수정이 되지 않는 문제 수정 (현님님)
- 확장변수 값을 입력하지 않고 '수정'하면 (1) 필수항목이면 경고문 출력, (2) 필수항목이 아니면 빈 값 전달
- 카테고리도 아무 것도 선택하지 않은 채 '수정'하면 -> 카테고리값을 0으로 전달
- 확장변수 수정이 거부될 경우(필수항목인데 빈 값을 전달하는 경우) 해당 input 필드가 감춰지지 않고 남게 되는 문제 수정
- 수정된 파일
- update_extra_vars.php
- skins/default/js/default.js
- conf/info.xml
0.1.3 업데이트 (2022. 03. 20)
- 게시판 스킨의 확장변수에 onclick 속성이 부여되지 않는 문제 수정 (미이라님)
- default 스킨에서 카테고리 입력 필드에 2차 분류까지 트리 구조 구현
0.1.2 업데이트 (2022. 03. 19)
- 기능적 측면으로는 아래의 0.1.1과 다르지 않습니다.
- 다만, 새로고침 없는 카테고리 수정이 필요한 경우에 대비하여 카테고리 번호 업데이트 직후에 관련 json값을 반환하도록 하였습니다.
- 자세한 내용은 https://xetown.com/thirdpartynews/1667415 의 2번 항목을 참조해주세요.
0.1.1 업데이트 (2022. 03. 19)
- 카테고리 수정 뒤 카테고리별 문서 갯수가 업데이트 되지 않는 문제 수정 (category count 및 document 캐시 재생성, 산소아빠님)
- 이번 업데이트로 default 스킨에서는 카테고리 수정시 페이지 새로고침이 이뤄집니다.
- 새로고침을 원하지 않으시는 분들은 애드온 스킨의 js를 통해 새로고침 구문을 삭제하시면 됩니다.
0.1.0 업데이트 (2022. 03. 19)
- 카테고리 수정 기능을 추가했습니다(산소아빠님). 참고로 저는 스케치북 게시판 스킨 목록 유형에서 다음과 같이 해봤습니다.
<td cond="!$mi->show_cate && $mi->use_category=='Y'" onclick="showUpdateExtraModal(this, {$document->document_srl}, {$document->get('category_srl')}, 'category')"|cond="$grant->manager && $use_category_update" class="cate">~~~~~
- 애드온 설정에서 수정 커맨드 스킨을 지정할 수 있습니다. 단, 현재 자료에서는 default 스킨만 제공됩니다.
- 업데이트 쿼리에 실패할 경우에 대비하여 오류 가능성을 최대한 회피했습니다.
- 기타 몇 가지 동작 개선이 있었고 몇몇 불필요한 코드를 정리했습니다.
사용 설명
가끔씩 게시판 목록에서 카테고리나 확장변수를 바로 수정하고자 하는 질문들이 있어서 관련된 팁을 써볼까 하다가 그냥 애드온으로 만들어봤습니다.
1. 먼저 애드온을 설치합니다.
2. 애드온 설정에서 '카테고리 수정'을 선택하거나 수정할 확장변수의 eid를 기입(복수 기입 가능)한 뒤, 이 설정을 적용할 대상 모듈을 체크합니다.
3. 목록에서 카테고리를 바로 수정하고자 하는 경우, 게시판 스킨에서 문서 목록의 카테고리 출력 부분에 다음과 같은 onclick 속성을 추가합니다. onclick="showUpdateExtraModal(this, {$document->document_srl}, {$document->get('category_srl')}, 'category')"|cond="$grant->manager && $use_category_update"
예컨대 저는 스케치북 스킨의 목록형에서 다음과 같이 해봤습니다.
<td cond="!$mi->show_cate && $mi->use_category=='Y'" onclick="showUpdateExtraModal(this, {$document->document_srl}, {$document->get('category_srl')}, 'category')"|cond="$grant->manager && $use_category_update" class="cate">~~~~~
4. 목록에서 확장변수를 바로 수정하고자 하는 경우, 게시판 스킨에서 문서 목록의 확장변수 출력 부분에 다음과 같은 onclick 속성을 추가합니다. onclick="showUpdateExtraModal(this, {$document->document_srl}, {$val->idx})"|cond="$grant->manager && $use_extra_vars_update && $val->eid === $extra_keys_for_update[$val->idx]->eid"
예컨대 저는 스케치북 스킨의 목록형에서 다음과 같이 해봤습니다.
<td cond="$val->idx!=-1" onclick="showUpdateExtraModal(this, {$document->document_srl}, {$val->idx})"|cond="$grant->manager && $use_extra_vars_update && $val->eid === $extra_keys_for_update[$val->idx]->eid" class="<!--@if($val->eid=='link_url')-->link_url<!--@else-->m_no<!--@end-->">~~~~~~~~~~~~
5. 이제 다음과 같이 카테고리 및 확장변수를 바로 수정할 수 있습니다.
6. 입력창이 html 형태로 된 템플릿 스킨에서 출력됩니다. 기본으로 default 스킨이 제공되며, default 스킨을 참고하여 사용자 취향에 따라 별도의 스킨을 제작하거나 커스터마이징해서 사용하실 수 있습니다.
예. 미이라님의 별도제작 mh 스킨
예. 토비리님의 default 스킨의 css 커스터마이징
7. 작동 방식 소개
- 애드온에서 설정된 카테고리 수정 옵션 및 입력된 eid들에 따라 관련 변수를 생성
- 변수 수정 커맨드 진행을 위한 모달 요소를 출력하는 템플릿 스킨을 삽입
- 목록에서 클릭을 하면 모달이 show되고 클릭 지점으로부터 전달된 인자값을 통해 해당 변수만의 입력 필드가 디스플레이
- 입력값을 전송하면 애드온의 외부 php 파일을 통해 카테고리 및 확장변수 update 쿼리 실행
- 완료 후 간단한 조작 및 getValueHTML 메소드를 통해 새로운 입력값을 게시판 목록에 반영. 그리고 모달 창 닫음
8. 꿀팁
- 카테고리/확장변수 바로 수정 애드온을 관리자뿐 아니라 작성자도 사용할 수 있게 하기 https://xetown.com/tips/1713479
- 본문 읽기 페이지에서도 확장변수 수정하는 방법 https://xetown.com/download/1666779#comment_1674628
몇몇가지 불편사항이 더 있어서 또 댓글 남겨 봅니다.
https://xetown.com/download/1666779#comment_1674628
저는 위 댓글처럼 본문 내에서 사용하고자하여 적용하였는데
위처럼 게시판 설정에서 목록에서 무조건 추가 해야지 애드온이 반영됩니다.
목록말고 본문에서만 작동되면 되는상황이라서 목록에 추가를 안하고 이용하고 싶습니다.
그리고
아무것도 입력하지 않으면 모든 확장변수가 수정대상이 된다고 하였지만 아무것도 입력하지 않으면 아무것도 작동하지 않습니다.
감사합니다.