hook_menu给404

时间:2010-12-20 10:33:46

标签: drupal-6 http-status-code-404 hook-menu

我正在尝试在Drupal 6.20中创建一个简单的模块,如下所示:

<?php

function example_help($section) {
  switch ($section) {
    case 'admin/modules#description':
      return t('This module implements an example form.');
  }
}

function example_menu($may_cache) {
  $items = array();
  if ($may_cache) 
  {
    $items[] = array(
      'path' => 'example',
      'title' => t('Example'),
      'callback' => 'example_page',
      'access' => TRUE,
      'type' => MENU_NORMAL_ITEM
    );
  }
  return $items;
}

function example_page() {
  return drupal_get_form('example_page_form');
}

function example_page_form() {
  $form['fullname'] = array(
    '#type' => 'textfield',
    '#title' => t('Enter your full name'),
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}

function example_page_form_submit($form_id, $form_values) {
  ...some code
}

但每当我输入http://mysite.com/example时,它会被重定向到404.请帮助。我是Drupal技术的新手。除了.info和.module文件之外,是否还需要更多文件?

感谢。

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。对于Drupal 6.X,它的菜单钩子应该如下:

function example_menu() {
  $items = array();
    $items['example'] = array(
        'title' => 'List',
        'page callback' => 'example_page',
        'access callback' => 'user_access',
        'access arguments' => array('access content'),
        'weight' => -10,
        'type' => MENU_DEFAULT_LOCAL_TASK,
      );
  return $items;
}