drupal book模块的一个功能

时间:2011-02-19 14:36:57

标签: php drupal function

              <?php
function template_preprocess_book_navigation(&$variables) {
  $book_link = $variables['book_link'];

 // Provide extra variables for themers. Not needed by default.
$variables['book_id'] = $book_link['bid'];
$variables['book_title'] = check_plain($book_link['link_title']);
$variables['book_url'] = 'node/' . $book_link['bid'];
$variables['current_depth'] = $book_link['depth'];

 $variables['tree'] = '';
 if ($book_link['mlid']) {
 $variables['tree'] = book_children($book_link);
}

我无法理解,任何人都可以为我解释。谢谢,这一行的目的是什么“$ book_link = $ variables ['book_link'];”我怎么知道$ book_link是一个数组。

2 个答案:

答案 0 :(得分:0)

以下是我的理解:参数$variables是一个通过引用传递给函数的数组。其中一个元素是$variables['book_link'],其中包含有关该书的一些其他信息。

这4行的块基本上是从$variables['book_link']数组中复制值并将它们向上移动一级:

  • $variables['book_link']['bid'] - &gt; $variables['book_id']
  • $variables['book_link']['link_title'] - &gt; $variables['book_title']

然后最后一段代码确定是否有任何要在导航中显示的子项。如果是,请将它们放入$variables['tree']

答案 1 :(得分:0)

该函数设置book-navigation.tpl.php中可用的变量。响应

的调用,调用该函数(以及其他预处理函数)
theme('book-navigation', $variables);

请参阅 Setting up variables for use in a template 了解其工作原理。

我的猜测是,$variables['book_link']是调用theme函数时的数组。但可以肯定的是,你必须搜索Drupal的来源。