PrestaShop 커스텀 모듈 개발 가이드: 단계별 튜토리얼
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- PHP 및 PrestaShop 플랫폼에 익숙한 개발자
- 초급~중급 수준의 웹 개발자, 모듈 개발에 관심 있는 프론트엔드/백엔드 개발자
핵심 요약
- 모듈 디렉토리 구조 설정
/modules
폴더에mycustommodule
폴더 생성 후mycustommodule.php
파일 생성 - 모듈 클래스 정의
Module
클래스 상속,$name
,$version
,$ps_versions_compliancy
등 필수 속성 포함 - Hook 활용
displayHome
같은 훅을 통해 프론트엔드에 컨텐츠 삽입 가능 (hookDisplayHome
메서드 사용) - 커스텀 설정 폼 구현
HelperForm
클래스를 사용해 관리자 패널에서 데이터 저장 기능 추가
섹션별 세부 요약
1. 모듈 디렉토리 생성
/modules/mycustommodule
폴더 생성mycustommodule.php
파일 생성 (폴더명과 동일한 이름 사용)- PrestaShop 모듈은
/modules
디렉토리에 반드시 포함
2. 모듈 클래스 정의
MyCustomModule
클래스 정의 (PrestaShopModule
클래스 상속)- 필수 속성:
$name
,$tab
,$version
,$author
,$ps_versions_compliancy
__construct()
메서드 내displayName
,description
등 사용자 친화적 정보 설정ps_versions_compliancy
속성으로 PrestaShop 1.7 이상 호환성 명시
3. 설치/삭제 메서드 구현
install()
메서드:displayHome
훅 등록 및 데이터베이스 테이블 생성 가능uninstall()
메서드: 모듈 삭제 시 자원 정리 로직 구현parent::install()
및parent::uninstall()
호출 필수
4. 훅을 통한 기능 추가
hookDisplayHome()
메서드: 훅 콜백으로 프론트엔드에 메시지 삽입- 예시:
return '
Hello from My Custom Module!
'; - 훅 명 (
displayHome
)은 PrestaShop 테마의 특정 위치에 컨텐츠 삽입 가능
5. 설정 폼 구현 (선택 사항)
getContent()
메서드: 폼 제출 시Configuration::updateValue()
로 데이터 저장renderForm()
메서드:HelperForm
을 사용해 관리자 패널에 폼 생성MY_OPTION
필드를 포함한 단순 텍스트 입력 폼 예시 제공
6. 최종 단계 및 테스트
- 모듈 폴더를 ZIP 파일로 압축하거나 PrestaShop 관리자에서 직접 업로드
- 관리자에서 설치 후
displayHome
훅이 정상적으로 동작하는지 확인 - 설정 폼에서 입력한 값이
Configuration
에 올바르게 저장되는지 검증
결론
- PrestaShop 모듈 개발은
/modules
디렉토리 구조,Module
클래스 상속, 훅 사용 등 핵심 개념을 이해하는 것이 중요 HelperForm
클래스를 활용한 설정 폼 구현으로 관리자 인터페이스 확장 가능- 훅(
displayHome
,actionAdminControllerAfterControllerConstruction
등)을 통해 프론트엔드/백엔드의 특정 위치에 컨텐츠 삽입 가능 - 확장성 위해 다국어 지원, 템플릿 사용, 데이터베이스 연동 등 추가 기능 개발 권장