将 CCK 字段添加到 Drupal 7 中的自定义表单

2024-03-07

Drupal 6 中有一种使用 CCK 的方法可以在我们的自定义表单中附加 CCK 字段,例如:

$field = content_fields('field_name');  // field_name is cck field
(text_field,text_Area,image_field anything.)
$form['#field_info'][$name] = $field;
$form += content_field_form($form, $form_state, $field);

如何在 Drupal 7 中实现相同的功能?我有一个表单,我想使用为内容类型创建的字段。我浏览了所有文件field.module但找不到任何东西。里面有类似的功能_attach_field, field_info_Field and field_info_instance,但它们不能呈现为表单字段。


我喜欢您添加整个表单并取消设置的解决方案。我从另一个角度攻击它——创建一个一次性的临时表单并仅复制您希望保留的字段。这是我发布的内容http://api.drupal.org/api/drupal/modules%21field%21field.attach.inc/function/field_attach_form/7#comment-45908 http://api.drupal.org/api/drupal/modules%21field%21field.attach.inc/function/field_attach_form/7#comment-45908:

要将任意实体包(在本例中为自动完成节点引用文本字段)中的单个字段添加到另一个表单上,请将该表单创建为临时表单和表单状态,然后复制以放置该字段定义。就我而言,我正在修改商业结帐表格:

