2011-08-08 63 views
4

我想爲我從Drupal 6遷移的模塊創建一個.install。它需要兩個'profile字段',它在drupal 6中進行檢查爲和自動創建。如何在Drupal 7中以編程方式添加用戶字段

將其升級到Drupal 7我試圖用字段來做到這一點!夠簡單嗎?

到目前爲止,我有

if(!field_info_field('user_fullname')) { 
    $field = array(
     'field_name' => 'user_fullname', 
     'type' => 'text', 
     'settings' => array(
      'required' => TRUE, 
     ), 
    ); 
    field_create_field($field); 
    $instance = array(
     'field_name' => 'user_fullname', 
     'entity_type' => 'user', 
     'label' => 'The user\'s full name', 
     'bundle' => 'additional_info', 
     'required' => true, 
     'widget' => array(
      'type'=>'options_select', 
     ) 
    ); 
    field_create_instance($instance); 
} 

其中,果然,創建領域,但它在用戶的個人資料是不可見的?
我需要額外的東西嗎?如果是這樣,什麼?

很多謝謝。

已解決:這是由於捆綁(不完全確定捆綁是什麼),我改變了捆綁到'用戶',它出現了!

+0

也許你應該試試看管理顯示? – drupality

+0

也不會出現它們,只有我知道該字段存在的原因是在phpmyadmin中查找的結果! –

+0

啊哈!這是由於捆綁(不完全確定捆綁是什麼),我將捆綁包改爲'用戶',它出現了!呃,沒有足夠的聲望回答我自己的問題。呃,好吧! –

回答

0

這是由於捆綁(不完全確定捆綁是什麼),我將捆綁包更改爲「用戶」,它出現了!

4

包與內容類型幾乎相同。但是因爲在D7中用戶也是實體,但他們並不滿足,所以使用「內容類型」這個術語沒有意義。參考資料:Barry Jaspan的DrupalCon巴黎2009會議:模塊開發人員現場API簡介。

Intro to the Field API for Module Developers

0

據我所知在D7束是類似的實體模型,它可以有多個領域。默認的drupal捆綁包是節點,用戶和分類,但是新的API也爲開發者提供了創建自定義包的功能。每個領域都需要屬於一個捆綁包。

0

Drupal中的包是實體的一個子集。在這種情況下,實體類型是用戶,並且只有一種類型的用戶,因此該包是用戶。

在分類:分類是實體,詞彙是捆綁。

節點:節點是實體和內容類型是捆綁包。

沒有字段可以附加到實體,屬性附加到實體(發佈,粘滯等)。字段附加到捆綁。

我沒有足夠的代表評論,所以這裏是我通過谷歌找到這個答案。就像我那樣。

相關問題