我正在使用自動節點標題,它將生成一個節點的標題。但是,當我使用node_save創建節點時,這不會發生。見下文:Drupal的自動節點標題和node_save?
function save_contact($firstName, $lastName, $email, $showErrors = false) {
global $user;
$edit = array();
$edit['type'] = 'contact';
$edit['uid'] = $user->uid;
$edit['name'] = $user->name;
$edit['promote'] = 0;
$edit['comment'] = 0;
$edit['status'] = 1;
$edit['field_contact_name'][0]['value'] = $firstName; // NOTE
$edit['field_contact_surname'][0]['value'] = $lastName; // NOTE
$edit['field_contact_email'][0]['email'] = $email; // NOTE
$edit['title'] = $firstName.' '.$lastName; // NOTE
node_invoke_nodeapi($edit, 'contact');
node_validate($edit);
$node = node_submit($edit);
node_save($node);
}
save_contact("NAME", "SURNAME", "[email protected]");
當產生節點,標題變爲: 「[field_contact_name格式化] [field_contact_surname格式化]」 代替, 「NAME姓」。
任何想法,爲什麼?我猜測自動節點標題沒有提到我輸入的值,或者可能標題生成發生在我指定值的時間點之前。
任何想法?
線74 auto_nodetitle.module
return empty($node->auto_nodetitle_applied) && ($setting = auto_nodetitle_get_setting($node->type)) && !($setting == AUTO_NODETITLE_OPTIONAL && !empty($node->title));
到那個邏輯
我已經設置了聯繫,有一個自動node_title [field_contact_name格式] [field_contact_surname格式] 我的問題是,爲什麼它居然提出,標題,而不是「NAME姓」。我必須在什麼時候設置標題以繞過自動節點標題? – coderama 2009-10-02 07:19:49
或者我必須設置哪些字段,以便自動正確設置標題? – coderama 2009-10-02 07:20:19
從峯值開始,它看起來像節點標題被設置爲node_submit()過程的一部分。 – Grayside 2009-10-02 23:59:54