웹마스터 팁
사이트맵에서 메뉴 생성할때 메뉴 추가 항목에 해당 모듈이 바로 연결되도록
2014.01.25 01:54
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, '모듈명');
}
좋은 팁이네요