43 呈现API

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    如果你认真读过systemk_element_info函数中的代码,你会发现这里还定义了一个元素page。它是一个表单元素么?当然不是。在Drupal中,表单的这种数组形式的结构,经过不断的实践,发现它给我们带来了多个方面的便利性,因此在Drupal7中,这种概念又作了进一步的扩充,把它抽象成为了“呈现数组”(Render Array)。所有的表单、表单元素都属于“呈现数组”。但不是每一个“呈现数组”都是表单。也就是说,“呈现数组”这个概念范畴更广一点。

    在Drupal7中,对于各种创建的内容,基本上都采用“呈现数组”这种方式。在本章的第一个实例代码中,页面回调函数中,我们就采用了“呈现数组”。使用这种方式的好处时,以page为例,我们可以方便的修改其它模块创建的页面内容,就像我们修改其它模块创建的表单一样方便,所不同的是这里使用hook_page_alter钩子函数。例如:

function mymodule_page_alter(&$page) {  

  // 把搜索表单放在页脚.  

  $page['footer']['search_form'] = $page['sidebar_first']['search_form'];  

  unset($page['sidebar_first']['search_form']);    

  //删除"powered by Drupal"区块 

  unset($page['footer']['system_powered-by']);

}


Drupal版本: