Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
drupal_render() 里面一小段代码理解不了。求助。 - Drupal大学 - Drupal问答论坛
首页 / 帖子
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子元素的结果。