AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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 클래스 정의 (PrestaShop Module 클래스 상속)
  • 필수 속성: $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 등)을 통해 프론트엔드/백엔드의 특정 위치에 컨텐츠 삽입 가능
  • 확장성 위해 다국어 지원, 템플릿 사용, 데이터베이스 연동 등 추가 기능 개발 권장