ステップバイステップガイドに従って、モジュールイベントカレンダー機能を実装しました。これはモジュールへのリンクです:
http://drupal.org/project/events_calendar_feature
次に、外部のWebサイトから毎日情報をダウンロードするカスタムモジュールを作成しました(hook_cronを実装することにより)。このモジュールは、私が作成した「data_event」タイプのノードをプログラムで自動的に作成し(上記のガイドに従って)、サイト上のすべての新しいイベントを毎日使用します。これらは、作成された新しいコンテンツタイプ「data_event」のすべてのフィールドです。
ラベル:タイトルマシン名:タイトルフィールドタイプ:ノードモジュール要素
ラベル:ボディマシン名:ボディフィールドタイプ:ノードモジュール要素
ラベル:日付マシン名:field_event_datesフィールドタイプ:日付ウィジェット:テキストフィールド
問題は、ノードのさまざまなフィールドで適切に設定されています。設定する日付のフィールドの名前を知るにはどうすればよいですか?
これは私のモジュールでの現在の実装です。コメント行は、成功しなかったいくつかのテストです。
日付形式:dd / mm / yyyy時間形式:hh:mm(24h)
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);
}
よろしくお願いします。