6.x 버전대

극단적인 드루팔 메시지 숨김법

* 이 방법은 극단적인 메시지 숨김법입니다.
에러 메시지의 근본적인 문제를 해결하기를 바라며 본 방법은 급할 때 이외에 추천하지 않습니다.

드루팔 drupal_set_message는 온갖 에러/경고 메시지를 다 뿌려대다 보니
드루지기처럼 게으른 자들에게는 악몽과 같다 (왠만하면 표시하지 말고 몰래 알려줘!)

PHP의 버전변경이나 각종 모듈의 업그레이드로 예상못한 에러가 생기면
시스템의 패스마져 공개되는 경우가 있어 꽤나 신경쓰인다. (물론 잘 정비하면 문제 없지만)

그래서 관리자 권한자인 경우에만 메시지를 표시토록
includes/bootstrap.inc 를 아래와 같이 수정하면 당분간 편하다.
게으른 관리자를 위한 극단적인 수정이다.


function is_admin()
{
global $user;
 자세히 보기 »

FileField 모듈로 인해, Referencing to the file used in the field is not allowed. 문제가 발생한다면

드루팔에서 꽤나 유용하고 많이 사용되는
FileField 모듈을 6.x-3.13으로 업그레이드하고 나면
(항상 발생하는 문제는 아니라고 하는데) 특정 서버에서는

Referencing to the file used in the field is not allowed.

라는 에러가 발생하면서 컨텐츠의 수정이 거의 불가능해지는 경우가 있습니다.

이런 경우에는

FileField/filefield_widget.inc 을 백업한 후,
아래의 주소에서 받은 패치파일을 적용하면 해결 됩니다.
https://www.drupal.org/files/issues/referencing_to_the-2305969-29.patch

보안 관련해서 드루팔 본체의 마이너 업그레이드로 인해 발생하는 문제라고 합니다.
자세한 내용은 아래 주소를 참고하세요. (영문)

https://www.drupal.org/node/2305969

기능성이 가장 좋지만 까다로운 Better Formats 모듈의 사용법

드루팔에서의 Input Filter라 함은, 입력문에 대한 포맷지정을
동적으로 가능하게 하는 기능입니다. (예:HTML 태그 필터링, 특정 변환 등)

이 인풋필터 관련한 모듈들이 여럿 있지만, 그 중에 가장 강력한 것은
Better Formats 모듈입니다.

그런데 Better Formats 모듈의 사용법이 조금 까다롭네요. 그래서 메모합니다.
(참고로 본 글은 palpal.org/node/37 의 댓글에 있던 내용을 업그레이드 한 것입니다)

[Better Formats 모듈의 사용법]

관리자로 로그인후 모듈을 설치/활성화한 후,
admin/settings/filters/settings 에 가서,
(메뉴로는 관리 > 사이트 환경설정 > 입력 형식의 환경설정 탭이다)
Control 항목의 Control formats per node type 을 체크/저장한다.

그런 다음, admin/content/types 에 있는 해당 컨텐츠 타입을 [편집],
Input format settings 항목에 있는
Allowed formats: 를 원하는 필터로 설정해 주면
그 다음부터 해당 컨텐츠 타입으로 생성할 때마다 Allowed formats 에서
지정한 입력 필터 형태로 본문이 저장된다.

본 글의 아래 관련글에도 "Input Filter" 관련 항목이 있으니 참고 바랍니다.

팁이라고 하기엔 약소? warning: Creating default object from empty value in modules/taxonomy/taxonomy.pages.inc on line 33. 에러 대처법

드루팔 업그레이드 후에,
warning: Creating default object from empty value in ****/modules/taxonomy/taxonomy.pages.inc on line 33.

에러가 보인다면,

관리자로 로그인한 후에
/update.php를 통해 디비를 한번 갱신후 주면 해소된다.

* 가능하면 위 작업 전에 기존 디비를 백업해 주시길.

화면은 하얗고 아무 것도 나타나지 않는 공백화면 문제 발생시 대처법

위 제목에 대한 대답의 결론은,

에러를 나타나게 해야 입니다.

대부분의 드루팔 공백 표시 에러 현상은,
경고나 에러를 화면상에 표시하지 않기 때문에 나타나는 것입니다.

특정 화면이나 기능에서, 흰색 공백 화면이 계속 보이고
원하는 결과가 보이지 않는다면, 1차적으로는
드루팔 관리화면 >> Reports >> 최신 로그를 보지요.

하지만 공백 화면 현상은 위 최신 로그로도
드러나지 않는 PHP에러가 근본적인 원인일 가능성이 큽니다.

아래 페이지에서는 이러한 현상에 대한 보다 근본적인 조사방법을 제시합니다.

Blank pages or "white screen of death" (WSOD)
https://drupal.org/node/158043

영어라서 아쉽긴 한데, 간단한 예를 적용해 보시면 금방 이해가 됩니다.

1. 흰색 공백화면 현상이 발생하는 드루팔 사이트가 있는 경우.

2. 해당 드루팔 사이트의 settings.php에 다음의 3라인을 추가.

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

3. 그리고 해당 드루팔 사이트의 문제있는 화면이나 기능을 다시 확인.

4. 구체적인 PHP에러 메시지가 보일 겁니다. 이를 해결하면 공백화면 사라짐.

5. 이후에 2번 과정의 적용을 다시 원래대로 복원해 두면 좋겠죠.

드루팔 성능/속도 올리기 끝판 - 드루팔 성능 향상에 대한 모듈 비교 문서

왜 진작 못찾았을까요. (모른 것은 게으른 탓...)

Caching: Modules that make Drupal scale
https://groups.drupal.org/node/21897

드루팔 성능 향상의 여러 방법 중,
모듈로만 승부를 보시겠다는 분은
위 주소의 글을 꼼꼼히 확인해 보시고
Performance Gain항목이 Very High 또는 High
인 모듈을 적용해 보시길 바랍니다.

개인적으로는 서버와 회선 등 인프라적인 면도
같이 개선되면 최고의 결과를 얻을 듯 합니다.

Pathauto 모듈의 사용법을 뒤집어 보다.

패스오토 모듈은, 드루팔에서 각각의
컨텐츠 노드의 주소를 조금 더 가독성 높고 SEO 친화적인
형태로 URL Alias를 조정해 주는 역할을 한다.

Taxonomy의 용어 페이지에도 이 모듈을 이용해
"category/해당용어" 형태로 바꿀 수 있는데,
드루팔 관리자 인터페이스에서 찾기 어렵다는 질문이 종종 있다.

path auth 의 설정 화면은,
/admin/build/path/pathauto
에 있다. 화면상으로는
URL Alias 설정의 "Automated alias settings" 메뉴를 선택하면 나온다.

이 곳에서 Taxonomy term paths 항목을 선택하고,
Bulk generate aliases for terms that are not aliased 를 체크한 후,
설정을 저장하면 지금까지 있던 카테고리별 용어설정 주소가,
"category/해당용어" 형태로 전환된다.

* 이 때 주의할 점은, Taxonomy term paths 의 전환이 50개씩 진행되므로,
  Bulk generation of terms completed, 50 aliases generated.
  메시지가 ... 0 또는 50이하 aliases ...로 바뀔 때까지 반복해야 한다.

Block이나 View를 노드 본문에 삽입하는 방법들

Block이나 View를 노드 본문에 삽입하는 방법들은 참으로 다양하다.

열거하자면,


1. Panels나 Display Suite 모듈을 이용하는 경우.
기능이 풍부하고 드래그 드랍을 지원하는 등 조작성이 풍부하나,
그만큼 모듈이 고장나기 쉽다. (패널즈는 버전업 때 항상 애를 먹었다)

2. Contents Template를 이용하는 경우.
손수 코딩을 하는 셈이니, 가변성은 제일 좋지만
그만큼 최초의 템플릿 수정이 귀찮고,
또한 노드 타입 전체에 적용돼 한 노드 적용에는 부적합.

3. Insert View 모듈을 이용하는 경우.
https://drupal.org/project/insert_view
모듈 설치/활성화후, 입력 필터에서 인설트뷰를 체크하면,
그 다음에 해당 입력 필터로 작성되는 어떠한 노드에서도 가볍게 뷰(블럭)를 지정가능함.
The tag syntax is [view:name=display=args] 예) [view:feeds=block_2=]

