본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
LS Taiwan
검색
검색
보이기
계정 만들기
로그인
개인 도구
계정 만들기
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
Dolibarr 모듈 개발
편집하기 (부분)
문서
토론
한국어
읽기
편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
==탭 관리== ## 탭 관리에 대한 논의 및 돌리바 ERP CRM 모듈 개발의 더 큰 맥락 제공된 출처는 **탭 관리**를 돌리바 ERP CRM 모듈 개발에서 **선택적인 기능**으로 설명하며, 주로 **기존 객체 (송장, 주문, 견적 등) 보기 화면에 새로운 탭을 추가하거나 기존 탭을 제거**하고, **자체 모듈 페이지 내에 표준 객체의 탭 메뉴를 표시**하는 방법에 대해 다루고 있습니다. **새로운 탭 추가 및 기존 탭 제거:** * 모듈 설명자 파일에 정의된 **`$this->tabs` 배열**을 수정하여 객체 보기 화면에 새로운 탭을 추가하거나 기존 탭을 제거할 수 있습니다. * `$this->tabs` 배열은 여러 개의 문자열로 구성된 리스트이며, 각 문자열은 하나의 탭을 나타냅니다. * 각 문자열은 **":" (콜론)으로 구분된 6개의 부분**으로 이루어져 있습니다: 1. **파트 1:** 탭을 표시할 **객체 타입** (예: 'thirdparty', 'invoice', 'product', 'order' 등). 2. **파트 2:** 탭을 **추가**할 때는 **`+tabname1`** 과 같은 형식으로 고유한 코드를 지정하고, **제거**할 때는 **`-tabname`** 과 같이 기존 탭의 코드를 지정합니다. 3. **파트 3:** 탭의 **제목**입니다. 하드코딩된 문자열 또는 모듈 언어 파일에 정의된 번역 코드를 사용할 수 있습니다. 4. **파트 4:** 번역 코드가 정의된 **언어 파일** (`*.lang`)의 이름과 모듈명 (예: `mylangfile@mymodule`). `@mymodule`이 붙으면 모듈의 `langs/code_CODE/` 디렉토리에서, 그렇지 않으면 돌리바 기본 `langs/code_CODE/` 디렉토리에서 파일을 찾습니다. 5. **파트 5:** 탭의 **표시 조건**입니다. 예를 들어 특정 권한을 가진 사용자에게만 보이도록 설정하거나 (`$user->rights->mymodule->read`), 항상 보이도록 `1`을 설정할 수 있습니다. 6. **파트 6:** 탭을 클릭했을 때 **표시될 페이지의 URL**입니다 (`/mymodule/mypagetab1.php`). `__ID__` 문자열은 자동으로 해당 객체의 ID로 치환됩니다. * 기존 탭의 `'tabname'`을 확인하려면 `'core/lib/module.lib.php'` 파일의 `product_prepare_head` 함수 내에서 `$head[$h]` 부분을 참조해야 합니다. **자체 페이지에 표준 탭 메뉴 표시:** * 자체 모듈 페이지 내에 제품, 거래처 등 표준 객체의 모든 탭을 표시하려면 다음과 같은 단계를 따라야 합니다: 1. **필요한 파일 포함:** 각 객체 타입별로 해당하는 클래스 파일과 라이브러리 파일을 `require_once()` 를 사용하여 포함해야 합니다. 제공된 예시에는 거래처, 제품, 송장에 대한 파일 포함 예시가 있습니다. 2. **객체 생성 및 로드:** URL에서 전달된 ID를 이용하여 해당 객체 클래스의 인스턴스를 생성하고 `fetch()` 메서드를 사용하여 데이터베이스에서 객체 정보를 로드합니다. 3. **표시할 탭 목록 가져오기:** `XXX_prepare_head($obj)` 함수를 사용하여 표시할 탭 정의 배열을 가져옵니다. `XXX`는 객체 이름이며, 함수에 로드된 객체 인스턴스를 파라미터로 전달합니다. 4. **탭 표시:** `dol_fiche_head()` 함수를 사용하여 가져온 탭 배열 (`$head`)을 화면에 표시합니다. 활성화할 탭, 제목, 아이콘 등을 설정할 수 있습니다. * `dol_fiche_head()` 함수는 탭 영역 아래에 해당하는 HTML `<div>` 요소를 시작하며, 탭 영역을 닫으려면 PHP 페이지에서 `</div>` 태그를 사용해야 합니다. **돌리바 ERP CRM 모듈 개발의 더 큰 맥락에서 탭 관리의 중요성:** * **사용자 인터페이스 맞춤화:** 탭 관리를 통해 모듈 개발자는 **기존 돌리바 인터페이스를 확장하고 맞춤화**하여 사용자가 필요한 정보에 더욱 쉽고 빠르게 접근할 수 있도록 합니다. 새로운 기능을 제공하는 모듈에서 관련 정보를 별도의 탭으로 구성하여 **정보를 논리적으로 그룹화**하고 사용자 경험을 향상시킬 수 있습니다. * **정보 구성 및 접근성 향상:** 특히 많은 정보를 표시해야 하는 객체 화면에서 탭을 사용하면 **화면을 깔끔하게 유지**하고 **사용자가 원하는 정보만 선택적으로 볼 수 있도록** 돕습니다. 예를 들어, 특정 모듈에서 관리하는 추가 정보 필드를 기존 객체 화면의 새로운 탭에 통합하여 사용성을 높일 수 있습니다. * **기존 돌리바 객체와의 통합:** 모듈에서 추가하는 기능이 기존 돌리바 객체와 관련이 있을 때, 탭 관리를 통해 **자체 기능을 기존 워크플로우에 자연스럽게 통합**할 수 있습니다. 예를 들어, 특정 프로젝트 관련 정보를 주문 또는 송장 화면의 새로운 탭에서 보여주는 방식으로 통합할 수 있습니다. * **모듈 기능의 확장:** 새로운 탭을 통해 모듈은 **추가적인 정보 표시, 데이터 편집, 또는 특정 액션 실행을 위한 사용자 인터페이스를 제공**할 수 있습니다. 이는 모듈의 기능을 더욱 풍부하게 만들고 사용자에게 더 많은 가치를 제공합니다. * **일관성 유지:** 자체 모듈 페이지에서 `dol_fiche_head()` 함수를 사용하여 표준 탭 메뉴를 표시함으로써, **돌리바의 전반적인 사용자 인터페이스와 일관성을 유지**하고 사용자의 혼란을 줄일 수 있습니다. **결론적으로, 탭 관리는 돌리바 ERP CRM 모듈 개발에서 **사용자 인터페이스를 개선하고 정보를 효율적으로 구성하며, 모듈의 기능을 기존 돌리바 시스템에 자연스럽게 통합하는 데 중요한 역할**을 합니다. `$this->tabs` 배열을 이용한 탭 추가/제거와 `dol_fiche_head()` 함수를 활용한 표준 탭 표시 기능은 모듈 개발자가 더욱 편리하고 사용자 친화적인 모듈을 만들 수 있도록 지원합니다.**
요약:
LS Taiwan에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
LS Taiwan:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
Dolibarr 모듈 개발
편집하기 (부분)
새 주제