2013-03-18 4 views
1

이 노드에 Movies가 있고 casts라는 다른 노드가 있습니다. 그래서 캐스트를 삭제할 때 영화 노드에 반영하고 싶습니다. 캐스트 노드에서 메신저를 할 때 영화 노드의 필드에 액세스 할 수 있습니까? 드루팔 (Drupal)에서 어떻게합니까? 메신저 드루팔 (Drupal 6)을 사용하여drupal의 다른 다른 노드에서 다른 노드에 액세스 할 수 있습니까

+0

노드 참조 모듈을 사용하고 영화 콘텐츠 유형에서 캐스트를 노드 참조로 사용하면 반사도가 표시됩니다. –

답변

0

모듈 또는 일부 PHP 코드에서 사용하고 싶습니까? node_load()을 사용할 수 있습니다. 원한다면 당신이 정말로 원하는

당신은 그냥 당신이 appropiate 방법으로 드루팔을 사용하고 있는지주의

node_delete를 사용하여 노드를 삭제하고 자동 삭제에 대한 참조를하는 것입니다. 어쩌면 영화 노드의 엔티티 참조 필드를 '액터'(또는 이유를 알지 못하더라도 그룹화 된 상태로 유지하려는 경우 캐스트)마다 가져 오는 것을 선호 할 수 있습니다.

+0

node_load가 다른 노드를로드하는 방법을 볼 수 없습니다. 그 node_load를 사용하는 방법을 더 설명 할 수 있습니까? 그리고 예, 내 캐스트는 특정 영화를 참조합니다. 메신저 방법으로 Drupal 6을 사용하여 –

+0

나는 그것을 어떻게 지금 이해합니다. 그러나 오른쪽 뚜껑을 가로 지르는 방법에 혼란 스럽습니다. 나는 지금까지이 코드를 가지고있다. $ node-> field_movie_cast [0] [ 'nid']. 특정 nid를 어떻게 가리 킵니까? –

+0

더 설명 할 수 있지만 drupal 사용에 대한 전체적인 생각은 99.99 %의 케이스에서 그런 일을 할 필요가 없다는 것입니다. 무엇을 성취하려고합니까? 배열 계층을 가로 지르는 것보다 쉽고 견고하며 대체 방법이 있다고 확신합니다. 이 시나리오는 – papirrin

0

당신은 짧고 node_load/node_save보다 효율적입니다 SQL 괜찮 경우 :

db_query("DELETE FROM content_field_movie_cast WHERE field_movie_cast_nid = %d", $person->nid); 

(. 나는 그것이 아마 약간의 조정이 필요하므로이 이름 콘텐츠에서 추측하고있어)

그런데 기본적으로 CCK는 노드가 삭제 될 때 노드 참조를 제거하므로 수동으로 정리 작업을하지 않아도됩니다. 그 사람을 SQL로 직접 삭제 하시겠습니까?

관련 문제