4. node-nodetype.tpl.php 등 템플릿 레벨을 수정하여 이용하는 경우.
이 또한 가변성은 아주 좋지만, 최초 수정이 귀찮고,
또한 노드 타입 전체에 적용돼 한 노드 적용에는 부적합.

5. CCK Blocks이나 Block Reference 모듈을 이용하는 경우.
https://drupal.org/project/cck_blocks 자세히 보기 »

드루팔 체험(공부)하는 순서 추천

드루팔을 설치하고 나서, 아래와 같은 순서로 기능을 접하면 좋다.


1. 컨텐츠 한 건 작성 : CMS의 가장 기본 기능이니까.
이 때 컨텐츠 타입을 선택하게 되는 데 이걸 잘 기억해 두자.
(컨텐츠 타입이 드루팔의 핵심을 이해하는 키)

2. 블럭 기능 : 관리화면의 블럭 설정에서 이것저것 조작해 보자.
홈페이지의 구조가 손쉽게, 그리고 조금씩 바뀌는 게 재밌다.

3. 컨텐츠 타입의 작성 기능 : 관리화면에서 컨텐츠 타입을 하나 만들어 보자.
기본적으로는 타이틀과 본문이 있는데, 여기에 원하는 정보 항목을 추가해 보자.
(예를 들어, 음식이라는 컨텐츠 타입을 만들고, 추가항목으로 칼로리를 수치형태로)

