hook_block() 的实现

Implementation of hook_block()

网上找到这段代码,想实现一下。但是,我从来没有使用过钩子函数。

我的问题是当我将此代码放入一个全新的 php 文件时,例如:uc_microcartTest.php。 我如何调用这个新的 php 文件并让结果像这样显示?

/**
 * Implementation of hook_block().
 */
function uc_microcart_block($op = 'list', $delta = 0, $edit = array()) {
  switch ($op) {
    case 'list':
      $blocks[0] = array(
        'info' => t('Micro-sized cart block for page header.'),
        // This block cannot be cached, because anonymous
        // sessions can have differing cart contents.
        // To improve this, see drupal.org/project/uc_ajax_cart
        'cache' => BLOCK_NO_CACHE,
      );
      return $blocks;
    case 'view':
      if ($item_count = uc_cart_get_total_qty()) {
        $block = array();
        $block['subject'] = '';
        $block['content'] = theme('image',
          drupal_get_path('module', 'uc_cart') .'/images/cart-full.png');
        $block['content'] .= format_plural($item_count,
          'My cart: 1 item', 'My cart: @count items');
        $block['content'] = l($block['content'], 'cart', array('html' => TRUE));
        return $block;
      }
      break;
    }
}

尽管可以从外部 PHP 文件调用函数,但我建议您遵循“Drupal 方式”:

  1. Create your own custom module
  2. <your_module_name>.module 文件中实现钩子函数。
  3. 启用你的模块

您还应该阅读有关 hooks 如何在 Drupal 中工作的更多信息 here