首页 / 帖子
drupal_render() 里面一小段代码理解不了。求助。
if (isset($elements['#theme'])) {    
  $elements['#children'] = theme($elements['#theme'], $elements);
}  
// If #theme was not set and the element has children, render them now.  
// This is the same process as drupal_render_children() but is inlined  
// for speed.  
if ($elements['#children'] == '') {    
  foreach ($children as $key) {      
    $elements['#children'] .= drupal_render($elements[$key]);
  }
}

问题是,明明 $elements['#children'] 已经等于一个值了,然后又说当这个值为空的时候才去render child 是不是我那里没有看懂?


1个答案
AnnyO
发布于:2014-09-16 22:41

$elements['#children'] 和 foreach ($children as $key)的children是两回事。

这句话的意思应该是:

$elements['#children'] 为空的时候,给$elements['#children']赋值,这个值也是一个drupal_render子元素的结果。