사용자 정의 컨텐츠 유형 "show"의 노드를 생성하는 일부 레거시 코드에서 문제를 해결하려고하지만 동일한 유형의 동일한 제목을 가진 노드가 이미 존재하지 않는 경우에만 문제를 해결하려고합니다. 코드는 다음과 같이 보입니다 :Drupal 6 - 노드를 저장할 때 node_submit()이 필요합니까?
$program = node_load(array('title' => $xml_node->program_title, 'type' => 'show'));
if (!$program) {
$program = new stdClass();
$program->type = 'show';
...
node_submit($program);
node_save($program);
}
그래서 스크립트는 먼저 특정 제목의 'show'콘텐츠 유형으로 노드를로드하려고 시도하고 실패하면 생성합니다.
문제는 짧은 시간 안에 여러 번 호출되면 (루프 내부에서) 이중 노드가 생성된다는 것입니다. 같은 제목으로 2 번 쇼를 만들었습니까?
거기에 무슨 문제가있을 수 있습니까?
Drupal 6에서 노드를 저장하는 방법에 대한 예제를 찾고있었습니다. 일부에서는 node_submit()도 호출하지 않았습니다. 전화가 필요한거야? 그렇다면 node_submit()이 반환 한 것을 node_save()에 전달해야할까요? 아니면 node_load()가 어떤 이유로 기존 노드를로드하지 못했을까요? 어쩌면 일부 캐시를 정리해야합니까?
참조 http://drupal.stackexchange.com/questions/83277/what-is-the-purpose-of-using-node-submit-before-node-save – nawfal