我有一個類型爲text的字段,我想將它轉換爲Drupal 7中的List(text)類型。我不能簡單地改變它的值,不要讓我,有沒有一個簡單的方法來做到這一點?將字段文本轉換爲列表(文本)drupal 7
回答
有沒有簡單的方法,沒有。至於我可以告訴這些都是手工DB改變你需要做:
在
field_config
變化type
列「list_text」和module
欄爲您的字段「列表」。然後,您需要更改
data
列中的序列化數組,以匹配列表類型(顯然它將具有文本類型的設置)。有沒有簡單的方法來告訴你如何在這裏做到這一點,最好的辦法是將序列化數組與一個列表類型的不同字段進行比較,然後您將能夠看到需要刪除/更改的值。在settings
下的allowed_values
數組將是您放置列表值的位置。一旦更改,請重新將其序列化並將其放回到您的字段的data
列中。之後,從與
field_myfield_
開始你的領域的field_data
和field_revision
表中刪除任何列,但不field_myfield_value
(列表類型仍需要此列)。爲
value
列的那些表添加索引。清除您的緩存
我必須警告這是完全未經測試它只是似乎是有道理的看錶結構,它會是一個好主意,退居了三個表的你以防萬一。
我只是寫一些代碼,應該在我Helper module您處理該問題:http://cgit.drupalcode.org/helper/tree/lib/FieldChangeHelper.php?h=7.x-1.x
FieldChangeHelper::changeType('my_text_field_name', 'list_text');
它應該適合大多數簡單的情況和領域,而應該進行徹底的測試。它目前還不更新任何字段格式化程序,因此您需要在運行此操作後查看該字段的顯示配置。
謝謝你 - 這工作很好,節省了大量的時間:) –
- 1. 將文本文件轉換爲列表
- 2. 將Unicode字段轉換爲文本
- 3. 將模型表單下拉字段轉換爲文本字段
- 4. 將文本轉換爲列
- 5. 將R中的列表字段轉換爲數據庫中的文本字段
- 6. 如何將文本字段中的文本轉換爲變量?
- 7. 將文本文件轉換爲python列表中的列表
- 8. 忽略將文本轉換爲列表
- 9. 將文本轉換爲列表
- 10. 將下拉列表轉換爲文本
- 11. 轉換文本字段字符爲int
- 12. 動態地將經典文本字段轉換爲TFL文本字段?
- 13. SQL轉換文本字段
- 14. 將文本文件中的文本轉換爲字典中的列表
- 15. 如何將Drupal 7圖像 - 字段標題文本字段更改爲textarea?
- 16. 將文本文字轉換爲UITextView
- 17. 將文字文本轉換爲公式
- 18. 將Excel錶轉換爲文本文件
- 19. 如何將文本格式列表轉換爲python列表
- 20. 轉換文本字段迄今爲止
- 21. 將字符串(字母)從文本文本轉換爲整數
- 22. 如何從文本文件中將文本轉換爲對象的字段
- 23. 將文本字符串轉換爲列表
- 24. 將三位數字轉換爲文本
- 25. 將字節轉換爲文本
- 26. 將包含樹的文本文件轉換爲列表
- 27. 將int轉換爲文本框文本?
- 28. 將HTML文本轉換爲純文本
- 29. 將文本框轉換爲文本區
- 30. 將3位數字轉換爲文本
工作就像一個魅力!謝謝 –
我還必須更改窗口部件的類型,您可以直接在'field_config_instance'中編輯數據,或編輯字段並選擇「選擇」或「複選框」作爲窗口部件類型。 同樣作爲一個提示,我發現最簡單的做法是先選擇字段並使用該序列化數據來編輯現有列。您基本上只需要更改名稱(以及這些條目的字符長度)和ID。 – Wayne