2013-02-06 20 views
0

我遵循分步指南來實現模塊事件日曆功能。這是鏈接到模塊:(通過實施hook_cron)如何以編程方式創建數據事件節點並設置數據字段

http://drupal.org/project/events_calendar_feature

我再從外部網站,每天創建的自定義modulethat下載信息。這個模塊自動創建節點編程的類型「data_event」,我創建了(遵循上面提到的指南)每天在網站上的所有新事件。這些都是新的內容類型「data_event」創建的字段:

標籤:標題機器名稱:標題字段類型:節點模塊元素

標籤:一體機名稱:身體字段類型:節點模塊元素

LABEL:日期(或多個)MACHINE NAME:field_event_dates字段類型:日期WIDGET:文本字段

enter image description here

問題被正確設定的節點的各個領域。我如何知道要設置日期的字段名稱?

這是我目前在我的模塊中的實現。評論線是一些沒有成功的測試。

日期格式:DD/MM/YYYY時間格式:HH:MM(24小時)

function create_data_event_node($title, $id, $data_event_body, $startDate, $startDateTime, $endDate, $endDateTime) { 
    watchdog("Indico Downloader", "Creating new data event node."); 
    $node = new stdClass(); 
    $node->type = "data_event"; 
    $node->title = $title; 
    $node->language = LANGUAGE_NONE; 
    $node->id = $id; 
    node_object_prepare($node); 

    $node->body[$node->language][0]['value'] = $data_event_body; 
    $node->body[$node->language][0]['format'] = 'full_html'; 

    // $node->field_event_dates[$node->language][0]['value']['date'] = $startDate." - ".$startDateTime; 
    // $node->field_event_dates = array(
     //  0 => array(
     //   'value' => format_date($om__result->date, 'short'), 
     // ), 
     //); 
    // $node->field_event_dates[$node->language][0]['value']['time'] = $startDateTime; 
    // $node->field_event_dates[$node->language][0]['value2']['date'] = $endDate; 
    // $node->field_event_dates[$node->language][0]['value2']['time'] = $endDateTime; 

    $node = node_submit($node); 
    node_save($node); 
} 

預先感謝您的回答。

回答

0

我們首先確保您已將字段配置爲包含多個值? - 點擊字段後面的「編輯」。 - 驗證「值的數目」配置一旦做到這一點有超過1

,你應該能夠通過對分配一個值來設定的第一個值: $節點 - > field_event_dates [$節點 - >語言] [0] ['值'] =「任何你想要的」。 和第二個日期: $ node-> field_event_dates [$ node-> language] [1] ['value'] =「這是第二個值」。

等等

直到: $節點 - > field_event_dates [$節點 - >語言] [9] [ '值'] = 「這是最後的可能」(假設你已經設置最大值爲10)。

我希望這有助於嗎?

相關問題