컨트롤러 튜닝 방법
개발 가이드를 준수하지 않아 발생하는 모든 문제는 전적으로 이용자에게 책임이 있습니다!
📌 Controller 제공 절대상수
PATH_DATA
데이터 폴더의 경로 /data/
PATH_ADMIN_SKIN
관리자 스킨의 경로 /admin/
PATH_ADMIN_GD_SHARE
관리자 공통 리소스 경로 /admin/gd_share/
PATH_SKIN
프론트에 적용된 라이브 스킨의 경로 /data/skin/front/[스킨명]/
PATH_SKIN_WORK
프론트에 적용된 작업 스킨의 경로 /data/skin/front/[스킨명]/
PATH_MOBILE_SKIN
모바일에 적용된 라이브 스킨의 경로 /data/skin/front/[스킨명]/
PATH_MOBILE_SKIN_WORK
모바일에 적용된 작업 스킨의 경로 /data/skin/front/[스킨명]/
USERPATH_SKIN
/data/skin/front/[스킨명]/
USERPATH_SKIN_ADMIN
/admin/
USERPATH_SKIN_MOBILE
/data/skin/mobile/[스킨명]/
URI_HOME
현재 도메인 링크 http://example.godomall.com/
URI_SHARE
현재 도메인의 share 링크 http://example.godomall.com/share/
URI_ADMIN
관리자 도메인 http://gdadmin.example.godomall.com/
URI_PROVIDER
공급사 관리자 도메인 http://gdadmin.example.godomall.com/provider/
URI_MOBILE
모바일 도메인 http://m.example.godomall.com/
URI_API
API 도메인 http://api.example.godomall.com/
📌 Controller 제공 메소드
download
$path
의 파일을$newFile
이라는 이름으로 다운로드를 실시합니다.
json
$data
가 비어있는 경우Controller
내data
를json
으로 변경하고$data
가 있는 경우json
을 출력하고exit
처리됩니다.
streamedDownload
$path
로index()
에 출력하는 모든 버퍼를 파일로 저장합니다.
redirect
페이지를 특정 URI로 이동시킵니다. 일반적으로 동일한 프레임에서 작동하며 iframe이 타겟인 경우는 사용하시면 안됩니다.
alert
Alert 창을 출력하며 출력 후
exit
처리됩니다.
js
$script
텍스트로 사용자 정의 스크립트를 작성하실 수 있습니다.
layer
관리자 컨트롤러에서만 사용할 수 있습니다.
레이어를 출력할 수 있으며, 레이어 출력이후 레이어를 닫으면 페이지가 새로고침 됩니다.
layerNotReload
관리자 컨트롤러에서만 사용할 수 있습니다.
레이어를 출력할 수 있으며, 레이어 출력이후 레이어를 닫아도 페이지가 새로고침 되지 않습니다.
addMeta
스킨의 헤더에 메타태그를 추가할 수 있습니다.
front
와mobile
에서만 사용가능하며admin
에서는 사용할 수 없습니다.
addCss
스타일시트의 경로를 배열로 받아서 스킨 상단에 출력합니다.
$isShare
를true
로 하는 경우/data/assets
에 있는 공유 리소스를 사용하실 수 있습니다.
addScript
스크립트의 경로를 Array로 받아서 스킨 상/하단에 출력합니다. (ex.
['common.js', 'common2.js']
)경로는
/data/[skin path]/js
에 있는 공유 리소스를 사용하실 수 있습니다.
$isShare
를true
로 하는 경우/data/assets
에 있는 공유 리소스를 사용하실 수 있습니다.$isFooter
를true로 하는 경우 스킨내
{footerScript}
치환코드로 반환합니다.false인 경우 스킨내
{headerScript}
치환코드로 반환합니다.
callMenu
관리자 메뉴 데이터를 생성합니다.
관리자 메뉴를 새로 추가할 경우, 추가할 메뉴 페이지에 해당되는 컨트롤러 내에서 해당 함수를 호출합니다.
es_adminMenu
테이블에 추가할 메뉴 데이터를insert
한 후에 1차 메뉴($topMenu
), 2차 메뉴($midMenu
), 3차 메뉴($thisMenu
) 파라미터 대로 메소드를 호출합니다.
📌 사용자 정의 Controller 기본 메소드
고도몰에서는 기본적으로 3개의 사용자 정의 Method를 제공합니다.
Method 종류
pre()
시스템 전 처리기
interceptor
의 실행 직전에 실행됩니다.
index()
사용자가 처리할 내용을 작성할 수 있습니다.
post()
시스템 후 처리기
interceptor
의 실행 직후에 실행됩니다.
실제 코드 확인하시고 아래와 같이 사용하시면 됩니다.
📌 전역으로 사용할 수 있는 사용자 정의 Controller
모든 페이지에 공통으로 적용할 수 있는 사용자 정의 컨트롤러를 생성할 수 있습니다.
프론트는
module\Controller\Front
경로에CommonController
클래스를 생성해 주신 후 아래와 같이 사용하시면 됩니다.
모바일은
module\Controller\Mobile
경로에CommonController
클래스를 생성해 주신 후 아래와 같이 사용하시면 됩니다.
📌 Api 사용자 정의 Controller
Api 통신이 가능한 사용자 정의 컨트롤러를 생성할 수 있습니다.
module/Controller/Api
경로에서 사용하시면 됩니다. 만약 디렉토리가 없다면 생성하고chmod 707
변경 필수Front/Mobile
튜닝과 동일한 방법으로Controller
생성생성 예시
경로:
module/Controller/Api/Load/GetApiController.php
링크:
api.{상점도메인}/load/get_api.php
Last updated
Was this helpful?