2011-01-20 3 views
0

"장소"(부모 노드)와 "콘서트"(자식 노드)의 두 가지 유형의 노드가있는 Drupal 프로젝트에서 작업하고 있습니다. 노드).Drupal6에서 CSV에서 가져올 때 자식 노드에서 부모 노드 만들기

나는 node_import 모듈을 통해 CSV에서 잘 알려진 장소를 가져 왔으며 이제는 쇼로 채워진 다른 CSV를 가져와야합니다.

어떻게 할 :

을 수행합니다. 콘서트 CSV에서 장소를 참조하십시오 - 내가 본질적으로해야할 일은 location.module 주소 (그러나 장소를 가져온 방법 때문에 CCK 유형이 아님)를 기반으로 노드 기준을 만드는 것이지만 가져 오는 방법을 모르겠습니다. 특히 같은 주소가 두 시트 사이에서 다소 다를 수 있습니다 (구두점 등).

B. 일부 콘서트 목록의 경우, 내 장소 데이터 시트가 불완전해질 수 있습니다. 가져올 때 수입자가 하위 노드가 참조하는 주소를 찾을 수 없을 때 어떻게 부모 노드를 만들 수 있습니까? 콘서트 CSV는 각 행의 경기장 CSV로부터 대부분의 정보를 가지고 있습니다.

내가 node_import를 사용하고 있지만 데이터 API를 사용해야 할 수도 있습니다. 저는 후자에 대한 경험이 없습니다 (또는 특정 수입 방법에 대한 선호도). 그리고 당신이 내게 줄 수있는 어떤 도움이라도 고맙게 여길 것입니다.

답변

1

피드가 좋은 해결책이 될 것이라고 생각합니다. 2 가지 다른 콘텐츠 유형에 대해 수입업자와 함께 설정해야하며, 파일 구성 방법에 따라 두 파일 모두 동일한 파일을 실행해야 할 수도 있습니다.

노드 참조의 경우 현재로서는 패치로만 존재할 수있는 node_reference 매퍼를 사용하거나 직접 작성할 수도 있습니다 (오후에 작업을 마쳤습니다).

우리는 현재 60k 경매 목록을 가져 와서 30-40 개의 이벤트로 퍼지기를하고 있습니다. 매력처럼 작동합니다.

노드 참조 매퍼 : http://drupal.org/node/724536

피드 : 당신이 한 번 이상 같은 파일을 가져와야 할 수있는 이유에 대해서는 http://drupal.org/project/feeds

은, 우리가 가지고있는 CSV 파일을 가져 오는 방법에 대한 간단한 예입니다 같은 파일에있는 항목과 이벤트에 대한 정보. 다음과 같은 구조를 가진 파일이있는 경우 다음 *의 _id 컬럼 모두 GUID이며, 몸은 몸으로 가져에 대한

|item_id|event_id|item_body |event_body | 

|12231 | 123 | 'price $1'| 'on friday'| 

|12232 | 123 | 'price $5'| 'on friday'| 

우리는 모두 이벤트 콘텐츠 형식 수입이를 실행합니다. 이벤트 가져 오기 프로그램이 먼저 실행됩니다. 항목에 대해 event_id는 이벤트에 대해 작성된 노드를 찾는데 사용되며 노드 참조가 작성됩니다. 가져 오지 않는 콘텐츠 유형에 대한 정보는 무시됩니다.

event_id의 첫 번째 인스턴스에만 본문 또는 다른 입력란이 필요하지만 일부 제공 업체는 실제로 기억을 늦추지 않는 데이터를 복제합니다. 또한 이벤트 ID와 이벤트 ID를위한 항목이 포함 된 이벤트에 대해 1 개의 파일과 항목에 대해 2 개의 개별 파일을 보내는 공급자가 있습니다.

+0

유용합니다. 오늘 오후에 그걸 쏜 다음 너에게 돌아올거야. 감사! – aendrew

+0

줄을 설명해 주시겠습니까? "파일 구성 방법에 따라 두 파일을 모두 같은 파일로 실행해야 할 수도 있습니다." 감사! – aendrew

+0

에서 답변이 업데이트되었습니다. 형식 지정이 쉬워 졌기 때문입니다. 아직 질문이 있으면 알려주세요. – mirzu

관련 문제