Drupal 如何得到欄位的值?
直接的方法如下:
$node = node_load($nid);
$field_val = $node->field_name['und'][0]['value'];
用這個方法來獲取欄位的值有幾個問題:
- 多語言無法處理
- 文字欄位是[0][‘value’],但其他型別的欄位並不適用,例如引用欄位就是 [0][‘target_id’]
下面適用api方法獲取欄位值:
$node = node_load($nid);
$fields = field_get_items('node', $node, 'field_name');
$field_wrap = field_view_value('node', $node, 'field_name', $fields[0]);
$fval = $field_wrap['#markup'];
從上面可以看出,Drupal為了封裝node介面,引入很多介面函式,並沒有簡化問題。這些複雜性只有在處理多個場景時才會體現出優勢,通常遇到的問題並不複雜,因此適用Drupal的api反而增加了複雜性。
相關文章
- GORM 如何讀取別名欄位的值GoORM
- 【Mongo】mongo更新欄位為另一欄位的值Go
- 請教一下 多欄位值如何排序?排序
- 【EF Core】自動生成的欄位值
- MySQL如何查詢某個欄位含有字母數字的值MySql
- SQL 如何查詢每個分組都出現的欄位值SQL
- mongodb 取欄位最大值MongoDB
- mybatisplus欄位值自動填充MyBatis
- 如何用FGA得到繫結變數的值變數
- jpa~為欄位新增insert的預設值
- arcgis欄位值計算(擷取A欄位前8位+按照順序計算8位)
- 查詢oracle欄位預設值Oracle
- oracle增加欄位帶預設值Oracle
- sql設定欄位預設值SQL
- Cache-Control欄位值詳解
- mysqldump 欄位值帶單引號MySql
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- java 將物件集合轉為欄位值的 listJava物件
- Elasticsearch 統計某欄位有值的文件數Elasticsearch
- MySQL null值欄位是否使用索引的總結MySqlNull索引
- mysql基礎 依據一個欄位查詢另外一個欄位存在不同的值MySql
- Oracle-批量修改欄位裡面的值Oracle
- Java記憶體模型FAQ(八)Final欄位如何改變它們的值Java記憶體模型
- mybatis自動填充多個表相同欄位的值MyBatis
- mysql 字串型別的數值欄位按照數值的大小進行排序MySql字串型別排序
- mongodb如何改_id欄位?MongoDB
- 帝國CMS欄目管理增加自定義欄位值的為空判斷
- Laravel Tips:指定自增欄位起始值Laravel
- BeanUtils.copyProperties 選擇性賦值欄位Bean賦值
- MySQL欄位預設值設定詳解MySql
- MySQL查詢某個欄位含有字母數字的值MySql
- pydantic 欄位欄位校驗
- Django日期欄位預設值default=timezone.nowDjango
- sqlserver判斷欄位值是否存在某個字元SQLServer字元
- SharePoint 多行文字欄位設定預設值
- laravel-query-builder 對於欄位 值為 null的排序方式LaravelUINull排序
- 如何理解 package.json 中的 proxy 欄位?PackageJSON
- Js實現Object按照值的某個欄位(數值型別)的大小進行排序JSObject型別排序