Joomla 모듈을 개발하는 방법?


10

나는 이것에 대한 튜토리얼을 멀리보고 넓게 보았지만 만족스러운 것을 찾을 수없는 것 같습니다. Joomla를위한 새로운 모듈을 어떻게 만드나요?

지금은 코드 전체에서 사용자 정의 HTML 모듈을 사용하고 있으며 PHP에 접근하여 모듈로 만들 수 있기를 원하지만 튜토리얼을 찾지 못했습니다. 이전에 설치된 모듈을 수정했지만 설치할 모듈을 만드는 방법을 모르겠습니다.

줌라 문서는 상당히 혼란스럽고 여러 번 읽은 후에 포기했습니다. 누구든지이 과정을 설명해 줄 수 있습니까? 감사!

답변:


17

Joomla 모듈 개발 학습

내가 배운 방식은 핵심 또는 다른 타사 모듈을 연구하고 사용자 정의하는 것이 었습니다.
개념으로서의 모듈은 컴포넌트보다 단순하며 (우리는 2 개의 애플리케이션 프론트 엔드 / 백엔드라고 할 수 있음) 정보를 표시하도록 설계되었습니다.
따라서 모듈 폴더 / 파일을 열고 코드를 읽기 시작하면 빨리 들어갈 수 있습니다.

예제 별 Joomla 모듈 분석

예를 들어 Joomla 3.2에서 최신 기사 모듈 을 열고 코드를 확인하면서 아래 행을 읽을 수 있습니다. 모듈의 폴더에는 4 가지 기본 파일이 있습니다.

1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4.mod_articles_latest.xml

  1. mod_articles_latest.php모듈의 기본 파일 모듈을 호출 할 때 사용되는 제이다. 모듈을 초기화하고를 포함하고 helper.php, 데이터를 검색하기 위해 헬퍼의 클래스 메소드를 호출하고 마지막으로 데이터 default.php를 표시하는 모듈의 템플리트 ( )를 포함합니다 .

  2. helper.php(우리가 그것을 이름을 수 있다면) 파일은 모듈의 "기계"입니다. 헬퍼에서 우리는 데이터를 검색하기 위해 모듈의 클래스와 메소드를 만듭니다. 이것은 우리가 데이터베이스와 모듈 "토크"를 할 수있는 곳입니다. 이 모듈의 헬퍼 파일에서 코드를 읽으면 하나의 Method 가있는 ModArticlesLatestHelperClass 가 포함되어 있음을 알 수 있습니다 . 이 방법 내에서 모듈은 모듈의 백엔드 설정을 확인하고 결국 이러한 조건에 따라 반환 할 기사 목록을 작성합니다. 이 모듈은 메소드를 사용 하여 컨텐츠 모델 오브젝트 를 리턴합니다 .getList(&$params)
    JModelLegacy::getInstance

  3. default.php모듈의 내용을 표시 할 수있는 모듈과 책임의 기본 템플릿입니다. -여기서 우리 mod_articles_latest.php는 모듈 클래스를 호출하여 이전에 검색 한 데이터를 사용하여 html 출력을 작성합니다 . tmpl 폴더 안에 있습니다 . * 메인 모듈의 파일에는 JModuleHelper::getLayoutPath메소드가 포함 된 템플릿 파일이 포함되어 있으며 , 우선 템플릿 오버라이드를 확인합니다.

  4. 마지막으로 mod_articles_latest.xml모듈의 "ambassador"와 같이 호출합니다. 설치 중에 모듈을 Joomla에 "소개하는"파일이며, 설치 프로그램이 복사 할 파일을 지정하고 모듈 관리자가 사용하는 모듈의 매개 변수에 대한 정보와 추가 정보를 포함합니다. 모듈에 대해.

이것들은 기본 모듈의 필수 부분입니다. 고려해야 할 또 다른 측면은 여러 언어의 지원입니다. 언어 문자열 및 언어 변환 파일 을 사용 하여이 작업을 수행 할 수 있습니다 . 지금까지 성공적으로 도달했다면 기본 모듈을 만들려면 언어 지원을 추가하는 것이 매우 간단합니다.


15

3

우리는 Joomla CMS를위한 동일한 목적의 Custom PHP Module을위한 무료 모듈을 개발했습니다 .

[website-root] / modules / mod_customphp / files에 login.php와 같은 PHP 파일을 만들어야합니다.

  • 이 파일을 사용하려면
  • [백엔드]-> 모듈 관리자로 이동
  • 새로운 커스텀 PHP 모듈 만들기
  • includefile put 로그인 매개 변수
  • 모듈에 login.php가 렌더링됩니다.

내 유스 케이스 wrt PHP에 대답하지만 실제로 요청 한 내용에 응답하지 않습니다 (필자의 경우 모듈을 사용할 때마다 색상 등의 특정 설정을 저장해야하므로 만들 수 있으면 더 쉽습니다) 팁 덕분에 새로운 모듈 대신 PHP에 액세스하십시오).
serakfalcon

모듈에 더 많은 매개 변수를 추가하고 PHP 파일에서 이러한 매개 변수를 사용할 수 있습니다.
Shyam

3

로컬 설치에서 기존 모듈을 복사 할 수 있습니다. 그런 다음 원하는 방식으로 이름을 바꿉니다. 또한 코드의 php 클래스 이름뿐만 아니라 php 및 xml 파일의 이름도 바꿔야합니다. 그런 다음 모듈의 zip 파일을 만듭니다. 이 zip 파일은 joomla 설치에 설치할 수 있습니다.

이름 변경에 대한 자세한 내용이 필요하십니까?


그것은 어느 정도 작동하며 종종 시작하는 방식이지만 언어 문자열과 다른 위치에 설치되는 추가 미디어를 다루는 데는 충분하지 않습니다.
Peter Wiseman

@PeterWiseman 네, 그렇습니다. 그러나 시작하는 쉽고 빠른 방법입니다.
seagul
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.