【问题标题】:Render drupal field widget in custom page在自定义页面中渲染 drupal 字段小部件
【发布时间】:2012-05-28 15:55:31
【问题描述】:

我的模块名为 mymodule。

在 mymodule.module 我有:

function mymodule_menu() {
    $items['mymodule/ship/%node'] = array(
        'title' => t('Shipment details'),
        'page callback' => '_mymodule_addr',
        'page arguments' => array(2),
        'access callback' => TRUE,
        'type' => MENU_VISIBLE_IN_BREADCRUMB,
        'weight' => 0,  
    );
    return $items;
}

我想在页面内呈现地址字段小部件。然后我想读取表单值。 你能帮帮我吗?

【问题讨论】:

  • 我是 drupal 开发人员,请给我更多关于您想要做什么的信息?
  • 我希望用户将地址添加到节点,但不在编辑表单中。我想以编程方式使用自定义页面来呈现表单并保存信息。我现在可以使用面板,但我想对其进行编程。
  • 这意味着你想以编程方式保存节点路径?
  • 没有。我已经保存了我的节点,但没有地址字段。现在,我想问用户他的地址并更新我的节点。我想在页面中呈现小部件“地址字段”的标准形式。
  • 这与我的需求非常相似:drupal.stackexchange.com/questions/25140/…

标签: php drupal-7 widget field


【解决方案1】:

如何使用 Field API:

在你的回调函数中使用:

$node = node_load($parameter);
$my_field_value = '<front>';
$my_field_items = field_get_items('node', $node, 'field_my_field');
  if ($my_field_items) {
    $my_field_first_item = reset($my_field_items);
    $my_field_value = $my_field_first_item['value'];
}

return l($my_field_value, 'Link name');

看看:Drupal Field API 并找到适合您的功能。

也位于:Drupal Examples 是一些您可能会使用的有用示例。

至少,不要忘记您可以在主题中使用自定义 .tpl 文件,您可以在其中将自定义标记添加到您的字段中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多