使用field_get_items获取字段条目

方法一

  1. <?php
  2. $field = $node->body[LANGUAGE_NONE][0][‘value‘];
  3. ?>

这个方法的弊端是根据语言项来获取值,如果Drupal是多语言的,这个方法就不适用了。

方法二

  1. <?php
  2. $body = field_get_items(‘node’, $node, ‘body’, $node->language);
  3. print $body[0][‘value‘];
  4. //获取body 字段 teaser的值
  5. $teaser = field_view_value(‘node’, $node, ‘body’, $body[0],’teaser’);
  6. ?>

通过field API获取到字段的值,并且能自动判断当前node所处的语言环境,适用于Drupal 多语言网站。

方法三

  1. <?php
  2. $node = node_load($nid);
  3. $wrapper = entity_metadata_wrapper(‘node’, $node);
  4. $value = $wrapper->body->value();
  5. ?>

这个方法是通过entity模块的metadata wrapper封装获取到值,需要确定Drupal 7启用了entity模块。

从上面的汇总,我更建议你使用方法二或者方法三。

时间: 2024-08-06 07:23:36

使用field_get_items获取字段条目的相关文章

利用反射获取字段并获取值或者设置值

package Reflect; import java.lang.reflect.Field;class User{ public String account; public String password;}class Student extends User{ public int age; public String name; private String sex; public Student() { System.out.println("调用无参构造器创建对象");

PHP获取字段长度相关函数使用技巧

作为一个合格的 在设计数据库时,因每个字段所代表的数据含义不同,那么各个字段的长度也就不会完全相同.在PHP中,使用mysql_field_len()函数可实现PHP获取字段长度,该函数的语法格式如下: int mysql_field_len ( resource $result, int $field_offset ) 在上述语法中涉及到的参数说明如下. l result:mysql_query()函数执行后返回的结果集. l field_offset:字段的偏移量,起始值为零. 使用mysq

kettle不能正常自动获取字段

Unable to close prepared statement after determining SQL layoutYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1 不能正常获取字段,

java中反射机制通过字节码文件对象获取字段和函数的方法

pclass = Class.forName("get_class_method.Person"); //Field ageField = pclass.getField("age");//因为age成员变量是私有的,所以会产生NoSuchFieldException异常 Field ageField = pclass.getDeclaredField("age");//获得该对象反映此 Class 对象所表示的类或接口的指定已声明字段 Obje

SQL修改字段默认值、获取字段默认值

一.SQL修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 说明:添加一个表的字段的约束并指定默认值 go 例: alter table T_ping drop constraint DF_T_ping_p_c alter table T_ping add constraint DF_T_ping_p_c DEFAUL

Django如何从Model中获取字段名称——verbose_name

一.背景 CRM项目重新总结一下,重写之前的项目发现有不少知识点已经忘记,所以特此来重新总结一下一便后续能够回忆起 二.代码分析 1. 核心代码 from django.conf.urls import url from django.shortcuts import HttpResponse,render class VbcConfig(object): list_display = [] def __init__(self,model_class,site): self.model_clas

【反射之Field】获取字段

■getFields().getDeclaredFields().getField() 和 getDeclaredField()的用法 1 package reflect.field; 2 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.Field; 5 import java.lang.reflect.InvocationTargetException; 6 import java.lang.reflect.

Mssql根据表名获取字段

根据表名获取表名.字段.描述和类型长度,正好有需要的朋友们可参考添加自需的字段,sql语句如下: 1 SELECT TableName = OBJECT_NAME(cols.object_id), ColumnsName = props.name, Description = props.value, Length=cols.max_length 2 FROM sys.columns cols inner JOIN sys.extended_properties props ON 3 props

反射动态的获取字段&amp;暴力访问

import java.lang.reflect.Field; public class ReflectDemo3 { public static void main(String[] args) throws Exception { /* * 获取类中的成员 * 反射字段. */ getFieldDemo(); } public static void getFieldDemo() throws Exception{ String className = "cn.qujianlei.domai