2011-04-13 128 views
1

编辑注释时,注释将单独显示,不包含其关联节点。我发现没有解决方案来显示评论编辑表单和同一页面上的节点。创建新评论时,我可以将Drupal配置为在同一页面上显示。我想到 通过模板文件修改评论表单,并将节点包含到此模板文件中,但我认为,这是一个丑陋而困难的解决方案。编辑注释时显示节点

先感谢您的任何提示,格雷戈尔Hyneck

回答

2

你不能将它配置为这样。但是,如果你愿意创建一个模块,所需要的代码很简单:

showcomment_form_alter(&$form, &$form_state, $form_id) { 
    if ($form_id == "comment_form") { #you might want to make this test smarter, to avoid admin-interface and general comment-form from changing. 
    $form['node_preview'] = array(
     '#type' => 'markup', 
     '#markup' => theme('node', $form['#node']), 
    ); 
    } 
} 

很显然,你的产品代码将需要一些额外的测试,以避免呈现每个注释的形式节点。你可能不想要通用的theme_node,而是一个自定义的,只渲染节点的主要内容(title + teaser左右)。

+0

非常感谢@berkes,很好!我已经有一个模块,但没有太多的主题经验。我只需要将主题('node',$ form ['#node'])改为drupal_render(node_view($ form ['#node'],'full')) – user705898 2011-04-13 15:04:28