在Drupal 6中创建一个节点/添加表单

时间:2010-01-16 21:35:33

标签: drupal-6

我的template.php文件中有一个语句,它指向自定义节点-myccktype.tpl.php。我添加了一些DIV,以便我可以有一个双列节点/添加表单,但现在我正在尝试找到打印我的字段,但似乎无法得到它。

我基本上使用这样的东西:

<?php print form_render($form['field_sr_minutes']); ?>

我在Drupal博客上遇到过,但是我接到了未定义函数“form_render”的调用

我正在使用var_dump来获取下面的数组,如何在不打印其他内容的情况下打印节点标题(主题)字段?这样我就可以将每个表单字段放在我想要的列中,而不是标准的垂直drupal表单。

Array
(
    [0] => Array
        (
            [#type] => textfield
            [#title] => Subject
            [#required] => 1
            [#default_value] => 
            [#maxlength] => 255
            [#weight] => -5
            [#post] => Array
                (
                )

            [#programmed] => 
            [#tree] => 
            [#parents] => Array
                (
                    [0] => title
                )

            [#array_parents] => Array
                (
                    [0] => title
                )

            [#processed] => 1
            [#description] => 
            [#attributes] => Array
                (
                )

            [#input] => 1
            [#size] => 60
            [#autocomplete_path] => 
            [#process] => Array
                (
                    [0] => form_expand_ahah
                )

            [#name] => title
            [#id] => edit-title
            [#value] => 
            [#defaults_loaded] => 1
            [#sorted] => 1
        )

1 个答案:

答案 0 :(得分:2)

对不起。由于你的.tpl文件名,我认为你试图主题一个节点视图。对于表单,正确的功能不是form_render,而是drupal_render。你基本上可以写echo drupal_render($form['field_sr_minutes'])之类的东西。最后,记得做一个drupal_render($form)来渲染你手工没有渲染的所有剩余的东西。这将需要使表单正常工作。

旧答案

  

node.tpl.php和其他内容   类型特定.tpl.php得到通过   $node中的完整节点对象。试着做   一个   drupal_set_message(print_r($node,TRUE))   在你的tpl文件之上。从那个你   可以找出确切的路径   您需要打印的值。

     

例如,节点的标题将是   可在$ node-&gt;标题中找到。不管你   应该小心,始终使用   check_plain如果你要去   打印用户提交的值。对于CCK   字段,你已经可以找到了   在$node-><field name>[0][view]中过滤了值。