6.x 버전대

메일 송수신 실패시 리턴 메일을 받도록 Return-Path 지정하기

메일 송수신 실패시 리턴 메일을 받도록 Return-Path 지정하기

메일 수신주소나 서버의 이상으로 에러 메일이 반송되는 경우,
이를 Return-Path라는 헤더 정보에 담아둔 주소로 보낼 수 있다.

그런데 보통의 웹호스팅 사이트들이 이를 코딩에서 조정하는 것을
우선으로 하지 않고 해당 서버명이 들어간 메일어드레스로 강제지정하는 경우가 많다.

http://drupal.org/project/returnpath
이런 경우에 Return-Path 모듈을 사용하면,
드루팔 메일 센드 drupal_mail_send함수를 이용한 Return-Path의 지정이 가능하다.

--- 2010.09 추가 ---

최근 한 프로젝트에서, 리턴 패스가 제대로 작동하지 않고 호스팅 회사의 주소가 그대로 보이는 경우가 있었다. 소스 상에도 모듈 설정 상에도 문제는 없었다.
한참 조사한 뒤에 알았는데 - "모듈의 해제 후 재설정"에도 무반응이었으나 -
"모듈의 해제 후 언인스톨!(모듈 화면에 있다. 디비 설정도 몇몇 청소한다)하고 재설정"했더니 문제 현상이 고쳐졌다.
귀한 정보를 주신 ta님에게 감사 드린다.

View를 이용해서 로그인 유저의 컨텐츠만 보여주는 방법들, 1대1 게시물 기능

View를 이용해서 로그인 유저의 컨텐츠만 보여주는 방법들은,
여러가지가 있으나 제일 보편적인 방법은 view arguments 이용하는 것이다.

예를 들어 uid가 99인 사용자가 로그인했을 때 그 사용자가 지금껏
작성한 컨텐츠 목록만을 특정 뷰로 보여줄 경우, (아래는 중요한 팁이다)

해당 view의 편집 > Arguments > Action to take if argument is not present:
항목의 Provide default argument > User ID from logged in user
항목을 선택해 주고 Path를 abcd라고 지정해 주자.

다음부터 /abcd라는 URL에 접근하면 해당 사이트의 로그인 유저가 작성한
목록만을 담은 뷰가 보인다.
예를 들어 uid 99 인 사용자가 로그인하면 본인이 작성한 글만 뷰에 나타난다.

중요한 것은 이 경우 브라우저의 URL에는 유저의 ID가 노출이 안된다는 점이다.
예를 들어 /abcd/99라고 하지 않고 /abcd만 해도 UID 99 유저가 작성한 글만 뷰에 나타난다.

---------------

이 외에도 private모듈이나 view_own모듈을 이용해서 본인의 글만 보이도록 하는
기능이 있으나 특정 모듈에 종속되니 뷰 보다는 자유도가 다소 떨어진다.

위 팁은 아래 주소에서 참고했다.
http://views-help.doc.logrus.com/help/views/example-author-block
http://drupal.org/node/54455 자세히 보기 »

SQL 쿼리를 이용한 드루팔 컨텐츠의 갯수를 확인할 때

참고 - http://api.drupal.org/api/function/db_result/6

Count rows in a table using db_result:

$countrows = db_result(db_query("SELECT count(*) FROM {my_table}"));

드루팔 API인 db_result 함수를 이용하면 count(1) 등이 손쉽게 얻어진다.

사용법이 너무나도 당연한 팁이지만,
간혹 다른 함수를 사용해서 갯수를 세려고 하면 애를 먹을 수도 있기에 메모한다.

Computed Fields를 이용해서 프로그래밍이 가능한 동적 CCK 구현하기

Computed Fields를 이용해서 프로그래밍이 가능한 동적 CCK 구현하기

이 모듈은 쓸모가 많고 중요하다. http://drupal.org/project/computed_field

- PHP와 드루팔의 컨텐츠 필드개념을 잘 모른다면 사용하기 까다로울 수 있다.
- 드루팔 6.x 뿐만 아니라 7.x대로 지원하는 모듈이다. 각각의 사용법이 조금씩 다르다.

------ 7.x 기준의 설명 ------

예를 들어, 한 컨텐츠 타입의 attch2nd라는 필드가 있는데 aliasofattach라는 필드에서는 이를 변형해서 출력하는 예제를 준비해 보았다. (주의 : attach2nd였는데 미스 스펠로 인해 a가 빠짐)

컨텐츠 타입의 aliasofattach 필드 설정에서,
Computed Code (PHP)에는

// debuggging // $entity_field[0]['value'] = $entity->field_attch2nd;
$arrfield_for_another = array_pop( array_pop( $entity->field_attch2nd ) );
$entity_field[0]['value'] = $arrfield_for_another['origname'];

Display Code (PHP)에는

// 랜덤 확인용 // $display_output = 'dis'.rand(100000, 999999);
 자세히 보기 »

