我的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
)
答案 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]
中过滤了值。