问题标签 [drupal-fapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5951 浏览

php - Drupal 自定义节点表单

我想为注册用户创建一个输入表单,与管理员的内容创建表单分开。每次提交都会创建多个节点。为了说明这种情况,我将使用内容类型ProjectReview。

项目标题描述所有者评级

审查:标题,审稿人,项目,难度

我已经使用 CCK 模块设置了内容类型及其字段。我想创建一个为注册成员(非管理员)显示的输入表单。其字段包括项目名称描述所有者评级审查难度

提交表单后,Project NameDescriptionOwnerRating值进入新的Project节点,其余的进入新的Review节点。

我想做的另一个自定义是让RatingDifficulty输入字段使用star rating input

实现这一目标的最佳方法是什么?我应该创建自定义模块和自定义表单(谁能指出我该怎么做)?或者有什么我可以使用的模块吗?

谢谢

0 投票
4 回答
1483 浏览

php - Drupal 6 表单格式

我正在尝试在 drupal 6 中创建一个表单,该表单在同一行上有多个项目。更具体地说,我想要一个右对齐的表单,它有一个文本字段、下拉框和按钮都在同一行。

我知道如何创建项目,但 drupal 倾向于将它们全部放在单独的行上。我怎么把它放在一条线上?

谢谢

0 投票
3 回答
7457 浏览

php - 如何在数据表中包含 drupal 表单元素

我有一个数据表,其中填充了与 drupal 内容无关的数据(来自第三方系统)。这些数据与必须被批准/标记为不合适的照片有关。

所以我正在编写一个 Drupal 管理模块,它应该管理这些内容。到目前为止,我已经使用 theme('table',...) 构建了一个表格,每行显示 1 张照片,以及一些其他元数据。我现在想在表格中包含一些表单按钮并构建一些由这些按钮触发的 Ajax 操作。

这篇文章看起来很相关http://drupal.org/node/112358但我担心这不是 Drupal 6 的做事方式。

任何人都可以就如何最好地解决这个问题提供一些建议 - 最好使用核心模块/表单覆盖功能。Drupal 版本是 6.14。

0 投票
1 回答
838 浏览

drupal - 具有复杂 fAPI 子字段的 Drupal CCK 字段类型

这个问题基本上是这个问题的后续:

具有多个子字段的 Drupal 自定义 CCK 字段

我需要构建一个 CCK 字段类型来存储多条数据,并且 fAPI 表单元素接受已经存在的每条数据的输入。这些元素通过 fAPI #process 函数构建到多个 HTML 表单输入中。问题是当我尝试在我的 CCK 字段中使用这些元素时,来自小部件的输入与hook_field_settings(). 小部件返回如下内容:

除非有办法在 中指定“子列” hook_field_settings(),否则在我看来,我不能在 CCK 字段中使用带有子元素的表单元素类型。我尝试使用 CCK 字段验证从 中提取“imce_xxx”值thumbnail_image,同样使用user_address,但这并没有让我得到任何结果。

不能在 CCK 字段定义中使用带有子元素的表单元素吗?

谢谢,
克里夫史密斯

0 投票
2 回答
1994 浏览

php - Drupal 6 验证表单回调函数

我有一个简单的表单,在节点显示页面上有一个选择菜单。有没有一种简单的方法来验证我的回调函数中的表单?通过验证我并不是说任何高级的东西,只是为了检查表单数组中实际存在的值。例如,在没有 ajax 的情况下,如果我的选择菜单有 3 个项目,并且我添加了第 4 个项目并尝试提交表单,drupal 将给出类似于“做出了非法选择,请联系管理员”的错误。

使用 ajax,您创建的第 4 个项目将保存到数据库中。所以我必须像这样写验证吗

还是有一种更简单的方法可以检查该项目是否确实存在于表单数组中?我希望有,因为没有 ajax,如果表单被操纵,drupal 将不会提交表单。谢谢。

编辑: 所以我的回调函数中基本上需要这个?

为了获得 $_POST['form_build_id'],我将它作为数据参数发送,对吗?在我使用 form_get_cache 的地方,看起来没有数据。现在有点迷路了。

0 投票
1 回答
1924 浏览

drupal - drupal表单覆盖主题功能

我创建了一个生成小表单的模块。我还制作了一个应该为表单设置主题的函数,覆盖标准主题。但是出于某种原因,它不调用 theme_ 函数。我忘记了什么吗?

0 投票
2 回答
8008 浏览

php - Drupal Form API 和 $form_state['storage'] 在页面刷新时被销毁

我有一个显示两个提交按钮的表单。第一个提交按钮将 $form_state['storage'] 设置为一个值。然后第二个提交按钮读取这个 $form_state['storage'] 值。如果设置了该值,则会显示成功消息。如果未设置该值,则会显示一条失败消息。

这是将重现我的问题的代码:

当您单击第一个提交按钮时, $form_state['storage'] 已正确设置。当您单击第二个提交按钮时,将显示消息“成功”。到目前为止,一切都很好。现在进行页面刷新。消息“失败!” 被展示。

所以一切正常,直到页面刷新。页面刷新本质上只是调用了第二个提交函数。理论上,$form_state['storage'] 应该仍然被填充并且显示的消息应该是“成功”。但是,查看 $form_state 转储显示在页面刷新后 $form_state['storage'] 为 NULL。我无法判断我的代码逻辑是否错误,或者是否在页面刷新时清除了 $form_state['storage']。

有任何想法吗?

谢谢你的帮助。

0 投票
2 回答
11372 浏览

php - Drupal 表单验证对我不起作用

我正在尝试修改一些 Drupal 6 表单代码并合并一些本机表单验证。代码看起来像这样,但验证不起作用。我什至从未进入 thisFormName_form_validate 函数。任何 Drupalians 有一些好主意吗?

0 投票
2 回答
2046 浏览

drupal - 自定义表单中的 Drupal Nodereference

我有一个自定义 Drupal FAPI 表单,它支持相当复杂的工作流,我想向它添加一个 Nodereference 字段。尽管我发现有人在自定义表单中包含了 Nodereference 字段,但我一直无法找到该字段的 FAPI 声明的任何示例(除了这个问题使用带有 Nodereference AHAH 回调的文本字段:Is it possible to自定义 drupal 节点引用并传递您的搜索和另一个字段的参数)。

那么:将 Nodereference 字段添加到自定义表单 (FAPI) 的最佳方式是什么?

额外的问题:是否有一种简单的方法可以在节点形式中允许多个值,例如 CCK 支持? CCK 节点中的多值节点引用字段

0 投票
1 回答
600 浏览

php - 需要一些关于 Drupal $form 值的提示

我让 dpm($form) 工作。好的!这是查看数据的更好方法。我仍在试图弄清楚东西的来源,例如:位置经度和纬度。“经度”这个词在 20 个不同的地方被引用。我认为这可能是隔离此输入字段的文本框的地方。dpm($form['#field_info']['field_store_latitude']['location_settings']['form']['fields']);

关于如何追踪单个输入元素的任何提示?


**这不是答案,而是对我的第一个问题的补充**

嗨 googletorp -

我正在尝试使用 hook_form_alter 修改现有表单。

经过几个小时的闲逛,我现在可以关闭表单的位置(经度/纬度)部分,如下所示:

未设置($form['field_store_latitude']);

但是,像这样关闭纬度不起作用:
unset($form['field_store_latitude']['0']['#location_settings']['form']['fields']['locpick']) ;

我找不到一种简单的方法来将 html 源代码中的 id 和名称与 Krumo 生成的数组链接起来。在这种情况下,id 称为“edit-field-store-latitude-0-locpick-user-latitude”。

我需要一个方法或指南来识别 Drupal 表单中的表单元素。


我想我确定了一个解决方案