Search code examples
drupal-6http-status-code-404hook-menu

hook_menu giving 404


I am trying to create a simple module in Drupal 6.20 as follows:

<?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
}

But whenever i am typing in http://mysite.com/example, its getting redirected to 404. Please help. I am very new to Drupal technology. Is there ne more files needed for this apart from the .info and .module file?

Thanks.


Solution

  • Ive got the solution. For Drupal 6.X it menu hook should be as follows:

    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;
    }