Drupal 如何得到字段的值?

迷南。 2022-05-20 06:48 343阅读 0赞

直接的方法如下:

  1. $node = node_load($nid);
  2. $field_val = $node->field_name['und'][0]['value'];

用这个方法来获取字段的值有几个问题:

  • 多语言无法处理
  • 文本字段是[0][‘value’],但其他类型的字段并不适用,例如引用字段就是 [0][‘target_id’]

下面适用api方法获取字段值:

  1. $node = node_load($nid);
  2. $fields = field_get_items('node', $node, 'field_name');
  3. $field_wrap = field_view_value('node', $node, 'field_name', $fields[0]);
  4. $fval = $field_wrap['#markup'];

从上面可以看出,Drupal为了封装node接口,引入很多接口函数,并没有简化问题。这些复杂性只有在处理多个场景时才会体现出优势,通常遇到的问题并不复杂,因此适用Drupal的api反而增加了复杂性。

发表评论

表情:
评论列表 (有 0 条评论,343人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL插入时间戳

    它可以用于在插入或更新数据时,将当前时间戳自动填充到指定的时间戳字段中。在实际应用中,我们可能会遇到需要在MySQL数据库中插入时间戳字段的情况。字段的默认值为当前时间戳...