본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
LS Taiwan
검색
검색
보이기
계정 만들기
로그인
개인 도구
계정 만들기
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
Dolibarr 모듈 개발
편집하기 (부분)
문서
토론
한국어
읽기
편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
==PHP 화면 생성 및 수정 == ## PHP 화면 생성 또는 수정에 대한 논의 및 돌리바 ERP CRM 모듈 개발의 더 큰 맥락 제공된 출처는 돌리바 ERP CRM 모듈 개발에서 **PHP 화면을 생성하거나 수정하는 것**을 **선택적인 기능**으로 설명하며, 주로 **새로운 기능을 구현하기 위해 필요한 사용자 인터페이스를 구축하거나 기존 화면에 추가적인 필드를 통합**하는 방법에 대해 다루고 있습니다. **새로운 PHP 화면 생성:** * 모듈의 목적이 새로운 기능을 추가하여 새로운 화면이 필요한 경우, PHP 화면을 생성해야 합니다. * 새로운 사용자 화면을 생성하려면 모듈 디렉토리 내에 (예: `/htdocs/mymodule/`) PHP 파일을 저장할 하위 디렉토리를 생성해야 합니다. * **`modulebuilder/myobject_page.php`** 에 제공된 스켈레톤 템플릿 파일을 복사하여 새로운 페이지 파일의 시작점으로 사용할 수 있습니다. * 새로운 PHP 파일에서 **`main.inc.php` 파일을 로드**하는 것이 중요합니다. 이 파일은 돌리바 환경 변수와 권한을 로드하며 `$user`, `$conf`, `$db`, `$langs` 객체를 포함합니다. 제공된 코드 예시는 다양한 상황에서 `main.inc.php` 파일을 로드하기 위한 여러 시도를 보여줍니다. * 모듈에 특화된 클래스나 라이브러리를 포함하려면 직접 `include_once`를 사용하는 대신 **`dol_include_once()` 함수**를 사용해야 합니다. 돌리바에서 제공하는 클래스를 포함하려면 `require_once DOL_DOCUMENT_ROOT . '/core/class/doli.class.php';` 와 같은 구문을 사용합니다. * 화면 표시를 위한 코드는 `main.inc.php` 로드 후 추가해야 합니다. * 명령행 스크립트 개발은 별도의 안내를 참조해야 합니다. **기존 폼 수정:** * 기존 요소 (예: 카테고리, 송장, 견적 등)의 폼에 더 많은 필드를 추가해야 할 수 있습니다. * **무거운 해결책**으로는 해당 요소 생성에 사용되는 모든 페이지를 **자체 페이지로 대체**하는 방법이 있습니다. 이는 "새 요소" 메뉴 항목을 비활성화하고 자체 항목을 추가하며, 기존 탭을 자체의 전체 페이지로 대체하는 것을 의미합니다. 이 방법은 페이지의 모든 것을 변경할 수 있다는 장점이 있지만, 더 많은 작업이 필요합니다. * **더 가벼운 해결책**으로는 **훅 시스템**을 사용하여 기존 필드의 끝에 필드를 추가하는 방법이 있습니다. 이를 위해서는 새로운 필드의 값을 저장할 자체 테이블을 만들고 CRUD (Create/Read/Update/Delete) 메서드를 가진 클래스를 생성해야 합니다. 그런 다음 훅을 사용하여 폼에 새로운 필드를 추가합니다. 훅 사용에 대한 일반적인 문서는 [Hooks_system#Implement_the_Hook](https://wiki.dolibarr.org/index.php?title=Hooks_system#Implement_the_Hook) 장을 참조해야 합니다. **데이터베이스 접근:** * 자체 테이블의 데이터를 편집하려면 이전에 생성한 PHP 클래스를 사용합니다. * 전용 PHP 클래스가 없는 테이블에 접근해야 하는 경우 (예: 특정 JOIN 또는 필터를 사용하여 레코드 목록을 가져오려는 경우), `$db` 객체를 사용하여 직접 SQL 쿼리를 실행할 수 있습니다. 삽입, 업데이트, 삭제를 위한 트랜잭션 처리 예시와 데이터를 읽기 위한 코드 예시가 제공됩니다. **페이지 스타일 정의:** * 자체 페이지의 모양을 돌리바 테마와 일치시키려면 **돌리바 CSS 스타일**을 사용해야 합니다. `liste_titre`, `pair`, `impair`, `flat`, `button` 등의 CSS 클래스 사용 예시가 제공됩니다. **돌리바 날짜 선택기 사용:** * 자체 페이지에서 돌리바 날짜 선택기 (달력 팝업)를 사용하려면 `$form = new Form($db);` 를 사용하여 `Form` 클래스의 인스턴스를 생성하고 `$form->select_date()` 메서드를 호출해야 합니다. 날짜 선택기는 HTML `<form>` 내에 포함되어야 하며, 폼 전송 후 값을 가져오는 방법도 설명되어 있습니다. **템플릿 파일 (tpl) 덮어쓰기:** * 모듈에서 tpl 파일을 덮어쓰려면 모듈 설명자의 `$this->module_parts` 배열에 `'tpl' => 1` 을 선언한 후, 덮어쓸 tpl 파일을 `mymodule/core/tpl` 디렉토리에 넣으면 됩니다. **돌리바 ERP CRM 모듈 개발의 더 큰 맥락에서 PHP 화면 생성 및 수정의 중요성:** * **기능 확장 및 맞춤화:** PHP 화면 생성 및 수정은 돌리바의 기본 기능을 넘어서는 **새로운 비즈니스 로직 및 데이터 관리 기능을 구현**하는 데 필수적입니다. 모듈 개발자는 이를 통해 특정 요구 사항에 맞는 사용자 인터페이스를 구축하고 워크플로우를 맞춤화할 수 있습니다. * **사용자 경험 향상:** 잘 설계된 PHP 화면은 사용자에게 **직관적이고 효율적인 작업 환경**을 제공하여 전반적인 사용자 경험을 향상시킵니다. 새로운 정보를 표시하거나 기존 정보를 편집하는 방식을 개선하여 사용 편의성을 높일 수 있습니다. * **데이터 관리 효율성 증대:** 새로운 화면을 통해 모듈은 **특정 데이터를 효과적으로 수집, 표시 및 관리**할 수 있도록 합니다. 이는 데이터의 정확성을 높이고 정보 접근성을 향상시켜 업무 효율성을 증대시킵니다. * **기존 시스템과의 통합:** 폼 수정 기능을 통해 모듈은 **자체 기능을 기존 돌리바 시스템의 흐름에 통합**할 수 있습니다. 예를 들어, 기존 주문 생성 화면에 추가적인 정보를 입력받는 필드를 추가하여 모듈의 기능을 자연스럽게 사용할 수 있도록 합니다. * **다양한 사용자 인터페이스 제공:** 새로운 PHP 화면과 스타일 정의를 통해 모듈은 **다양한 형태와 기능의 사용자 인터페이스**를 제공할 수 있습니다. 이는 다양한 사용자의 요구 사항을 충족시키고 모듈의 활용도를 높입니다. **결론적으로, PHP 화면 생성 및 수정은 돌리바 ERP CRM 모듈 개발에서 **핵심적인 부분**을 차지하며, 모듈의 **기능 확장, 사용자 경험 향상, 데이터 관리 효율성 증대**에 직접적으로 기여합니다. 개발자는 제공된 가이드라인과 돌리바의 개발 규칙을 준수하여 안정적이고 사용자 친화적인 모듈을 개발해야 합니다.**
요약:
LS Taiwan에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
LS Taiwan:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
Dolibarr 모듈 개발
편집하기 (부분)
새 주제