2010-03-22 2 views
3

에서 CCK 필드 나는 NodeAPI 후크 (hook_insert, hook_update 등)을 통해 사용자 지정 콘텐츠 형식을 구현하는 모듈이있다. CCK 필드를이 컨텐트 유형에 추가하고 create 또는 update와 같은 hook_nodeapi 호출을 통해 뷰에 컨텐트 노드를 표시하기 위해 CCK 필드를 추가하려고합니다.드루팔 5 : 사용자 지정 콘텐츠 형식

문제는이 콘텐츠 형식에 대한 CCK 필드에 액세스 할 수 없다는 것입니다. 물론 "Manage Fields"페이지에서 사용할 수 있지만 Devel 모듈을 사용하여이 유형의 노드를로드하면 노드 객체에 필드 속성 (field_flag)이 표시되지 않습니다. 나는 $node->content['field_flag']['#value']처럼, "내용"속성의 일환으로 "데브 렌더링"탭에서 볼 수 있습니다,하지만 난 $node->field_flag 또는 $node->content['field_flag']['#value']에 값을 할당하고 node_save를 호출하는 경우, CCK 필드는 저장되지 않습니다.

아마도 CCK 필드를 저장하기 위해 다른 함수를 호출해야합니까? 또는이 설정에 무엇이 잘못되었을 수 있습니까?

답변

1

내가 필드

$node->field_flag[0]['value'] 

그것은 드루팔 6에서 그 방법이라고 생각, 그것은 필드 또는 테이블 필드 이름의 실제 이름을 따르지 않습니다. 필드가 무엇인지 확인하는 쉬운 방법은 노드를 채운 다음 구조를보기 위해 노드를 덤프하는 것입니다. 그러면 node_save에 예상되는 이름이 표시됩니다. 나는 드루팔 (Drupal 5)을 한동안 사용하지 않았지만 너무 멀리 떨어져있을 수는 없습니다. 너는 가깝다.

+0

고마워요, 그게 다예요. Devel은 아무것도 설정되지 않은 경우이 필드를 표시하지 않습니다. –

관련 문제