웹마스터 팁

http://www.xpressengine.com/qna/22575426   질문을 위해 작성한 팁입니다.

원문 출처 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=98193

 

 

---------------------------------------------------------

 

 

이 팁은 모듈 제작자들을 위한 팁이 될텐데...

XE 1.7 에서부터는
사이트맵에서 메뉴 생성할때. '메뉴 추가'항목에 해당 모듈이 바로 연결되도록 모듈 자체에서 지원을 해줘야할때가 있다

이 메뉴추가로 연결되는게 관리자창에서 자동으로 하는게 아니고, 트리거를 모듈 자체에서 연결해줘야한다.
그런데 이에 대한 안내문이 없어서, 처음에 이를 제대로 활용 못하고. 그냥 바로가기 형태로 링크를 거는 경우가 많다 ^^

특정 모듈을 메뉴추가 쪽에 연결하는 방법을 설명드리면..
(물론 이렇게 연결한 경우, mid 기반으로 생성하는 기능이 내부에 있어야한다)


생성한 모듈을 메뉴 추가시 추가가 되도록



1. 모듈/모듈.class.php 에서

1) function checkup() 함수에 추가

if(!$oModuleModel->getTrigger('menu.getModuleListInSitemap', '모듈명', 'model', 'triggerModuleListInSitemap', 'after')) return true;

2) function moudleUpdate() 함수에 추가

if(!$oModuleModel->getTrigger('menu.getModuleListInSitemap', '모듈명', 'model', 'triggerModuleListInSitemap', 'after'))
$oModuleController->insertTrigger('menu.getModuleListInSitemap', '모듈명', 'model', 'triggerModuleListInSitemap', 'after');

 

2. 모듈/모듈.model.php 에 함수 하나 추가

function triggerModuleListInSitemap(&$obj)
{
array_push($obj, '모듈명');
}