4. 모듈 추가하기 : 아래 모듈이 없다면 반드시 설치해 보자.
Views 모듈 : https://drupal.org/project/views
이 모듈은 너무 중요해서 드루팔 버전 8부터는 코어 모듈(기본 장착)이 된다.

설치하는 법 : 모듈을 다운로드 받은 후,
드루팔_폴더/modules 혹은 sites/all/modules 폴더(이 쪽을 더 추천)에 넣고
관리화면의 모듈 항목을 살펴보면 Views 모듈이 보인다. (드루팔 7 이하의 경우)
이 모듈을 체크하고 저장하면 뷰 모듈이 활성화된다.

이후에 뷰 관련된 설정법/사용법은 아래 동영상을 참고하면 된다.
https://drupal.org/node/1351076 (영문)  자세히 보기 »

php 5.4로 드루팔을 이관한 후 이런 저런 경고가 발생했다.

작년부터 드루팔은 본격적으로 버전 7이 중심이 되고(이미 시작은 오래됐음),
드루팔 6은 서서히 지원되는 모듈도 줄어들고 있다.

그래도 게으른 드루지기들은 굿굿하게 버전 6을 잘 이용하면서,
새로운 프로젝트만 7을 적용하고 있었다. 잘만 돈다면야 버전이 문제랴.

그런데 새로운 서버로 옛 사이트를 옮기면서 문제가 서서히 커지고 있다.

예를 들어 PHP 5.3은 드루팔 6과 궁합이 잘 맞는 편인데
PHP 5.4 부터는 드루팔 6은 그렇게 편하지는 않고 이런저런 경고, 에러가 뜬다.

아직도 드루팔 옛 버전을 이용하는 분들을 위해, 하나씩 문제 해결책을 메모해 본다.


php 5.4로 드루팔을 이관한 후 Block 설정 관련 경고가 발생했다.

warning: Illegal string offset 'region' in 드루팔_패스\modules\block\block.admin.inc on line 101

이와 같은 경우에는, block.admin.inc 의 101번 라인 근처의 foreach 안에
아래의 예외문을 넣으면 문제가 해소된다.

if ( !is_array($block) )  { continue; }

* 참고 : https://drupal.org/node/2004304


php 5.4로 드루팔을 이관한 후 Taxonomy 관련 경고가 발생했다.

 자세히 보기 »

내용묶음