function example_form_commerce_checkout_form_checkout_alter(&$form, &$form_state, $form_id) {
  $tmpform = array();
  $tmpform_state = array();
  $tmpnode = new stdClass();
  $tmpnode->type = 'card';
  // Create the temporary form/state by reference
  field_attach_form('node', $tmpnode, $tmpform, $tmpform_state);
  // Create a new fieldset on the Commerce checkout form
  $form['cart_contents']['org_ref_wrap'] = array(
    '#type' => 'fieldset',
    '#title' => t('Support Organization'),
  );
  // Place a copy of the new form field within the new fieldset
  $form['cart_contents']['org_ref_wrap'][] = $tmpform['field_card_organization'];
  // Copy over the $form_state field element as well to avoid Undefined index notices
  $form_state['field']['field_card_organization'] = $tmpform_state['field']['field_card_organization'];

  ..

任一解决方案的优点可能取决于“源”表单的复杂性(太复杂意味着表单插入方法有很多未设置)以及源表单是否会随着时间的推移接收新字段(新字段将显示在表单插入方法中的“目标”表单)。

感谢您分享您的解决方案!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 CCK 字段添加到 Drupal 7 中的自定义表单 的相关文章

  • 将 Drupal 用户帐户导入 Rails,无需用户更改密码

    我想将一系列 Drupal 用户帐户导入到new铁轨项目 我正在使用 Devise 在 Rails 中进行用户身份验证 我希望能够将加密密码从 Drupal 导入到 Rails 中 以便用户在网站迁移时获得无缝体验 关于如何做到这一点有什么
  • Safari 5.1 打破 CSS 表格单元格间距

    在更新到 Safari 5 1 之前 我的网站在所有主要浏览器上都运行良好 现在 主要导航已失效 我正在使用display table cell在列表元素内的锚元素上 并且还使用了font size 0hack 删除菜单元素之间的间距 有其
  • 有关 ajax 回调和 drupal_process_form 的帮助

    我有一个通过仅在视图模式下显示的 nodeapi 添加的表单 用户可以从选择菜单中选择一个项目 他们的选择将通过发生更改时的 hook menu 回调自动保存到数据库中 如果用户禁用了 javascript 它将使用表单 api 正常提交
  • 为什么我的 Drupal 8 CORS 设置不起作用?

    从 Drupal 8 2 开始 cors 设置位于核心位置 在我的services yml and default services yml 我有以下设置 cors config enabled true Specify allowed h
  • Drupal 7在自定义主题中覆盖jquery js文件

    是否可以重写 覆盖自定义模板脚本变量中使用的默认 Drupal 7 26 jquery 我的意思是js文件之一 通过自定义主题来的一个 我试过这个sites all MYTPL template php但它不起作用 scripts misc
  • Postgres SSL 错误

    我正在尝试通过 SSH 和 drush 命令行 shell 运行 Drupal 迁移 将数据从 postgres 数据库复制到 mysql 它工作正常一段时间 大约 5 分钟左右 但随后我收到错误 SQLSTATE HY000 Genera
  • 通过 Drupal 执行查询时 Apache Solr 结果不同 – 为什么?

    我正在尝试创建一个自定义搜索界面阿帕奇 索尔 http lucene apache org solr using Drupal http drupal org 我对结果有一些奇怪的问题 当我从 Solr 的内置 Web 界面运行它时 相同的
  • Drupal 7中用户的图片存储在哪里?

    我正在使用 SelectQuery 对象来检索和显示用户列表 但我不知道从哪里获取用户的图片 users 表有一列名为 picture 但其中的数据只是一个整数 图片是否存储在某个 blob 字段中 或者是否存在指向另一个表中图片的链接 图
  • drupal alter节点编辑表单

    如何将自定义配置区域添加到节点编辑表单正下方创作信息 发布选项部分 您可以使用hook form FORM ID alter http api drupal org api drupal modules 21system 21system
  • Drupal 节点揭秘

    我是 Drupal 的新手 希望了解这个平台的工作原理 具体来说 我对 Node 对象感到困惑 这是什么东西 Content Type是怎么进来的 看起来整个 Drupal 就是节点 节点 节点 很想听听您的见解 当您第一次接触 Drupa
  • 每次服务器重新启动后 MySQL 都会损坏

    我有一个有点奇怪的问题 我在 Windows 环境中运行 MySQL 和 Drupal 站点 不是出于选择 但这就是事情的结果 大多数时候该站点都很好 但是每次服务器重新启动 从更新或维护 时数据库将损坏 当我登录 MySQL Work b
  • Drupal 中表的节点引用

    I have Drupal with CCK I have a content type named Article This Article has 5 Node references I m using the table field
  • Drupal 7 视图按动态分类术语过滤

    我有几个页面 服务 每个页面都有自己的分类术语 我想在底部添加一个视图 它应该包含与主节点 服务 具有相同术语的所有节点 引用 可以通过视图来完成吗 Read something about and tried contextual fil
  • 将图像添加到 html 块中

    我在 Blocks 内容中添加了一些 html 代码并启用了完整 HTML 过滤器 我对图像使用了相对路径 例如 sites all themes zen zen image png 我想这是不正确的 因为我需要根据我在主页或 node i
  • 在views_query_alter()中将表连接、位置和排序依据添加到视图查询中

    我正在尝试修改 Drupal 中视图的查询 视图版本 3 Drupal 版本 7 我想要做的是在运行之前更改查询 以便它左连接一个表 在该表中我为节点分配了权重 如果我用 SQL 编写我想要的查询 它将如下所示 SELECT a nid a
  • CSS 隐藏输入按钮值文本

    我目前正在设计一个
  • 是否可以使用 Drupal api 获取用户列表?

    我想获取已分配特定角色的所有用户的列表 我可以编写自己的 SQL 但我想尽可能多地使用 api 您可以使用entity load来获取用户数组 这是将为管理员用户创建所有电子邮件列表的示例 用于发送通知
  • 如何以编程方式创建论坛主题?

    我刚刚通过以下链接了解了如何以编程方式创建论坛和容器 http www unibia com unibianet drupal how create drupal forums and containers programmatically
  • Drupal 视图 - 自定义/修改 SQL

    我遇到了 配置文件复选框 模块的问题 该模块存储以逗号分隔的自定义配置文件字段 问题是我是否创建一个视图来按值过滤 SQL 结果最终是这样的 AND profile values profile interests value in Bus
  • Drupal 6 无法构建菜单路由器和链接

    当我在 Drupal 中启用新菜单 例如 mymodule 时 Drupal 应该能够从 mymodule menu hook menu 获取菜单项 处理这些菜单项并将菜单项插入到 menu router 和 menu links 表中 然

随机推荐