2012-02-19 11 views
3

私はdrupal 7をインストールしており、カスタムフォームを作成しようとしています。試している以下のコードはhttp://drupal.org/node/717722から取得しましたが、.infoファイル以外の変更は行っていません。ここ drupal 7のシンプルなサンプルフォームは、すべて正しく設定されているため、「ページが見つかりません」と表示されます。

は、私は/すべて のサイトでそれを*のmy_module *フォルダにこれらの2つのファイルを配置し、配置したmy_module.module

<?php 

/** 
* This function defines the URL to the page created etc. 
* See http&#58;//api.drupal.org/api/function/hook_menu/6 
*/ 
function my_module_menu() { 
    $items = array(); 
    $items['my_module/form'] = array(
    'title' => t('My form'), 
    'page callback' => 'my_module_form', 
    'access arguments' => array('access content'), 
    'description' => t('My form'), 
    'type' => MENU_CALLBACK, 
); 
    return $items; 
} 

/** 
* This function gets called in the browser address bar for: 
* "http://yourhost/my_module/form" or 
* "http://yourhost/?q=my_module/form". It will generate 
* a page with this form on it. 
*/ 
function my_module_form() { 

    // This form calls the form builder function via the 
    // drupal_get_form() function which takes the name of this form builder 
    // function as an argument. It returns the results to display the form. 
    return drupal_get_form('my_module_my_form'); 

} 

/** 
* This function is called the "form builder". It builds the form. 
* Notice, it takes one argument, the $form_state 
*/ 
function my_module_my_form($form_state) { 

// This is the first form element. It's a textfield with a label, "Name" 
    $form['name'] = array(
    '#type' => 'textfield', 
    '#title' => t('Name'), 
); 
    return $form; 
} 

?> 

my_module.info以下

name = My module 
description = Module for form api tutorial 
core = 7.x 

されています/ modules その後、エラーや警告なしでモジュールページからモジュールを有効にしました。今

、私はURLを使用するため、これをアクセスしようと、localhost/d7/?q=my_module/form

私は、「ページが見つかりません」エラーが発生します..!なぜ..??私は何が欠けています..?

このモジュールだけでなく、開発者モジュールhttp://drupal.org/project/examplesのこの例も同様です。同じエラーが表示されます。

+2

'admin/config/development/performance'でキャッシュをクリアしましたか? – nmc

+0

ありがとうございました... !!それは私が間違っていたところです.... :) – akshaynhegde

答えて

0

あなたは書く必要があります:

my_moduleはモジュール名です
$items['my_module'] 

を。
そして、あなたは、このようなコードを追加し

sites/all/theme/your_theme/template/page-my_module_my_form.tpl.php 

と、このファイル内でpage-my_module_my_form.tpl.phpファイルを作成する必要があります。

<?php 

if (isset($form['submission_info']) || isset($form['navigation'])) { 
    print drupal_render($form['navigation']); 
    print drupal_render($form['submission_info']); 
} 

print drupal_render($form['submitted']); 

?> 

<?php print drupal_render_children($form); ?> 

はlocalhost/D7/my_module

で実行しようとします

それ
...
関数my_module_my_form($ form_state、$フォーム):私はこれが遅れているけど、私はあなたがそうのようなフォームに渡される$フォーム変数を、持っている必要があると信じています

0

あなたに役立つことフォームデータを格納するフォーム変数が実際にあります。

関連する問題