我被困在一個問題上,我已經研究了好幾天沒有運氣,這裏的答案通常都是現貨。以編程方式設置位置數據
我有自定義模塊的代碼,從形式提供的數據添加一個節點:
$edit = array();
$edit['uid'] = $user->id;
$edit['name'] = $user->name;
$edit['status'] = 1;
$edit['taxonomy'] = array($term_id);
$edit['title'] = $Title;
$edit['body'] = $body;
等等
,然後保存:
node_invoke_nodeapi($edit, $nType);
node_validate($edit);
if ($errors = form_get_errors()) {
print_r($errors);
}
$node = node_submit($edit);
node_save($node);
這一切都完美。但我試圖根據提供的(清理過的)zip字段將位置數據添加到每個節點。
我有gmap和位置模塊安裝和工作。當我使用drupal內容編輯器直接添加壓縮文件時,它一切正常。甚至是gmap的觀點。所以我知道版本和mod都是正確的。
我用這個:
$location = array(
'country' => 'US',
'postal_code' => $zip,
);
$locationID = location_save($location);
這:
$location['country'] = "US";
$location['postal_code'] = $zip;
$locationID = location_save($location);
有和沒有國家的元素。 然後在節點數據初始化部分(上文)這樣的:
$edit->locations[0]['lid'] = $locationID;
或
if($locationID) $edit['field_location'][0]['lid'] = $locationID;
或
if($locationID) $edit['location'][0]['lid'] = $locationID;
但沒有的工作原理。提交將實際通過,但沒有保存位置數據。並沒有錯誤拋出。
任何幫助,這將不勝感激。