我有兩個字段,我想用完全相同的值填充;用戶只能填寫一個。
我也有一個函數,檢查第二個字段是否爲空。 Drupal 6和Drupal 7中的字段值是如何獲得和設置的?編輯: 我正在嘗試編輯模塊。
是的,我在談論節點字段。
$ node數組只有我添加到節點的術語ID。如何獲得術語名稱,知道其ID?以編程方式獲取和設置字段值
3
A
回答
7
既然你用cck標記了這個問題,我會假設你正在使用節點字段。
一個場(X)的值複製到另一個(Ý),既可以安裝Computed Field模塊並對其進行設置,使得ÿ的值是從的值來計算X,或者您可以創建類似下面的東西掛鉤自定義模塊:
這個鉤子將所有數據從現場X到現場Ÿ:
function mymodule_node_presave($node) {
$node->field_y = $node->field_x;
}
該鉤子只複製領域X的第一個實例的值到現場Ÿ:
function mymodule_node_presave($node) {
$node->field_y[$node->language][0]['value'] = $node->field_x[$node->language][0]['value'];
}
你可能想要做$node->field_x
一個print_r
和$node->field_y
爲您的數據結構根據您使用的字段的類型可能會有所不同。如果您想檢查是否有任何一個字段爲空,則可以將賦值語句包裝在調用您的自定義函數的條件中。
+0
爲了檢查我需要的數據我使用了Devel模塊,所以不需要在print_r函數中崩潰 – Povylas 2011-03-29 07:52:52
2
查找字段值的一種好方法是使用由字段API提供的field_get_items()。
field_get_items($entity_type, $entity, $field_name, $langcode = NULL);
其中:
$ ENTITY_TYPE:是像 '節點' 或 '用戶',
$實體:是它需要的字段值的實體,
$ FIELD_NAME :字段的機器名稱,
$ langcode:實體存儲的語言,它是可選的,如果未提供,field_get_items將自動找到它。
相關問題
- 1. SharePoint:以編程方式從MultiChoice字段獲取值
- 2. 以編程方式設置php.ini值
- 3. 以編程方式設置timepicker值
- 4. 以編程方式設置PopUpMenuButton的值?
- 5. 以編程方式獲取.ASPXAUTH cookie值
- 6. 如何以編程方式獲取/設置當前位置?
- 7. 以編程方式設置ColumnDefinition和RowDefinition
- 8. 以編程方式設置iPhone設置
- 9. 如何以編程方式在C#中從Crystal Report公式字段獲取值?
- 10. 如何以編程方式設置Django選擇字段?
- 11. WPF以編程方式根據需要設置字段
- 12. 以編程方式獲取Tensorflow op的設備位置
- 13. 將DNS設置爲'以編程方式自動獲取'
- 14. 以編程方式獲取Android中的「屏幕鎖定」設置
- 15. 獲取JSON數據後以編程方式設置UITableViewCell高度
- 16. 如何以編程方式設置WebKit密碼文本字段的值?
- 17. 以編程方式設置文本字段的IOS設置寬度
- 18. 以編程方式設置/取消設置_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_(運行時)
- 19. 以編程方式獲取術語參考的字段值(Drupal 7)
- 20. 以編程方式配置IPhone設置
- 21. trigger.io以編程方式設置方向
- 22. 以編程方式訪問樣式以獲取值
- 23. 以編程方式設置查看器的位置和方向
- 24. 以編程方式設置Eclipse設置編輯器位置
- 25. 如何獲取cck自定義字段的值和設置值
- 26. 以編程方式設置RadioGroup
- 27. 如何以編程方式設置masterpage?
- 28. 以編程方式設置LayoutParams
- 29. 以編程方式設置LayoutParams.BELOW
- 30. 以編程方式設置WPF屬性
你的問題是什麼?這是關於如何檢查字段的值?還是要執行檢查?如何將模塊(此部分)從D6升級到D7? – Haza 2011-03-27 11:32:35