6.x 버전대

드루팔에서의 리다이렉트 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

Views를 이용해서 컨텐츠 목록을 보여줄 때 이미지 필드를 Thumbnail로 보여주려면

Views를 이용해서 컨텐츠 목록을 보여줄 때 이미지 필드를 Thumbnail로 보여주려면,
다음과 같은 프로세스를 권한다. (한때 만류했으나 2009년 이후로는 ImageCache를 다시 권장한다)

1. Image / ImageAPI / ImageCache 모듈을 설치, 활성화한다.
2. ImageAPI에서는 GD2 관련 모듈을 활성화한다.
3. 관리자 > 사이트 생성(Building) > Image Cache 메뉴를 선택한다.
4. 적절한 이미지 캐쉬 Preset을 만든다. 예) 썸네일을 표시하는 Scale 형태.
5. Views에서 컨텐츠 필드 중 Image 필드를 선택한다(주의:이미지 노드와는 다름).
6. Views의 컨텐츠 필드 포맷에서 [썸네일을 표시하는 Scale 형태 Preset]명으로 된 속성을 고르고,
이미지 링크를 본문으로 걸어주면 좋겠다.

참고 - http://drupal.org/node/163561

Drupal을 이용한 분산 DB간 PDB 개발 패턴 (JOIN 관련)

Drupal을 이용한 분산 DB간 PDB 개발 패턴

아래 주소를 참고해서 공부해야 합니다!
http://drupal.org/node/235062#comment-1222751

아주 중요하고 특이한 기술인데요.

물리적으로 분산된 Table을 어떻게든 연결, 조인해야 하는 경우에...
의외로 관련 기술 안내가 부족합니다. 참고해 보시길.

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

추가) 이와 관련된 기사들을 링크 메모합니다.

bs0048님 기록해 주신 링크
http://drupal.org/node/310075

위 Database abstraction layer와 관련된 다른 링크
https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7

Tables part 1: Joins
http://drupal.org/node/99564

hook_views_data(): Can I create a view with the results of an INNER JOIN?
http://drupal.org/node/414086

nodereference
http://groups.drupal.org/taxonomy/term/1956

Reference 필드를 이용한 Views의 RelationShip 연결

Reference 필드를 이용한 Views의 RelationShip 연결은,
마치 관계 DB에서의 JOIN과 비슷한 결과를 보여준다.

http://drupal.org/node/289738
에 좋은 예가 있다. 아티스트와 노래 목록의 연결 표시 예이다.

또다른 예로,
Services Views 을 이용한 REST결과에 파일 패스가 보이지 않는 경우가 있는데,
이 경우에도 http://drupal.org/node/508388
에 알려진 것처럼,
Views 설정 화면의 필드 항목에서
Content : File URL을 선택할 것이 아니라,
File : File Path를 지정하면 (부분적인 패스지만) 문제가 해소된다.

노드별로, 유저롤(권한)별로 컨텐츠 제출 갯수를 제한한다. Node Limit 모듈.

노드별로, 유저롤(권한)별로 컨텐츠 제출 갯수를 제한한다. Node Limits 모듈.
http://drupal.org/project/node_limit

특정 기간동안 정해진 인원수만큼을 웹으로 신청접수받는
세미나 등록 시스템을 만들고자 한다.

요건을 가볍게 써 본다면,

1. 관리자가 복수의 세미나를 손쉽게 신규등록/편집/삭제할 수 있어야 한다.
특별히 인원수와 접수마감일의 설정이 가능해야 한다.
2. 세미나 참가 희망자들은 세미나 참가신청을 웹으로 접수하되,
인원 및 기간 제한이 있어 이를 넘길 경우, 신청접수가 불가능하다.
3. 세미나 참가 희망자들이 입력한 참가신청 정보를 메일로 확인 송신.

정기적인 CRON 작업을 멈추게 하는 문제 모듈을 찾고 싶을 때

드루팔의 크론 실행이 잘 안된다고 느끼는 경우에는,
어떤 모듈에서 에러가 나는지 로그를 남길 필요가 있다.
(물론 다른 원인에 의해서 크론 실행이 안될 수도 있다)

크론 실행되는 도중에 해당 모듈들이 사용되는
경우를 확인하는 법은, 아래의 구문을 크론 관련 모듈 소스에
추가하면 된다.

if ($hook == 'cron') watchdog('cron', "hit $module cron");

참고 - http://drupal-tips.org/

특정 CCK 노드의 입력/수정 Form을 변경하려면

특정 CCK 노드의 입력/수정 Form을 변경하려면 어떻게 하는 게 좋을까.

1. 우선 Tooth라는 노드 타입을 정의해 보자. CCK의 IMPORT 기능을 이용하면 쉽다.
( 관련 글 참고 - "체크박스 형태의 4방향 톱니 관련 CCK 설정 예" )

2. 테마 폴더에 themplate.php 를 생성하고 아래 코드를 넣는다.
이미 있다면 제일 아래에 추가해 넣는다. 주의할 점 :

<?php
--
?>

에서 닫는 ?>는 쓰지말 것.

특정 화면만 별도의 테마를 설정하려면 ( Taxonomy 별로 Theme를 설정하려면 )

특정 화면만 별도의 테마를 설정하려면 ( Taxonomy 별로 Theme를 설정하려면 )

Taxonomy Theme 모듈을 이용하면 된다.
http://drupal.org/project/taxonomy_theme

사용법에 관한 좋은 설명 예가 아래 주소에 있다.
http://www.molecularsciences.org/drupal/using_multiple_themes


download taxonomy_theme http://drupal.org/project/taxonomy_theme
Administer > Site building > Modules
check the checkbox next to taxonomy theme
Save configuration

Administer > Site configuration > Taxonomy theme
Check Enable Taxonomy-based templates
Check Show theme option on term/vocab/content-types pages
Save

Taxonomy
term_based save

Administer > Categories
Vocabulary: Theme switch
Description: Permits switching of themes

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자. Image 모듈의 업그레이드 사태를 타산지석으로.

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자.

Image 모듈의 업그레이드 사태를 타산지석으로 삼자는 이 긴 제목의 글은,
드루팔 모듈 개발자를 위한 것이다.

한 드루팔 사이트의 Image 모듈을 5.19로 업그레이드하고 나서, update.php를 돌렸다.
그랬더니 Thumbnail이 표시되는 화면에서 다음과 같은 에러가 나서 고생했다.

user warning: Unknown column 'image.nid' in 'field list' query:
: SELECT node.nid, rand() AS random_sort, node.title AS node_title, node.changed AS node_changed, image.nid AS image_nid FROM node node WHERE (node.status = '1') AND (node.type IN ('image')) ORDER BY random_sort ASC LIMIT 0, 3

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자. Image 모듈의 업그레이드 사태를 타산지석으로.

드루팔 모듈의 제작, 업그레이드시 DB 스키마는 신중하게 정하자.

Image 모듈의 업그레이드 사태를 타산지석으로 삼자는 이 긴 제목의 글은,
드루팔 개발자를 위한 것이다.

user warning: Unknown column 'image.nid' in 'field list' query:

Syndicate content