RedPlus 개인 블로그

시삽: 레드플러스 님 
게시판 이동:
 제목 : 16. 사용자 정의 Content Type 만들기
글번호: 267
작성자: Administrator ( 레드플러스 / redplus@live.com )
작성일: 2011/06/11 오전 3:46:45 (2011/06/11 오전 3:46:45 수정)
조회수: 4218

 

소개

Orchard는 Content Type이라는 단위로 하나의 페이지를 구성합니다. 괜히 단어가 어려운데요… 기본 페이지(Page), 사용자 정의 Content Type, 리스트(List) 등의 단어들을 앞으로 몇 회에 걸쳐서 이해를 해 나가도록 하겠습니다.

 

절차 : 사용자 정의 Content Type 생성

1. [대시보드]-[컨텐츠 타입] 탭을 살펴보면 아래와 같이 Blog, Chapter, Comment 등의 많은 수의 Content Type이 존재합니다. 이는 각각의 모듈에서 적절하게 필요한 형태로 컨텐트를 입력하는 폼을 구성합니다. 가장 기본적인 컨텐트 타입은 페이지(Page)입니다. 이와 더블어 나만의 새로운 필드를 동적으로 하나 더 추가하는 페이지를 만들고자한다면, 이때에는 사용자 정의 Content Type을 생성해야 합니다. 아래 그림의 [새 타입 생성] 버튼을 클릭합니다.

image

 

2. 특정 일정에 대한 [주소]와 [날짜] 정보를 추가해서 페이지를 구성하기 위한 [Event]란 이름의 사용자 정의 컨텐츠 타입을 생성해 보도록 하겠습니다. 아래 그림과 같이 “Event”란 이름으로 [생성] 버튼을 눌러 생성합니다.

image

 

3. “Event”란 이름의 새로운 컨텐츠 타입을 생성한 후에는 해당 타입에 어떤 유형의 필드(데이터 입력 단위)를 입력할 것인지를 선택할 수 있습니다. 일단은 그대로 둔 후 [저장] 버튼을 눌러 빠져나갑니다.

image

 

4. 앞서 만든 Event 컨텐츠 타입은 필요에 의해서 언제든지 [컨텐츠] 메뉴에서 [편집] 링크를 클릭하여 수정할 수 있습니다.

image

 

5. [Event] 컨텐츠 타입에 [편집] 링크를눌러 편집 화면으로 돌아와서 추가적인 필드를 구성하도록 하겠습니다. 아래 그림의 [필드 추가] 버튼을 클릭합니다.

image

 

6. “Location”이란 이름으로 텍스트 값을 입력받는 필드를 추가하도록 하겠습니다. Orchard는 기본값으로 [필드타입] 항목에 “TextField” 값만을 갖습니다. [저장] 버튼을 클릭하여 하나의 필드를 추가합니다.

image

 

7. 이번에는 [Event] 형식에 추가적으로 날짜를 입력할 수 있는 필드를 구성하도록 하겠습니다. 이를 위해서는 온라인 갤러리로 이동해서 “DateTimeField”를 검색해서 [설치] 링크를 클릭하여 설치 및 활성화합니다.

image

 

8. 그런 후 다시 [컨텐츠] 메뉴로 돌아와서 [Event] 컨텐츠 타입의 편집 화면으로 돌아와서 [필드 추가] 메뉴를 클릭하여, 이번에는 필드타입을 DataTimeField로 선택 후 [저장] 버튼을 클릭하여 저장합니다.

image

 

9. 이런식으로 해서 [Event] 컨텐츠 타입에 2개의 필드인 Location과 Date를 추가하였습니다. 추가적으로 페이지(Page) 추가하는 것처럼 제목과 내용(Body)를 입력하고자 한다면, 아래에 있는 [파트]를 추가하면 됩니다. [파트 추가] 메뉴를 클릭합니다.

image

 

10. [Event] Content Type에 아래와 같이 5개 정도의 파트를 추가한후 [저장] 버튼을 클릭합니다.

image

 

11. 최종적으로 완성된 [Event]란 이름의 사용자 정의 Content Type를 나타냅니다. 2개의 필드와 5개의 파트가 추가되어 하나의 컨텐트 타입(Content Type)을 이룹니다. 이 컨텐트 타입은 하나의 페이지(Page)를 생성할 수 있습니다. 페이지/컨텐트/필드/파트 등의 단어가 계속적으로 많이 언급되기에 이러한 단어를 조금씩 이해를 하면 Orchard에 대한 이해가 편리해집니다.

image

 

12. [Event]란 이름의 사용자 정의 컨텐트 타입 생성 후 왼쪽 메뉴의 [Event] 메뉴가 생성되고, 이를 클릭하여 하나의 페이지(Page)와 동일하게 데이터를 입력합니다.

