컨텐츠 종류별로 입력 형식(Input Filter)의 기본값(Default)를 설정하려면...
제목 : 컨텐츠 종류별로 입력 형식(Input Filter)의 기본값(Default)를 설정하려면...
생각보다 어렵다.
(수정 : 제일 나은 것은 Default Filter 모듈이다)
(재수정 : 제일 나은 것은 Better Formats 모듈이다. 본 글의 댓글에 상세 기록이 있다.)
(주의 : Default Filter와 Filter Default는 다른 모듈이다)
관리자 > 사이트 설정 > 입력 형식 메뉴에서, 아무리 둘러 봐도 컨텐츠별로 기본(Default) 입력 형식을 설정하는 것은 없다. 모든 사용자와 모든 컨텐츠가 동시에 하나의 Default 입력 형식을 가지는 수 밖에 없다.
이 불편함을 해결하려면(완벽한 해결책은 아니다),
1. Filter Default 라는 모듈 ( http://drupal.org/project/filter_default ) 을 설치해서,
관리자 > 사이트 설정 > 입력 형식에서 "Default" 항목의 탭을 선택하면, 사용자 그룹별로 기본 입력 형식을 선택할 수 있다.
2. 관리자 > 사용자 관리 > 역할 만들기에서 "새로운 그룹"을 만든다.
3. 기본적인 입력 형태를 컨텐츠 별로 지정하는 대신, 1번에서 설명한 기능으로, 사용자 그룹별로 기본적인 Default Input Filter를 지정할 수 있다.
또다른 방법으로는,
Filter by node type 모듈 ( http://drupal.org/project/filterbynodetype ) 를 설치한 후, 모듈별 관리 메뉴에서 Filter by node type 항목을 선택, 각 컨텐츠별로 입력 형식을 지정해 줄 수 있다.
하지만! 이 방법은, Default Input Filter를 지정하는 것이 아닌, 컨텐츠별로 입력이 가능한 입력 형식의 On/Off를 결정하는 것이다.
아래의 Default Filter이 제일 무난했다.
--------- 수정 : 2008.02 -----------
아래의 Default Filter 모듈이 정확히 원하는 기능을 수행한다.
http://drupal.org/project/default_filter
Default Filter 라는 모듈을 설치/활성화해서,
관리자 > 사이트 환경설정 > Default Filter Settings에서
사용자 그룹별로, 노드 타입별로 기본 입력 형식을 선택할 수 있다.
주의) 관리자(최초 유저)로 로그인한 상태에서 이를 적용하면 작동하지 않는 것처럼 보인다. 이는 관리자가 어떠한 유저 그룹에도 포함되어 있지 않기 때문이다. 이를 해결하려면, admin이라는 사용자 그룹을 하나 생성하고, 관리자를 그 그룹에 소속시킨 다음, 다시 Default Filter Settings에서 적용해 보면 관리자에서도 특정 노드에 대해서 디폴트 필터가 잘 정의돼 있다.
주의) 가입 유저(Authenticated user)도 최초에는 이 모듈이 잘 적용되지 않는 것처럼 보이지만, 이는 권한 문제이므로 admin/user/access 페이지에서, Node 모듈부분의 권한들에서 해당 노드타입으로의 쓰기 권한이나 노드 접근 권한을 가입 유저들에게도 배당해야 한다. 이렇게 하면 디폴트 필터 설정이 잘된다.
주의) 프로그래밍에 의한 자동 노드생성시에는 이것이 잘 작동하지 않을 수도 있다(예:FeedAPI를 이용한 피이드 아이템을 노드화할 때, 디폴트 필터가 잘 안먹는다, 2008년 2월 기준).
주의) Filter Default 모듈과 이름이 헛갈린다. 하지만 다른 모듈이다.
--------- 수정 : 2009.01 -----------
위 모든 문제를 해결한 필터 모듈이 나왔네요.
아직 6.x대만 지원하고 2009년 1월 기준으로 베타판입니다만 나왔다는 자체가 어딥니까.
Better Formats 모듈 - http://drupal.org/project/better_formats
원했던 기능 이외에도 역할이 다양하네요.
* Set the default format per role.
* Set the default format per content type.
* Control allowed formats per content type.
* Hide format tips.
* Hide more format tips link.
* Hide format selection, forcing the default to be used.
* Expand the selection fieldset by default.
* Disable the expand/collapse of the selection fieldset.
* Set selection fieldset title.
* Set more format tips link text.
* Set default formats for nodes and comments separately.
* Sensible defaults and fail overs for ease of use.
* Works with CCK textareas.
사용법이 다소 까다롭습니다. 2009년 01월 28일 댓글에 상세 기록해 둡니다.
Default Filter 모듈을 테스트해 봤습니다만,
뭔가 이상하네요. 새로 만든 컨텐츠 타입의
디폴트 필터로 Full HTML을 지정해 두었습니다만,
현재 오작동합니다. 안타깝군요.
Default Filter 모듈이 잘 작동하도록 했습니다.
요령이 다소 필요했습니다(권한 설정).
위 본문에 수정 반영해 두었습니다.
이 건에 관한 해결은 드루팔 버전7에서 이룰 가능성이 있어 보입니다. 아래 글에 오랜 시간동안 논의가 진행되고 있구요. 몇몇 예제 인터페이스 이미지도 있네요.
http://drupal.org/node/11218
* 개선된 필터 설정 인터페이스 이미지 :
http://www.asitis.org/tmp/input_formats-per-role.png
위 모든 문제를 해결한 필터 모듈이 나왔네요.
아직 6.x대만 지원하고 2009년 1월 기준으로 베타판입니다만 나왔다는 자체가 어딥니까.
Better Formats 모듈 - http://drupal.org/project/better_formats
원했던 기능 이외에도 역할이 다양하네요.
* Set the default format per role.
* Set the default format per content type.
* Control allowed formats per content type.
* Hide format tips.
* Hide more format tips link.
* Hide format selection, forcing the default to be used.
* Expand the selection fieldset by default.
* Disable the expand/collapse of the selection fieldset.
* Set selection fieldset title.
* Set more format tips link text.
* Set default formats for nodes and comments separately.
* Sensible defaults and fail overs for ease of use.
* Works with CCK textareas.
위 Better Formats 모듈의 사용법이 조금 까다롭네요.
관리자로 로그인후 모듈을 설치/활성화한 후,
admin/settings/filters/settings 에 가서,
(메뉴로는 관리 > 사이트 환경설정 > 입력 형식의 환경설정 탭이다)
Control 항목의 Control formats per node type 을 체크/저장한다.
그런 다음, admin/content/types 에 있는 해당 컨텐츠 타입을 [편집],
Input format settings 항목에 있는
Allowed formats: 를 원하는 필터로 설정해 주면
그 다음부터 해당 컨텐츠 타입으로 생성할 때마다 Allowed formats 에서
지정한 입력 필터 형태로 본문이 저장된다.