【问题标题】:hook_nodeapi() - How to order additional fieldshook_nodeapi() - 如何订购附加字段
【发布时间】:2010-08-13 10:07:00
【问题描述】:

我使用 hook_nodeapi 将我的自定义字段添加到节点类型

$node->content['my_new_field'] = array(
  '#value' => $content,
);

但是,新字段仅出现在内容的末尾。无论如何我可以选择一个地方来展示它吗?例如:在标题和正文之间。

由于某种原因,我将无法使用 CCK,我想以编程方式进行。 提前致谢

【问题讨论】:

    标签: drupal drupal-6


    【解决方案1】:

    有一个东西叫weight。如果您查看来自API docs 的代码,您将看到它应该如何工作。较小的数字出现在较大的数字之前。

    所以你可以做类似的事情

    $node->content['my_new_field'] = array(
       '#value' => $content,
       '#weight' => 5, //play with the values until you are happy with the output
     );
    

    【讨论】:

    • 如果您实现 CCK 的 hook_content_extra_fields(),您将能够使用 CCK 的拖放重新排序来覆盖此处指定的权重。如果您还将 CCK 字段用于其他内容,这是一个很好的技巧。
    • 听起来他没有使用 CCK
    【解决方案2】:

    难道您不能实现 hook_load 来将节点对象附加到您的自定义字段:

    http://api.drupal.org/api/function/hook_load/6

    然后您可以在 node-customtype.tpl.php 中随意设置主题。只是一个想法。

    【讨论】:

    • 我认为这对我来说需要太多的工作......我不想添加新模板只是为了重新排序字段
    猜你喜欢
    • 2011-02-23
    • 2023-04-07
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2020-08-30
    • 2011-06-08
    • 2018-08-09
    相关资源
    最近更新 更多