일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 워뇨띠
- pycharm
- Mac
- php
- timezone
- 정기결제
- 윈도우7
- MSSQL
- 리눅스
- 황교안
- MySQL
- 줄번호
- Bybit
- 윈도우10
- 워드프레스
- sublime text
- Bitcoin
- 안드로이드 스튜디오
- 단축키
- XE
- Android Studio
- Python
- 제4이동통신
- 서브라임텍스트
- 테마주
- windows10
- phpstorm
- Linux
- 검색
- JavaScript
- Today
- Total
OVERCODE
xe 메뉴 추가에 내가 만든 모듈 나오게 하기, xe 사이트메뉴에 module 추가 본문
모듈을 만들고 사이트 메뉴 편집에서 모듈을 메뉴에 추가하려고 하면 모듈이 메뉴 추가 목록에 없을겁니다.
트리거에 추가된 모듈만 리스트에 불러오기 때문인데요.
메뉴 추가 목록에 모듈이 나오게 트리거에 추가하는 방법을 알아보겠습니다.
사이트 메뉴 편집 → 메뉴 추가에 내가 만든 모듈 나오게 하는 방법
사용자가 만든 모듈의 디렉토리로 이동하면 아마 위와 같은 파일들을 만드셨을겁니다.
여기서 수정할 파일은 모듈명.clsss.php 와 모듈명.model.php 입니다.
모듈명.class.php 수정
function checkUpdate() {
$oModuleModel = getModel('module');
if(!$oModuleModel->getTrigger('menu.getModuleListInSitemap', '모듈명', 'model', 'triggerModuleListInSitemap', 'after')) return true;
return false;
}
function moduleUpdate() {
$oModuleModel = getModel('module');
$oModuleController = getController('module');
if(!$oModuleModel->getTrigger('menu.getModuleListInSitemap', '모듈명', 'model', 'triggerModuleListInSitemap', 'after'))
{
$oModuleController->insertTrigger('menu.getModuleListInSitemap', '모듈명', 'model', 'triggerModuleListInSitemap', 'after');
}
return new Object(0, 'success_updated');
}
checkUpdate() 와 moduleUpdate() 에 위와 같이 추가해줍니다.
checkUpdate() 에서 트리거가 있는지 체크를 하여 없다면 xe관리자에서 모듈을 업데이트 하겠냐는 창이 뜹니다.
거기서 업데이트를 하겠다고 누르면 moduleUpdate() 가 실행됩니다.
moduleUpdate() 에서 역시 트리거가 없으면 트리거를 추가하는 코드가 있네요.
모듈명.model.php 수정
function triggerModuleListInSitemap(&$obj){
array_push($obj,'모듈명');
}
menu.getModuleListInSitemap 트리거가 호출되고 난후에 실행되는 함수에 array_push() 를 추가하는 부분입니다.
이제 수정할 부분은 마쳤습니다.
이제 XE Admin 으로 가면 모듈 업데이트가 떴을겁니다. 업데이트 해주면 Trigger 에 추가가 됩니다.
그러면 위와 같이 메뉴 추가에 내가 만든 모듈이 등록이 되어있을 겁니다.
저기에 나오는 모듈명과 Description 을 바꾸려면 info.xml 의 title 과 description 을 수정하시면 됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<module version="0.2">
<title xml:lang="ko">Module</title>
<description xml:lang="ko">Module Description</description>
<version>0.1</version>
<date>2016-02-22</date>
<category>service</category>
<author email_address="overcode@overcode.co.kr" link="http://overcode.co.kr">
<name xml:lang="ko">overcode</name>
</author>
</module>
'프로그래밍 > XE' 카테고리의 다른 글
XE3 게시판에 순번 추가하기 (Laravel Eloquent Result 순번 추가) (0) | 2021.03.16 |
---|---|
XE 작업내용이 반영되지 않아 매번 캐쉬 재생성을 실행해야 할 때 (0) | 2017.09.26 |
XE 짧은 주소가 안될때(httpd.conf 설정) (0) | 2016.01.16 |
xe 기본 에디터에 한글 폰트 추가 (0) | 2015.10.08 |
xe 확장변수 eid로 정렬하기 (2) | 2015.10.08 |