функция из модуля книги drupal - PullRequest
1 голос
/ 19 февраля 2011
              <?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 = $ variable ['book_link'];"откуда мне знать, что $ book_link - это массив.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2011

Функция устанавливает переменные, доступные в book-navigation.tpl.php .Функция вызывается (вместе с другими функциями предварительной обработки) в ответ на вызов

theme('book-navigation', $variables);

См. Настройка переменных для использования в шаблоне , как этоработает.

Я думаю, $variables['book_link'] - это массив, когда вызывается функция theme.Но чтобы быть уверенным, вам придется искать источники в Drupal.

0 голосов
/ 19 февраля 2011

Вот как я понимаю: аргумент $variables - это массив, переданный в функцию по ссылке.Одним из его элементов является $variables['book_link'], который содержит некоторую дополнительную информацию о книге.

Этот блок из 4 строк в основном копирует значения из массива $variables['book_link'] и перемещает их на один уровень вверх:

  • $variables['book_link']['bid'] -> $variables['book_id']
  • $variables['book_link']['link_title'] -> $variables['book_title']

и т. Д.

Тогда последний блок кодаопределяет, есть ли какие-либо дочерние элементы для отображения в навигации.Если это так, поместите их в $variables['tree'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...