2009-07-10 3 views
3

현재 클라이언트의 데이터 소스가 XML 형식으로되어 있습니다.이 XML은 우리가 만들고있는 웹 사이트의 모든 페이지에 대한 콘텐트를 가지고 있습니다. 이제이 모든 내용을 파싱하고 준비한 후에 누구든지 Drupal 노드 (해당 노드의 모든 관련 필드, 즉 CCK 필드, 경로 포함)의 생성을 PHP가 자동화 (사용) 할 수있는 방법을 알고 있습니다.다른 (XML) 콘텐트에서 자동으로 Drupal 페이지 (노드) 만들기

이상적으로 우리는 모든 콘텐츠를 보낼 수 있고 노드가 만들어집니다. 이제는 DB에 직접 입력하는 것을 신경 쓰지 않지만 db 테이블이 업데이트 될지 확실하지 않습니다 (drupal 설정에 gazillion 테이블이 있음).

내가 구글과 드루팔 문서를 검색했지만, 난 정말

(내가 드루팔에 웹 개발자 ..에 의해 간단하고 자주 사용되는 기능이 될 것입니다 가정)이 뭔가를 찾을 수 없습니다 당신의 입력이 매우 감사하게 될 것입니다! 사전에

감사합니다,

샤디

답변

5

당신은이 같은 드루팔의 node_save 기능 뭔가를 사용할 수 있습니다

require 'includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

$node = new stdClass(); 

$node->title = "My imported node"; 
$node->body = "The body of my imported node."; 
$node->type = 'story'; 
$node->created = time(); 
$node->changed = $node->created; 
$node->status = 1; 
$node->promote = 1; 
$node->sticky = 0; 
$node->format = 1; 
$node->uid = 1; 

node_save($node); 

가의 Acquia의 사이트에서이 문서를 참조하십시오 이상 (CCK 필드를 포함, 당신은 node_save에 경로를 만들어야합니다 pathauto을 사용하는 경우) : http://acquia.com/blog/migrating-drupal-way-part-i-creating-node

+0

나는 완벽하게 생각한다. 나는 이것이 내가 다음에 한 것 같은데. :) 환호! –

1

당신은 그 목적을 위해 node_save()을 사용할 수 있어야합니다. 나는 cck 필드로 시도하지 않았지만 필드를 추가하면 후크를 통해 저장해야합니다. 그러나 코드를 통해 필드가있는 노드 유형을 작성하지 않으면이 기능은 관리 인터페이스에서 수행하는 설정에 따라 달라집니다.

0

node_save 올바른 유형 및 형식 필드를 배열 구조에 올바르게 설정하면 cck에 사용할 수 있습니다.

관련 문제