모듈을 이용한 테마, 스킨 개발 및 배포

라온보드에서 정적 리소스는 public\ 경로에 있어야 하고 뷰는 resources\views\ 에 위치해야 합니다.

그런데 정적 리소스와 뷰를 따로 배포하게 되면 사용자가 설치하기에 불편할 수 있기 때문에

모듈로 만들어서 테마를 배포하는 것을 권합니다.

참고) 스킨도 모듈로 배포할 수 있습니다.

 

모듈 기본 서비스 프로바이더의 registerViews() 메소드는 모듈 생성할 때 아래 이미지와 같이 구현되어 있습니다.

여기서 $viewPath = resource_path('views/modules/모듈이름')의 'modules'를 'themes/테마이름'으로 변경하면 됩니다.

참고) 위 $viewPath의 테마이름에 cache('config.theme')->name 를 넣게 되면 스킨모듈의 뷰파일이 현재 사용자가 사용한다고 설정한 테마의 스킨으로 배포되게 됩니다.

 

테마는 Modules/모듈(테마)이름/Resources/views/layouts에 basic.blade.php로 레이아웃을 만드시면 됩니다.

이렇게 하면 사용자가 스킨모듈을 설치하고 관리자에서 사용으로 설정할 때,

해당 테마 속에 스킨파일로 배포가 되고 관리자의 스킨설정에서 설정할 수 있게 됩니다.

 

관리자의 테마관리에 테마 썸네일을 추가하시려면 Modules/모듈(테마)이름/Public/images/screenshot.png 로 넣어 주시면 됩니다.

 

테마를 구현하신 후 모듈 관리에서 테마 모듈이 사용 중인데 테마 관리에 나타나지 않는다면

모듈 관리에서 해당 테마 모듈을 선택하고 사용버튼을 클릭해 주시기 바랍니다.

애초에 테마모듈을 생성할 때 활성화상태인데,

활성화 중이라도 새롭게 구현 후에는 프로젝트에 배포해야 하기 때문입니다.

 

이미 프로젝트로 배포했는데 원본테마를 변경하게 된다면

Modules/모듈(테마)이름/Resources/ 아래 소스를 변경해주셔야 합니다.

배포된 테마 소스인 resources/themes/테마이름 아래를 고치게 된다면 원본 테마에는 영향을 주지 않게 됩니다.

 

 

댓글 4개
위 방법대로 하여서 모듈식 테마 추가에 성공하였습니다. 그런데 제가 이 테마에서만 사용가능한 프로그램 추가를 하려고 하면 모듈을 한개 더 추가해야 하나요?