【问题标题】:Drupal Form module developmentDrupal 表单模块开发
【发布时间】:2014-02-05 09:35:11
【问题描述】:

我正在 drupal 7 中开发一个名为“form”的自定义模块。 我已将模块文件夹放在sites\all\modules\form 中。 我在“表单”文件夹中有 2 个文件。 “form.info”和“form.module”。

'form.info'

name = Form
description = Form creation.
core = 7.x

而 'form.module' 包含

<?php
function form_menu()
{
$items['form/examples'] = array
(
    'title' => 'Form API Examples',
    'description' => 'Examples of using the Form API',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('form_simple_form'),
    'access callback' => TRUE
);
return $items;
}

function form_simple_form($form, &$form_submit)
{
$form['color'] = array
(
    '#title' => t('Favorite Color'),
    '#type' => 'textfield',
    '#required' => TRUE,
    '#description' => t('What is the favorite color?'),
);
$form['submit'] = array
(
    '#type' => 'submit',
    '#value' => 'Submit',
)
return $form;

}

当我点击链接时,我只得到空白页。

提前致谢。

【问题讨论】:

  • 在什么链接上?你启用模块了吗?
  • 首页显示的链接标题...是的...我已启用该模块
  • 如果您忘记了,请尝试清除缓存...严重的是,您的代码中似乎没有任何问题,除了您在$form['submit'] mate 之后错过的分号
  • 谢谢兄弟..做了分号和缓存..面临同样的问题..

标签: php forms drupal drupal-7 form-api


【解决方案1】:

我为我工作,试试这个 mymodule.module 的代码

 <?php
 // $Id$
    function form_menu()
    {
    $items['form/examples'] = array
    (
        'title' => 'Form API Examples',
        'description' => 'Examples of using the Form API',
        'page callback' => 'drupal_get_form',
        'page arguments' => array('form_simple_form'),
        'access callback' => TRUE
    );
    return $items;
    }

    function form_simple_form($form, &$form_submit)
    {
    $form['color'] = array
    (
        '#title' => t('Favorite Color'),
        '#type' => 'textfield',
        '#required' => TRUE,
        '#description' => t('What is the favorite color?'),
    );
    $form['submit'] = array
    (
        '#type' => 'submit',
        '#value' => 'Submit',
    );
    return $form;
    }

当你创建 mymodule.info 文件时

  name = Form
  description = Form creation.
  core = 7.x
  package = Form

将包添加到它,以便您将模块放在他自己的盒子中。在所有这些模块之间更容易找到它。

【讨论】:

    【解决方案2】:

    将您的模块重命名为 form1,因为它与位于 /includes 中的 Drupal 内部表单模块冲突。

    您在这里忘记了分号:

    $form['submit'] = array
    (
        '#type' => 'submit',
        '#value' => 'Submit',
    ); //<- semicolon missing
    

    【讨论】:

    • @ArunBS 禁用旧模块,启用新模块。
    猜你喜欢
    • 2023-03-03
    • 2023-03-23
    • 2016-05-19
    • 1970-01-01
    • 2011-01-12
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    相关资源
    最近更新 更多