问题标签 [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 投票
2 回答
7134 浏览

php - 如何在 Drupal 中为表单 API 按钮设置主题?

Drupal 的 Form API 的默认输出是:

我如何主题,所以我得到:

我需要内部跨度标签,所以我可以使用滑动门 CSS 技术。

我想我需要从 form.inc 覆盖 theme_button($element) 但到目前为止我的尝试没有成功。

0 投票
3 回答
2573 浏览

php - 在提交操作之前呈现 Drupal 表单

我有一个 Drupal 模块页面,我在其中填充了一个包含用户可以上传的一组文件的可用部分列表的下拉列表。一旦用户上传了某种类型的文件,它就会从列表中删除该选项,并且当所有可用文件都上传后,表单将不会被呈现。

问题是 Drupal 在执行提交操作之前正在绘制表单,因此在用户看来该操作在重新加载页面之前不起作用。

处理这种情况的常用方法是什么?将 form_state['redirect'] 设置为转到该页面似乎不起作用。

0 投票
3 回答
1554 浏览

php - Drupal 向导表单:验证和上一个按钮

在我的 drupal6 站点中,我有向导表单。我使用表单存储和重建属性使用 FormAPI 实现了它。我的表单验证是使用#required 属性和#element_validate 属性中的函数完成的。它工作正常,但一方面,当我单击上一个按钮时,表单正在被验证,我不希望它这样做。当单击表单的特定按钮时,是否有一种智能且正确的方法来禁用验证?

0 投票
2 回答
1974 浏览

drupal - 停止自定义提交按钮触发 CCK 表单上的表单验证

我使用 hook_form_alter 在 CCK 表单的字段组内添加了一个提交按钮,如下所示:

当我按下按钮时,完整表单的验证处理程序,例如。检查必填字段,就像我在表单末尾按下了“提交”按钮一样运行。

我认为将#name 属性从“op”更改为“searchwiki”可以防止这种混淆,但事实并非如此。

有谁知道这个的解决方法?

0 投票
1 回答
1265 浏览

php - Drupal Form-API:#field_prefix 不适用于文本字段

我正在尝试在文本字段上实现#field_prefix,以便可以在表单中添加一些额外的 UI。

我有一个模块,我正在执行其他类似这样的覆盖,其功能基本上如下所示:

这是文档,看起来很简单: http ://api.drupal.org/api/file/developer/topics/forms_api_reference.html/6#field_prefix

我已经重命名了我的主题以有效地禁用它 - 应该证明我没有任何其他会发生冲突的覆盖。

我错过了什么?

更新: 当#field_name 满足正确条件时,最终覆盖了theme_form_element 以手动插入我的前缀。感觉 hacky,但 text_textfield 根本不支持#field_prefix。

0 投票
1 回答
2940 浏览

drupal - 将信息从 Drupal Forms API 验证函数传递到提交函数

在我的 Drupal Forms API 表单验证函数中,我尝试从用户的信用卡中收取费用。如果成功,我想将参考号传递给提交函数,以便可以在那里使用。这样做的最佳方法是什么?

0 投票
3 回答
5621 浏览

drupal - 在 Drupal 中使用单个自定义表单创建多个 CCK 节点

我需要一个允许同时创建多个相关节点的表单。所有节点都涉及 CCK 字段。

我想尽可能/实用地使用 CCK 的内置验证、提交、输入小部件和安全功能。

在 Drupal 6 中完成此任务的最佳方法是什么?任何地方都有“最佳实践”或文档吗?

以下是我可以看到的 3 种可能性。我很想反馈这些是否可行,或者是否有更好的选择。

1.

  • 从内容类型 foo 的标准节点创建表单开始。
  • 通过添加内容类型栏的字段来修改表单,使用钩子 form_alter [可以直接插入内容类型栏的 cck 小部件吗?]
  • 提交表单时使用自定义提交处理程序创建 bar 类型的节点[可以调用标准 cck 处理程序吗?还是我需要“手动”构造节点对象,进行自己的验证并使用 node_save?]

2.

  • 创建一个新的自定义表单,用于连接相关内容类型的“正常”节点创建表单。
  • 然后根据需要使用钩子 form_alter 修改表单。
  • 允许标准的 cck 提交处理程序来完成创建节点的工作。

3.

  • 从头开始创建自定义表单
  • 在我自己的提交处理程序中创建节点,使用节点准备、节点保存等。

如果找到关于重用标准节点创建表单的文档,但没有提到同时创建多个节点。

advomatic 网站上的一篇文章中记录了使用钩子 nodeapi 和钩子 form_alter,但特定方法 descube 似乎需要使用“虚拟”字段污染其中一种内容类型。

非常感谢您的帮助!

0 投票
2 回答
2922 浏览

drupal - 如何向 Drupal 5 表单添加两个提交按钮?

我的表单上有两个提交按钮。一个是调用 `my_form_submit` 的普通提交按钮,例如:

我想添加另一个按钮来提交表单,但调用不同的提交处理程序。有没有办法做到这一点?我已经研究过将#submit属性添加到像啊这样的元素:

希望调用 `steal_formula_for_icantbeliveitsnotbutter` 函数但没有用。当我点击大红色按钮时,会调用正常的 `my_form_submit` 函数,这阻碍了我从黄油替代品中赚取数百万美元的计划。谁能解开这个黑暗的烂摊子?

0 投票
4 回答
3188 浏览

drupal - Drupal 6将变量从表单传递到内容,如何?

我用这个简单的形式创建了一个 BLOCK(左)。现在我想在 PAGE(中心)上处理和显示结果我该怎么做?

输入:

我想要的输出:

这是我编写和工作的一个块。

现在我需要显示输出:)。

请不要建议使用 VIEWS 或任何其他插件。

我想从内到外学习 Drupal。不是相反;)

0 投票
2 回答
17370 浏览

drupal - 如何在 Drupal 中覆盖表单操作?

我最初在另一个线程中开始了这个问题,但是那个线程有点,有点回答,现在我主要想知道如何指定另一个表单动作......我尝试使用下面的代码,但是表单动作在输出时仍然存在没有改变,虽然看着print_r($form),它正确地改变了......为什么它没有回升?