book_nodeapi

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

modules/book/book.module, строка 427

Версии
5 – 6
book_nodeapi(&$node, $op, $teaser, $page)

Implementation of hook_nodeapi().

Appends book navigation to all nodes in the book.

Код

<?php
function book_nodeapi(&$node, $op, $teaser, $page) {
  switch ($op) {
    case 'load':
      return db_fetch_array(db_query('SELECT parent, weight FROM {book} WHERE vid = %d', $node->vid));
      break;
    case 'view':
      if (!$teaser) {
        if (isset($node->parent)) {
          $path = book_location($node);
          // Construct the breadcrumb:
          $node->breadcrumb = array(); // Overwrite the trail with a book trail.
          foreach ($path as $level) {
            $node->breadcrumb[] = array('path' => 'node/'. $level->nid, 'title' =>  $level->title);
          }
          $node->breadcrumb[] = array('path' => 'node/'. $node->nid);

          $node->content['book_navigation'] = array(
            '#value' => theme('book_navigation', $node),
            '#weight' => 100,
          );

          if ($page) {
            menu_set_location($node->breadcrumb);
          }
        }
      }
      break;
    case 'update':
      if (isset($node->parent)) {
        if ($node->revision) {
          db_query("INSERT INTO {book} (nid, vid, parent, weight) VALUES (%d, %d, %d, %d)", $node->nid, $node->vid, $node->parent, $node->weight);
        }
        else {
          db_query("UPDATE {book} SET parent = %d, weight = %d WHERE vid = %d", $node->parent, $node->weight, $node->vid);
        }
      }
      break;
    case 'delete revision':
      db_query('DELETE FROM {book} WHERE vid = %d', $node->vid);
      break;
    case 'delete':
      db_query('DELETE FROM {book} WHERE nid = %d', $node->nid);
      break;
  }
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему