将 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 及其链接提供支持?

    我正在 Drupal 上工作 我想知道如何更改由 Drupal 提供支持的页脚文本以及为其提供的链接 我想要 版权所有 2012 我的网站名称 保留所有权利 我无法得到它 任何人都可以帮助我 只需转到 结构 gt 块 gt 添加块 将块标题
  • Drupal 在视图中返回结果数

    我在 Drupal 中有一个视图可以过滤我的内容 它带回 7 行 我想要返回的只是返回的数字或结果 7 这可能吗 我尝试使用查看结果计数器 但它为每个结果返回一个数字 1 2 3 4 5 6 7 我只需要第七部分 所以在 SQL 中我会执行
  • 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
  • 如何在JQuery中选择除单击元素之外的所有类?

    我有一个在 Drupal 上开发的网站 我使用一个名为 collapsiblock 的模块 它基本上是一个 JQuery 插件 来实现类似手风琴的效果 它对我来说工作得很好 尽管它还处于测试阶段 但我想修改它 以便当用户单击手风琴的一项时
  • Drupal 6模块安装文件未在数据库中创建表

    我正在使用 Schema API 在 Drupa 6 17 上为我的模块创建表 但这些表并未在数据库中创建 我安装了架构模块 它告诉我 虽然我的模块的架构被识别 但它的表不在数据库中 它出现在 缺失 下 Tables in the sche
  • 使用 Drupal 中的外部身份存储库验证注册数据

    当我的用户尝试注册时 我想通过检查外部身份存储库 例如调用 Web 服务或查找目录服务器 来确保他的信息有效 任何现有模块都可以实现这一点吗 如果没有 开发此功能的最佳方法是什么 我不知道现有模块允许添加自定义验证 但使用 验证 操作来实现
  • Drupal 7:菜单结构层次结构中的 Pathauto 模式

    我正在尝试创建一个 Pathauto 模式 它看起来像 Drupal root parent menu item name node title 其中 node title 是菜单层次结构中 parent menu item name 的子
  • 更改 Drupal 中的节点创建标题?

    假设我有一个名为 产品 的节点 当我创建这样的节点时 它将始终显示 创建产品 作为节点的标题 创建节点时如何更改此标题 你的意思是你有一个内容类型 http drupal org node 21947 产品 创建 产品 类型的节点时的 创建
  • 将图像添加到 html 块中

    我在 Blocks 内容中添加了一些 html 代码并启用了完整 HTML 过滤器 我对图像使用了相对路径 例如 sites all themes zen zen image png 我想这是不正确的 因为我需要根据我在主页或 node i
  • 用户名作为路径

    我希望将用户名作为 URL 的一部分 例如mysite com 用户名 这应该重定向到用户配置文件 我用简介2 http drupal org project profile2 and Pathauto http drupal org pr
  • CSS 隐藏输入按钮值文本

    我目前正在设计一个
  • 仅打印 drupal field_view_field 值

    我使用下面的代码将节点字段打印到特定区域 效果很好 但有一个例子 我只想打印没有标签的字段值 看起来应该很容易 但我遇到了一些麻烦 我很感激任何帮助 因为我对 drupal 还很陌生 谢谢 field view value 需要一个 dis
  • Drupal 6 无法构建菜单路由器和链接

    当我在 Drupal 中启用新菜单 例如 mymodule 时 Drupal 应该能够从 mymodule menu hook menu 获取菜单项 处理这些菜单项并将菜单项插入到 menu router 和 menu links 表中 然
  • 如何解决“无法加载PEM客户端证书,OpenSSL错误:02001003:系统库:fopen:没有这样的进程”错误?

    如果这个问题很愚蠢 请原谅 但我是这个领域的新手 我需要通过 SSL 从 Drupal 7 站点连接到服务 我有一个扩展名为 p12 的文件及其密码 另外 我使用 PHP 7 1 1 和 Windows 7 64x 我使用以下命令将 p12
  • 将自定义模块创建的内容添加到 drupal 搜索索引中

    我开发了一个模块 可以在不使用 CCK 的情况下为我的网站创建内容 数据将保存在Drupal默认表之外的不同表中 我的要求是 如何让 Drupal 索引我的自定义模块创建的内容 你必须实施钩子搜索 http api drupal org a
  • 在 Drupal 中选择性地删除页面的样式表

    我正在尝试为首页制作不同的布局 在此过程中 我声明了名为 front page css 和 page front tpl php 的新样式表 我正在使用加载responsive sidebar css 的 Zen 子主题 我想删除 resp
  • Drupal 8 图像与图像样式

    在drupal 7中 我使用函数image style url style uri 生成具有样式的新图像并返回图像的路径 那么在 drupal 8 中会用什么来代替它呢 谢谢 Per the 变更记录 https www drupal or
  • 是否可以自定义 drupal 节点引用并传递您的搜索和来自另一个字段的参数

    我正在尝试在 drupal 中创建一个带有节点引用字段的定制表单 我想为节点引用自动完成添加一些额外的功能 我创建了一个视图 其中包含一个参数 我希望能够将下拉列表中的参数以及键入的文本传递到自动完成脚本中 有谁知道我该如何开始 FIELD
  • 如何在drupal中获取内容类型的字段值

    如何获取自定义内容类型的字段值 我使用 CCK 模块创建了自定义内容类型 是否有任何函数可以获取特定内容类型的字段数组 例如 我可以使用 content profile load 函数获取个人资料详细信息 有没有类似这个的功能 如果您正在查
  • Drupal 或 OSCommerce 中的定制产品?

    我看过高低 我想我没有在寻找正确的东西 我想知道 drupal 或 oscommerce 的模块或插件可以让您 构建自己的产品 IE 客户可以访问该网站 并说他想要 PC A 具有 X 容量的 RAM 和 Z 大小的硬盘等 是否有 osco

随机推荐