image

 

13. 페이지(Page)와 달리 사용자 정의 컨텐트 타입(Content Type)인 Event로 페이지를 작성하면 아래에 따로 추가한 필드인 Date와 Location 필드가 추가된 것을 알 수 있습니다. Location은 단순히 텍스트를 입력하는 것이고, Date 필드는 DataTimeField 형식으로 날짜를 선택해주는 대화상자를 사용하여 손쉽게 날짜값을 입력할 수 있습니다. Event가 작성되었으면 [지금발행] 버튼을 클릭하여 최종 출력합니다.

image

 

14. 메인 페이지로 돌아와서 [Event] 컨텐트 타입이 적용된 페이지를 클릭해보면 아래 그림과 같이 일반적인 제목과 내용 이외에 2개의 필드가 적용된 모습을 볼 수 있습니다. 각각의 필드가 보여지는 순서에 대한 변경은 다른 강좌에서 따로 다뤄드리도록 하겠습니다.

image

 

15. 아래 그림은 [컨텐츠] 메뉴에 속한 2개의 Content Type을 보여줍니다. 기장 기본이 페이지(Page) 그리고 이를 참고하여 새롭게 만든 사용자 정의 컨텐트 타입인 Event입니다.

image

 

 

결론

이렇게 해서 페이지와 다른 또 다른 컨텐트 타입을 만들어 보았습니다. 아직 몇 개의 개념이 더 남아있습니다.

그럼, 다음 강좌에서 뵙도록 하겠습니다.

 

끝.

 

 

참고 자료

 

 

관련글

 

본 강좌는 아래 경로에서 연재되고 있는 강좌입니다.

오픈소스 웹어플리케이션 사용자 Tip과 강좌 – OSSFair(http://www.sqler.com/OSS)

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 17. 리스트(List)로 Content Type 그룹화 - Administrator 2011-06-11 4366
현재글 16. 사용자 정의 Content Type 만들기 - Administrator 2011-06-11 4218
다음글 15. 새로운 나만의 테마(Theme) 만들기(자식 테마 만들기) - Administrator 2011-06-11 4099
관련 페이지 리스트
numtitlenamedateview
388 C 언어에서 값 전달과 참조 전달(Call By Value and Call By Re... Administrator 2023-03-09 1772
387 병합 알고리즘 순서도 2022-10-22 2646
386 C 언어 강의: scanf를 엔터키를 기준으로 여러 행으로 값을 입력 받기 Administrator 2022-01-09 3603
385 C 언어: scanf 사용해서 표준 입력인 콘솔로부터 나이를 정수로 입력 받아 출력 Administrator 2022-01-07 2600
384 Java 코드 샘플 - Function 인터페이스로 람다 식 만들기 Administrator 2022-01-04 2511
383 C# 코드 샘플 - 널 조건부 연산자 사용하기 Administrator 2022-01-02 2548
382 C# 코드 샘플 - 널 병합 연산자와 default 키워드 Administrator 2022-01-02 2477
381 C# 코드 샘플 - 널 병합 연산자로 문자열 변수의 NULL 값 확인하기 Administrator 2022-01-02 2391
380 C# 강의 - 14세 미만 체크 메서드 구현 Administrator 2022-01-01 2429
379 C 언어 천 단위 콤마 찍기 thousands_separator.c Administrator 2021-12-30 3268
378 for 문 순서도 - for 문(for loop) 순서도(flowchart) Administrator 2021-12-28 5284
377 C 언어 코드 샘플 - 전처리기 - 조건부 컴파일 Administrator 2021-12-27 2428
376 C 언어 코드 샘플 - 전처리기 - 매크로 함수 Administrator 2021-12-27 2429
375 http-server 설치하기 - 로컬 루프백 주소로 웹페이지 실행 2021-12-27 2448
374 C 언어 코드 샘플 - N명의 학생의 점수를 입력받아 1차원 배열에 저장 후 총점 구... Administrator 2021-12-27 2461
373 Java 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2377
372 C 언어 코드 샘플 - 두 수의 합을 구하는 함수 Administrator 2021-12-26 2403
371 C# 교과서 강좌 - LINQ - Select 확장 메서드에 익명 형식 사용하기 Administrator 2021-12-26 2471
370 C# 교과서 강의 - LINQ - Select 확장 메서드를 사용하여 새로운 형태로 ... Administrator 2021-12-26 2417
369 C 언어 코드 샘플 - static-shared - 정적(공유) 변수 사용하기 Administrator 2021-12-26 2444
 
 
 
손님 사용자 Anonymous (손님)
로그인 Home