붉은거위 노트 (redgoose note)

XE CAMP 2011

Nest
Blog
Category
Review
Hit
380
Star
0

XE소개 및 오픈소스 참여방법

xe는 이슈트래커(구글코드)를 통해서 xe제안을 해줄 수 있다.
1.5에서 생긴 테마는 레이아웃이나 로그인, 게시판 스킨을 한폴더에 들어가서 일관성있게 수정할 수 있게 한다.
xeMarket은 큐브리드라는 회사에서 만든 사이트라고 한다. nhn과 독립적이라고 함.

xe1.5

관리자 모바일 지원
사이트맵 - 메뉴만을 구성하는 것 뿐만 아니라 모듈 선택을 하고, 간편하게 세팅 가능함.
테마 - 스킨세트를 한꺼번에 적용할 수 있고, 스킨 패키지를 만들 수 있다.

XE마켓

xe개발자들이 자원봉사차원으로 프로그램을 만드는데 이에 대하여 탈피하고자 xeMarket를 만들게 되었다.
해외에는 유료 템플릿 마켓이 활성화 되어있다. (워드프레스... 등등)
누구나 템플릿이나 프로그램을 사고 팔 수 있는 공간.
셀러와 큐브리드간 수익 배분 (7:3으로 배분)

사업자 셀러는 통신판매업신고를 해야함.
개인셀러 : 반기매출 600만원 이하

저작권 보호 : 구매시 라이센스 도메인 등록으로 저작권 보호된다.

개인사이트와 xeMarket에서 동시에 판매도 가능하지만, 가격차가 나지 않는걸 원한다고 한다.

XE를 활용한 웹 사이트 구축

모듈은 하나의 역할을 담당하는 프로그램
데모 중간에 Contact us 모듈 설치하는것을 보여주는데 모듈 뜯어보는데 도움이 될듯하다.
메뉴를 생성하면서 바로 모듈 생성이나 모듈 선택이 가능함.
메뉴생성으로 만들어진 모듈이 아니라면 설치된 모듈쪽에서 별도로 모듈을 생성할 수 있다. 그리고 메뉴 설정에서 모듈선택으로 만들어진 모듈을 선택한다.
위젯 스타일로 최근글같은곳 제목을 넣을 수 있다. 별도로 박스를 추가할 필요가 없을거 같다. (메인페이지 꾸밀때 상당히 유용할듯...)

XE 스킨 제작 가이드

  • 위젯 : 로그인 상태, 게시물 출력하는 등 작은 프로그램 조각
  • 위젯 스킨 : 위젯의 내용을 꾸며준다.
  • 위젯 스타일 : 위젯의 구조를 꾸미는 디자인. 위젯 스킨과는 다르다. 예) 최근게시물의 제목을 넣을 수 있다. 그리고 위젯의 테두리를 만들 수 있는 역할을 한다.

템플릿 문법 설명된 사이트 주소 : http://me2.do/xtbTG6

템플릿 문법

변수

{$valueName}
{@ $valueName = 'a'; }
{func($varname)} // 함수사용

html주석형식

<!--@if ($varName)--> <!--@end-->
<!--//출력시 숨겨지는 주석-->`

dom형식

// 조건문
<div cond="$varName">{$varName}</div>
<strong class="{$class}"|cond="$class">Hello</strong> // 태그속에 들어가는 조건문

// 반복문
<li loop="$list=>$item">{$item}</li>

// 외부파일 로드 (경로가 xe에 맞춰 변환되기 때문에 스킨을 만든 장소 기준으로 경로 잡는다.)
<load target="sample.css" />
<load target="sample.js" />

XE모듈 제작 가이드

동작구조

index.php에서 시작으로 모듈이 동작된다.

컨텍스트 초기화 -> 모듈핸들러 초기화(에드온,트리거 비포) -> 프록모듈(실제모듈)(에드온,트리거 애프터) -> 켄텐츠 출력 -> html result

Memo모듈 제작

필요한 기능 : 쓰기,읽기, 수정, 삭제, 목록

모듈 파일 및 디렉토리 구조

  • cont 모듈 정보
  • lang 언어
  • queries db에 정보를 넘기는 기능
  • ruleset
  • schemas 디비 테이블 구조
  • skins 스킨들
  • tpl 관리자단의 ui
  • memo.클래스, 컨트롤러, 모델, 뷰 파일들...

module.xml

actions부분은 url담당이라 중요함.

memo.class.php

4가지 메서드로 돌아감. 설치와 업데이트에 관한 부분임.
테이블 업데이트를 체크하고 테이블 내용을 수정할 수 있다.

memo.view.php

기본적으로 실행해야하는 부분에 관한것들이 있다. 생성자(init)

memo.controller.php

문서에서 요청을 받으면 수정,삭제같은 것들을 처리한다.

프로세스

주소 -> 컨텍스트 -> 모듈핸들러 -> memo.view.php -> 메서드 -> memo_view.html

메모쓰기

밸리게이터 (오류체크 소스부분)
메모 서브밋 -> 컨트롤러 처리
수정 삭제는 컨트롤러에서 처리

메모목록

뷰 -> 모델에 호출 -> 데이터베이스 -> 모델에서 데이터받음 -> 뷰로 자료 던져줌 -> 컨텍스트셋 -> html출력

Context::set 데이터를 변수명으로 지정할 수 있다.

메모읽기

메모목록과 비슷한 흐름으로 이루어진다.
Context:get 데이터를 변수명으로 가져온다.

참고 주소

http://code.google.com/p/xe-core