<?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是一个数组。
答案 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的来源。