소개
Orchard에서 하나의 페이지를 구성하는 방법은 페이지(Page)와 레이어(Layer) 그리고 위젯(Widget)으로 구성됩니다. 추가적으로 하나의 페이지에 들어가는 하나의 콘텐트를 콘텐트 아이템으로 설정한 후 이를 묶어서 여러 개의 콘텐트를 리스트라고 표현을 합니다. 이러한 리스트를 구성해서 하나의 페이지에 여러개의 콘텐트 아이템을 두어서 목록 형태로 표현할 때 사용하는 리스트에 대한 설정을 Orchard 대시보드에서 진행하는 방법을 살펴보도록 하겠습니다.
절차
1. Orchard 대시보드로 접속 후 왼쪽 메뉴의 [새로 만들기]-[List]를 클릭하면, 아래 그림과 같이 처음에는 “컨테이너 파트에 연결할 컨텐츠가 없습니다.”와 같은 메시지를 살펴볼 수 있습니다. 아직 리스트에 등록할 [컨텐트 타입]이 만들어지지 않아서 나타나는 경고 메시지입니다.
2. 리스트에 사용할 콘텐츠 타입을 생성하기 위해서 [대시보드]-[컨텐츠]-[컨텐츠 타입] 탭-[새 타입 생성] 버튼을 클릭합니다.
3. 아래 그림과 같이 [Lecture Review]라는 이름의 컨텐츠 타입을 생성합니다. 이는 하나의 컨텐츠 타입을 만들고, 이를 묶어서 관리할 [LectureReviews]라는 복수형 이름으로 리스트를 하나 더 만들 때 사용할 예정입니다.
4. [Lecture Review] 컨텐츠 타입 생성시에 앞서 강좌에서 살펴본 Event와 같은 단일 컨텐츠 타입과 달리 리스트에 포함될 컨텐츠 타입은 반드시 아래 그림처럼 Common 항목과 Containable 항목을 체크해야 합니다. 기타 사항은 아래 그림처럼 체크하면 됩니다. 항목 체크 후 [저장] 버튼을 눌러 [LectureReview]란 이름의 새로운 컨텐츠 타입을 생성합니다.
5. 위에서 만든 [Lecture Review] 컨텐츠 타입에 Website 필드를 하나 더 추가합니다.
6. 다시 대시보드로 돌아온 후 [List] 메뉴를 클릭하면 이제 정상적으로 [List 생성] 화면이 열리고, 아래 그림과 같이 포함 항목 드롭다운리스트에 앞서 만든 [Lecture Rview] 컨텐츠 타입을 포함하는 리스트를 생성할 수 있습니다.
7. 아래 그림과 같이 [Lecture Review] 컨텐트 타입을 묶어서 리스트 형식으로 관리해주는 [Lecture Reviews] 리스트를 생성한 후 [저장] 버튼을 눌러 메인 페이지에 [Lecture Reviews]라는 메뉴에 포함되도록 설정합니다.
8. [Lecture Reviews]가 생성된 후 보여지는 관리 페이지에서는 각 리스트에 포함될 콘텐트를 추가하는 메뉴가 나타납니다. 흔히 우리가 사용하는 게시판의 하나의 아이템(콘텐트 아이템)을 묶어서 게시판이라는 리스트로 표현하는 것과 동일합니다.
9. 리스트에 포함될 각각의 [Lecture Review] 콘텐트 아이템을 제목과 내용을 기준으로 3개 정도 생성합니다. 이때 아래 그림과 같이 [추가] 드롭다운리스트에서 어느 리스트에 포함될 콘텐트 아이템인지를 반드시 지정합니다.
10. 아래 그림은 필자가 인위적으로 [Lecture Reviews] 리스트에 [Lecture Review] 형태의 콘텐트 아이템을 3개 정도 추가한 후의 모습을 나타냅니다.
11. 아래 그림은 [대시보드]-[List] 메뉴에서 현재 등록된 리스트를 나타냅니다. 포함된 항목들에서 각각의 항목을 볼 수 있으며, 편집 버튼을 눌러서 List에 대한 편집을 진행할 수 있습니다.
12. 메인 웹 사이트로 돌아와서 [Lecture Reviews] 메뉴에 3가지의 [Lecture Review] Content Type을 갖는 3개의 항목을 보실 수 있습니다.
13. 이처럼 Orchard에서 사용하는 Content Type은 상당히 여러가지 모습으로 보여집니다. 가장 기본은 뭐니뭐니해도 Page가 되겠구요. 그 다음은 Page와 비슷하지만, 사용자가 정의한 콘텐츠 타입(아래 그림에서는 Event와 Lecture Review), 다음은 이러한 각각의 Content Type 중에서 Containerable 속성이 포함된 개체를 묶어서 관리해주는 List가 있습니다.
결론
자, 이로써 Orchard에서 제공하는 주요 개체에 대한 설명은 다 끝났습니다. 필자가 Orchard에 대한 연구(?)를 시작하면서 제일 처음에 이해하기 어려웠던 단어들이 바로 이번 시간까지 진행한, Page, Layer, Widget, Content Type, List 등의 개념입니다.
이번 시간까지의 내용을 다시금 돌이켜보면 이러한 단어의 의미와 사용처를 잘 이해하리라 믿습니다.
웹 사이트를 만들 때 무턱대고 처음부터 모든 것을 만드는 게 아닌 기존에 있었던 개념(레이어 단위, 위젯 단위)을 적절히 활용하면 생산성 및 페이지 작성의 암묵적인 표준화 작업이 이루어지지 않을까 합니다.
이번 강좌는 여기까지입니다…
끝.
참고 자료
관련글
본 강좌는 아래 경로에서 연재되고 있는 강좌입니다.
오픈소스 웹어플리케이션 사용자 Tip과 강좌 – OSSFair(http://www.sqler.com/OSS)