CCK 필드를 이용하면 컨텐츠 내 블록을 표시하기 편하다 - 중요 팁

CCK 필드를 이용하면 컨텐츠 내 블록을 표시하기 편하다 - 중요 팁 ***

아, 왜 지금까지 이걸 깨닫지 못했는지 참으로 멍청했다.
이 팁은 다음과 같은 경우에 유용하다. 자세히 보기 »

Taxonomy 관련 Block 을 만드는데 유용한 모듈들

Taxonomy 관련 Block 을 만드는데 유용한 모듈들을 소개한다.

1. 제일 좋은 모듈은, 사용법이 심플하면서 블럭 제어가 손쉬운
http://drupal.org/project/taxonomy_blocks

* 모듈 설치 활성화 후에, 각 Vocabulary의 설정에 가면 블럭 사용유무와 갯수를 지정할 수 있다.

2. 아래는 다소 번잡하다. 기능은 풍부하지 않을까. 테스트도 아직 부족하다.
http://drupal.org/project/taxonomy_block

그외 모듈들이 아주 많은데...
팔팔에서도 이미 소개했듯이 카테고리 분류는 Taxonomy로 하는 것이 제일 좋다.
본 기사의 아래에 보면 관련글에 나와 있을 것이다. 자세히 보기 »

드루팔 사이트 내 검색 관련 중요 모듈들

드루팔 사이트 검색도 구글 등을 이용하면 충분히 좋지만,
로그인 등 인증이 필요한 곳은 드루팔 자체의 검색을 이용하기 마련이다.

사이트내 검색 관련해서 중요 모듈들 몇 가지를 소개한다.

1. http://drupal.org/project/search_type
Adds a type selector to search blocks to limit searches by content type or to search users. The selector appears only for users with the "use advanced search" permission.

2. http://drupal.org/project/search_block
Restricted Search is a module which lets administrators exclude individual nodes or entire content types from the search system.

3. http://drupal.org/project/search_config
This module started out as a simple means of configuring the display of the advance search form. A few features have been added since thanks to the contributions of others.

그 외 다수 있으나 나중에 추가하겠다. 자세히 보기 »

Views 조차 Design 바꾸고 싶은 경우, Views Theme 기법

뷰는 강력한 컨텐츠 목록/내용 표시 모듈로,
드루팔로 진행하는 프로젝트에서 필수적으로 사용해야 할 모듈이다.

Views는 자유도가 상당히 높은 편이지만,
커스터마이징을 100% 만족할 수는 없다.

이런 경우 Views조차 Design 변경하는 테크닉을 마스터하면
드루팔로 거의 원하는 모든 화면을 만들 수 있겠다.
예를 들어 특정 컨텐츠 목록을 우리가 원하는 형태로 수정/Theme 작업하고 싶은 경우에는,
[hook]_views_pre_render 함수를 이용해서 일부 화면 수정이 가능한데,
이에 관한 자료는 다음의 주소에서 참고할 수 있다. 자세히 보기 »

Views 페이지/블럭도 HTML,디자인 편집하고 싶은 경우

Views 페이지/블럭도 HTML,디자인 편집하고 싶은 경우의 자료는 드물다.

우선적으로 중요한 것을 기록하고 나머지는 차근차근 추가해가려고 한다.
Views 2 Unofficial Tutorials
http://drupal.org/node/322506

Alter views using pre alter function - 아주 좋다. 테마 변경에 독립적인 듯.
http://drupal.org/node/438370
http://drupal.org/node/422264#comment-1466510

Create a view on a node reference field
Get the result a view creates
Inserting Views (2.x)
Limiting Content Using Arguments And PHP Code
Override taxonomy pages with Views 2
Views 2 theming

등이 있다.

드루팔에서의 리다이렉트 Redirect 구현 방법들

리다이렉트를 구현하려면, 모듈들을 이용하는 방법과 기타 방법들이 있다.

1. Redirect 관련 모듈들

버전 7용 추가) http://drupal.org/project/redirect
- 설치/활성화 후 admin/config/search/redirect/ 에 설정화면이 있다.

버전 6,7용 둘 다 존재하는 모듈)
http://drupal.org/project/globalredirect

http://drupal.org/project/path_redirect
- 단점 : Locale 모듈과 동시 사용시 /ko /ja /en ... 등이 자동으로 붙어 비실용적.

http://drupal.org/project/taxonomy_redirect

http://drupal.org/project/pathologic

위 모듈들은 인터페이스를 찾기와 사용하기 다소 어려운 편이다.

2. 심볼릭 링크를 이용해서 (404 에러 등을 방지하면서) 유도하는 방법이 있다.

하지만 이 방법을 이용하면, 외부의 틀린 링크를 수정할 기회를 놓친다.

3. 제일 확실한 방법은 드루팔 최상단에 있는 .htaccess를 수정하는 방법일 게다.

.htacess 기존 :
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f 자세히 보기 »

내용묶음