소개
Orchard는 Content Type이라는 단위로 하나의 페이지를 구성합니다. 괜히 단어가 어려운데요… 기본 페이지(Page), 사용자 정의 Content Type, 리스트(List) 등의 단어들을 앞으로 몇 회에 걸쳐서 이해를 해 나가도록 하겠습니다.
절차 : 사용자 정의 Content Type 생성
1. [대시보드]-[컨텐츠 타입] 탭을 살펴보면 아래와 같이 Blog, Chapter, Comment 등의 많은 수의 Content Type이 존재합니다. 이는 각각의 모듈에서 적절하게 필요한 형태로 컨텐트를 입력하는 폼을 구성합니다. 가장 기본적인 컨텐트 타입은 페이지(Page)입니다. 이와 더블어 나만의 새로운 필드를 동적으로 하나 더 추가하는 페이지를 만들고자한다면, 이때에는 사용자 정의 Content Type을 생성해야 합니다. 아래 그림의 [새 타입 생성] 버튼을 클릭합니다.
2. 특정 일정에 대한 [주소]와 [날짜] 정보를 추가해서 페이지를 구성하기 위한 [Event]란 이름의 사용자 정의 컨텐츠 타입을 생성해 보도록 하겠습니다. 아래 그림과 같이 “Event”란 이름으로 [생성] 버튼을 눌러 생성합니다.
3. “Event”란 이름의 새로운 컨텐츠 타입을 생성한 후에는 해당 타입에 어떤 유형의 필드(데이터 입력 단위)를 입력할 것인지를 선택할 수 있습니다. 일단은 그대로 둔 후 [저장] 버튼을 눌러 빠져나갑니다.
4. 앞서 만든 Event 컨텐츠 타입은 필요에 의해서 언제든지 [컨텐츠] 메뉴에서 [편집] 링크를 클릭하여 수정할 수 있습니다.
5. [Event] 컨텐츠 타입에 [편집] 링크를눌러 편집 화면으로 돌아와서 추가적인 필드를 구성하도록 하겠습니다. 아래 그림의 [필드 추가] 버튼을 클릭합니다.
6. “Location”이란 이름으로 텍스트 값을 입력받는 필드를 추가하도록 하겠습니다. Orchard는 기본값으로 [필드타입] 항목에 “TextField” 값만을 갖습니다. [저장] 버튼을 클릭하여 하나의 필드를 추가합니다.
7. 이번에는 [Event] 형식에 추가적으로 날짜를 입력할 수 있는 필드를 구성하도록 하겠습니다. 이를 위해서는 온라인 갤러리로 이동해서 “DateTimeField”를 검색해서 [설치] 링크를 클릭하여 설치 및 활성화합니다.
8. 그런 후 다시 [컨텐츠] 메뉴로 돌아와서 [Event] 컨텐츠 타입의 편집 화면으로 돌아와서 [필드 추가] 메뉴를 클릭하여, 이번에는 필드타입을 DataTimeField로 선택 후 [저장] 버튼을 클릭하여 저장합니다.
9. 이런식으로 해서 [Event] 컨텐츠 타입에 2개의 필드인 Location과 Date를 추가하였습니다. 추가적으로 페이지(Page) 추가하는 것처럼 제목과 내용(Body)를 입력하고자 한다면, 아래에 있는 [파트]를 추가하면 됩니다. [파트 추가] 메뉴를 클릭합니다.
10. [Event] Content Type에 아래와 같이 5개 정도의 파트를 추가한후 [저장] 버튼을 클릭합니다.
11. 최종적으로 완성된 [Event]란 이름의 사용자 정의 Content Type를 나타냅니다. 2개의 필드와 5개의 파트가 추가되어 하나의 컨텐트 타입(Content Type)을 이룹니다. 이 컨텐트 타입은 하나의 페이지(Page)를 생성할 수 있습니다. 페이지/컨텐트/필드/파트 등의 단어가 계속적으로 많이 언급되기에 이러한 단어를 조금씩 이해를 하면 Orchard에 대한 이해가 편리해집니다.
12. [Event]란 이름의 사용자 정의 컨텐트 타입 생성 후 왼쪽 메뉴의 [Event] 메뉴가 생성되고, 이를 클릭하여 하나의 페이지(Page)와 동일하게 데이터를 입력합니다.
13. 페이지(Page)와 달리 사용자 정의 컨텐트 타입(Content Type)인 Event로 페이지를 작성하면 아래에 따로 추가한 필드인 Date와 Location 필드가 추가된 것을 알 수 있습니다. Location은 단순히 텍스트를 입력하는 것이고, Date 필드는 DataTimeField 형식으로 날짜를 선택해주는 대화상자를 사용하여 손쉽게 날짜값을 입력할 수 있습니다. Event가 작성되었으면 [지금발행] 버튼을 클릭하여 최종 출력합니다.
14. 메인 페이지로 돌아와서 [Event] 컨텐트 타입이 적용된 페이지를 클릭해보면 아래 그림과 같이 일반적인 제목과 내용 이외에 2개의 필드가 적용된 모습을 볼 수 있습니다. 각각의 필드가 보여지는 순서에 대한 변경은 다른 강좌에서 따로 다뤄드리도록 하겠습니다.
15. 아래 그림은 [컨텐츠] 메뉴에 속한 2개의 Content Type을 보여줍니다. 기장 기본이 페이지(Page) 그리고 이를 참고하여 새롭게 만든 사용자 정의 컨텐트 타입인 Event입니다.
결론
이렇게 해서 페이지와 다른 또 다른 컨텐트 타입을 만들어 보았습니다. 아직 몇 개의 개념이 더 남아있습니다.
그럼, 다음 강좌에서 뵙도록 하겠습니다.
끝.
참고 자료
관련글
본 강좌는 아래 경로에서 연재되고 있는 강좌입니다.
오픈소스 웹어플리케이션 사용자 Tip과 강좌 – OSSFair(http://www.sqler.com/OSS)