6.x 버전대

상세 검색시 특정 카테고리를 복수 선택하는 편한 방법 - Custom Search 모듈

상세 검색시 특정 카테고리를 복수 선택하는 편한 방법 - Custom Search 모듈

드루팔의 기본 Search 모듈은 무난한 편이지만, 몇몇 아쉬운 점이 있다.

그 중 한 문제가, 카테고리(Taxonomy)가 아주 많이 분화된 드루팔 사이트의 경우,
상세 검색 Advanced Search를 눌렀을 때, 카테고리를 선택하는 창이 굉장히 불편하다.
특히 선택창에서 특정 텀즈를 복수개 선택해야 하는 경우에는 컨트롤키를 누르면서 조작하는데,
텀즈 갯수가 많은 경우에는 스크롤하면서 컨트롤키를 누르는게 여간 번거로운게 아니다.

그래서 찾아보았다. "상세 검색창의 카테고리들을 체크박스 형태로 바꿔 주는 모듈이 있는지"를.

아래 후보들 중에, 본 문제해결에 제일 알맞은 것은 3번 Custom Search 모듈이었다.

1. Search Config 모듈 : http://drupal.org/project/search_config

팔팔.오알지의 다른 글(http://palpal.org/node/402)에서도 아주 짧게 소개됐었다.

Search Config 은 생각보다 강력하지 않은 것 같다. 매뉴얼에는 상세 검색의 카테고리를 체크박스 형태로 보여준다고 돼 있는데... 그런 기능이 없는 것 같다.
관리자 로그인후, admin/settings/search에 추가된 Search Config 관련 설정 화면을 보면, 상세 검색에서 디폴트로 조정가능한 항목이 보이는데 안타깝게도 카테고리를 체크박스로 보여주는 설정은 없다.

아직 저장하지 않았는데 쓰던 글 날려버렸어.... 드루팔 Autosave 모듈로 예방하자

웹 화면에서 바로 글을 작성하는 것은 편한 점, 나쁜 점이 있다.

나쁜 점 중 하나는, 폼에 많은 글을 작성하던 도중에 날려먹는 문제다.

문제의 패턴에 빈번한 예가 아래 세 가지로,
1. 쓰는 도중에 브라우저가 확 죽어버리거나 멈추는 현상. (특정 스크립트 등에 의해)
2. 쓰는 도중에 백 버튼이나 여타 링크를 눌러버림, 돌아와 보니 쓰던 글 사라짐.
3. 다 쓰고 저장 버튼을 눌렀는데, 로그인 풀림이나 인증 문제 등으로 이상 발생.

얼마나 애를 많이 먹었는지, 예전에 우리나라의 모-보드는 이런 문제를 원본소스 수정한 팁으로, 글 쓰는 중간중간 혹은 저장버튼 누를 때 클립보드에 자동(Ctrl+C)으로 저장되도록 하는 방법을 사용했었다.

위 문제들의 근본적으로 피하려면, 가능한 로컬 상 (잘 죽지 않는) 메모장 등에서 글을 작성하고 수시로 저장하며, 다 쓰고 나서 복사/붙여넣기로 웹 화면에 글을 투고하는 방법이 있지만, 으--- 귀찮다.

드루팔을 주력으로 사용하는 드루지기들도 위 문제를 몇 번 당하다가, 짬을 내서 해결책을 찾아보았다.

결론부터 말하자면, 다소 많은 방법들이 있는 것 같았지만 복잡해 보였고, 딱 원하는 기능은 없어보였다. 그 중에서도 Autosave 모듈이 제일 무난한 것 같아 소개한다.

http://drupal.org/project/autosave

설치/사용법 (아래는 전부 관리자로 로그인한 상태에서 실행)


1. 모듈을 다운로드해 설치, 관리자에서 활성화한다.

노드들을 특정 순서로 배열하고 싶은 경우 (특히, Drag and Drop 방식으로)

노드들을 특정 순서로 배열하고 싶은 경우 (특히, Drag and Drop 방식으로)

한 프로젝트에서 "복수의 노드들을 이용해서 순서를 가진 시리즈물(책 형태?)"을 만들 일이 생겼다.

본디 드루지기들은 드루팔의 북(이하 책) 기능을 싫어해서 어지간해서 사용하지 않았는데,
요즘은 어떤가 싶어 새로이 살펴보니, 예전에 그 불편했던 책 컨텐츠 설정 방식이 아니었다. 아직도 아주 편한 상황은 아니지만 이제는 도입해 볼 만큼 자유도도 높고 여타 기능과의 호환성이 좋아진 것 같다.

아래 영문 자료를 보고, 괜찮은 노드 배열 모듈들을 조사해 보았다.
하지만 (게으른 탓에) 쓰기 편한 2가지만을 골라 기록해 둔다.

Comparison of Node Ordering Modules (아주 좋은 자료)
http://drupal.org/node/398508

우선 아래 드래그블뷰 모듈!

http://drupal.org/project/draggableviews
첫 설정이 약간 까다롭지만 튼실해 보인다.
인스톨 및 설정은 README.txt 파일을 참고하면 된다.

기억나는 대로 기록해 두자면,


1. 드래그블뷰 모듈 설치/활성화
2. 뷰 하나를 준비. (이하 해당뷰)
3. 해당뷰의 필드에 DraggableViews: 나열순 항목을 추가한다.
4. 해당뷰의 Sort criteria에 DraggableViews: 나열순 항목을 추가한다.
5. 해당뷰의 Style을 드래그블 테이블로 바꾼다.

Content Taxonomy와 Active Tags Popular의 동시사용은 요원한가?

컨텐츠 택소노미(Taxonomy, 분류학이라는 의미)는
컨텐츠 타입의 특정 필드를 Vocabulary로 치환 가능한 모듈이다.

Active Tags Popular 모듈은
액티브 태그 모듈을 더욱 더 편하게 사용토록 후보 텀즈를 표시해 주는 것이다.
(팔팔의 관련 글 참고)

특정 컨텐츠에 드루팔의 택소노미 기능으로 텀즈(태그, 카테고리)를 배당할 수 있는데,
이때 손으로 일일이 입력하는 것이 귀찮고 힘들기 때문에 AutoComplete기능을 이용,
텀즈 후보가 미리 보이도록 하는 것이 좋다. 이 과정을 더욱 더 편하게 해 주는 것이
액티브 태그 포퓰러 모듈로 텀즈에 적합한 후보 태그들을 미리 나열해 보여 준다.

이 모듈은 2012년 3월 현재 아직 Content Taxonomy 모듈과 연동하지 않는데,
Content Taxonomy 모듈은 Active Tags 와는 연동한다.
(참고로 Active Tags Popular 모듈은 액티브태그의 내장-하위 모듈이다)

억지로 연동하고 싶은 경우라면, 아래 주소의 패치를 이용해서 고칠 수도 있다.
하지만 세부적인 버전의 차이에 따라 작동하지 않을 수도 있다.

Content Taxonomy » Issues » Active Tags Popular support
http://drupal.org/node/560722

위 글의 #2 패치의 내용을 기재해 둔다.
(http://drupal.org/files/issues/patch_75.patch)

컨텐츠 타입별 혹은 특정 노드만 Theming하려면.

부제 : 노드 테마링이 귀찮은 경우, 모듈만으로 테마링하고 싶은 경우.

(조사 중. 아직 ThemeKey만큼 마음에 드는 모듈이 없음.)

- ThemeKey 모듈 : 부동의 1위. 팔팔의 관련 글 참고하기 바람.

- Contemplate 모듈 : 이것도 아주 좋은 모듈이지만, 설정이 귀찮고 어렵다.
참고로 이 컴템플릿 모듈은 드루팔 7.x에서 지원되지 않는다고 한다. (2012년 3월 기준) 

- Node type theme 모듈
http://drupal.org/project/nodetypetheme

노드(컨텐츠) 타입별로 테마 지정 가능.

- Node Page Template 모듈
http://drupal.org/project/node_page

This module allows you to specify a page template for each content type and each node.

- Node style 모듈
http://drupal.org/project/node_style

The node style module is a simple module that allows per-node customisations by overriding PHPTemplate variables.

- Custom Templates 모듈
http://drupal.org/project/custom_templates

컨텐츠 타입에 따라, 노드 타이틀(제목)을 자동으로 지정하고 싶은 경우.

컨텐츠 타입에 따라, 노드 타이틀(제목)을 자동으로 지정하고 싶은 경우.

- Automatic Nodetitles 모듈
http://drupal.org/project/auto_nodetitle

"auto_nodetitle" is a small and efficient module that allows hiding of the content title field in the form. To prevent empty content title fields one can configure it to generate the title by a given pattern.

모듈을 설치/활성화한 후에, 컨텐츠 타입의 설정화면에서
"Pattern for the title:"을 다음과 같이 지정하면 본문 일부를 자동으로 노드 타이틀화한다.
제목을 숨길 수도 있다.

<?php
$limit
= 10;
$text = $node->body;
$text = strip_tags($text);
$words = str_word_count($text, 2);
$pos = array_keys($words);
if (
count($words) > $limit) {
 
$text = substr( $text, 0, $pos[$limit]);
 
$text = trim( $text );
 
$text = rtrim( $text, '.' );
 
$text = trim( $text ) . '...';
}
return
$text;
?>

각종 폼의 Field 모양새를 조정하는데 도움되는 모듈들

각종 폼의 Field 모양새를 조정하는데 도움되는 모듈들

- Content Display Order 모듈 ★★★
http://drupal.org/project/content_display_order

특정 컨텐츠 타입내의 필드 표시 순서를 손쉽게 조정할 수 있다.
드루팔 6에서도 잘 작동한다.

- Contemplate 모듈 (Content Template)
유명하다. 하지만 드루팔 7부터는 사라질 예정이다.
설정법이 복잡하다. 그만큼 커스터마이징이 자유롭다.

- 위와 비슷한 목적의 모듈들이 드루팔 7에 더 많다.

Field display weights (per node)
http://drupal.org/project/field_weight

또는

http://drupal.org/search/apachesolr_multisitesearch/node%20field%20order...

_____________________

- Arrange Fields 모듈
http://drupal.org/project/arrange_fields

This module lets you drag-and-drop the fields of any CCK content type, Webform, or almost any other form in Drupal into the positions you would like for editing.

- Compact Forms 모듈

ImageCache 모듈의 "Failed generating an image from 이미지파일명 using imagecache preset 이미지캐쉬_프리셋명" 에러 대응책

ImageCache 모듈의 "Failed generating an image from 이미지파일명 using imagecache preset 이미지캐쉬_프리셋명" 에러 대응책

이미지캐쉬 모듈은 아주 유용하면서도 필수적인 모듈(이미지의 캐쉬 기능이 이상이다)이며,
또한 고장이 잘 나지않는, 드루지기의 추천 모듈 탑10에 들어가는 모듈이다. (이미지의 확대/축소/자르기/워터마크 등이 가능)

그런데 아래와 같은 에러가 나면서 어지간해서 고쳐지지 않고 캐쉬 이미지가 깨지는 현상이 발생했다.

드루팔 시스템 로그를 관리화면에서 보면

action(id:8): imagecache_effects_watermark failed for sites/드루팔.사이트명/files/imagecache_sample.png

Failed generating an image from 이미지파일명 using imagecache preset 이미지캐쉬_프리셋명

에러가 줄지어서 발생하고, 사용자 화면에서는 축소표시할 썸브네일 이미지가 전혀 나타나지 않았다.

______________________

결론적으로 아래와 같은 원인과 파일접근 권한부여 조치로 문제를 해결했으나,
여러 문제 케이스가 있을 수 있으므로 가능한 모든 체크 항목을 메모해 둔다.

원인 : 해당 이미지캐쉬_프리셋명의 특정 액션에서 사용할 이미지가 아파치 서버에서 접근 불가능한 권한설정이었다.

______________________

이미지캐쉬 모듈의 고장시 체크 항목 (범위가 넓다)

1. 드루팔 시스템 로그

Powered by Drupal을 안보이게 하고 싶다면

드루팔 테마 종류에 따라서
Powered by Drupal가 눈에 잘 띄는 경우가 있다.

크게 문제되지 않고, 경우에 따라 어떤 무료 테마는 강제 표시 조항이기도 하다.

정작 걱정할 문제는 드루팔임을 일부러 알리고 싶지 않은,
보안이나 오픈소스 공격이 크게 염려되는 사이트이다.
드루팔로 꾸미되 드루팔이 아닌 것처럼 보이게 하고 싶은 경우,
(많지는 않겠지만) 그런 희망이 있는 이들을 위해 메모해 둔다.

아래와 같은 방법들이 있다.

1. 우선 관리 >> 블럭 설정에서 풋터 부분에 Powered by Drupal 항목이 있는지 살펴 보자.

2. 해당 테마 설정에 가서 부가적으로 Powered by Drupal 항목을 안보이게 하는 옵션이 있는지 살펴 보자.

3. 1번도 2번도 해당 사항이 없다면, 해당 테마를 직접 수정하면 된다.
   이때, sites/all/theme에서 해당 테마 폴더를 전체 복사해서,
   sites/해당사이트/theme/아래로 복사할 필요가 있다. (커스터마이징시 권장사항)
   그래야만 나중에 본래 테마가 업그레이드 돼도 본인이 커스터마이징한 내용이 보관된다.

문자열 검색이나 Taxonomy의 텀즈 결과가 나오지 않는 경우

문자열 검색이나 Taxonomy의 텀즈 결과가 나오지 않는 경우.

소소한 팁이다.

사이트를 막 구축하기 시작했을 때, 컨텐츠의 갯수가 적고,
기본 생성 조건이 비공개인 경우,
문자열 검색이나 Taxonomy의 텀즈 결과가 나오지 않게 된다.

드루팔이 능숙한 사람도 간혹 위 조건에서
이상하다 왜 검색이 안되지?
이상하다 왜 텀즈 결과가 없지?
하는 질문이 생기는데, 이는 전적으로 컨텐츠의
비공개 설정 때문이다.

비공개 상태의 컨텐츠는 검색이나 텀즈 예외라는 점을 잊지 않았으면 한다.

* 그런데 일전에 검색에서 비공개 컨텐츠도 나타났던 것 같은데...

Syndicate content